CHET01_3(3)
π CHET01_3(3) β like, the chet01_3.f manual page, bestie π
okay so this is the manual page for /home/abui.../chet01_3.f(3) β yes that's the header, we're folding it in, don't @ me β and it lives in the Library Functions Manual section, and honestly? it's giving LAPACK test-suite main character energy. let's get into it π«Ά
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/chet01_3.f
like, that's the whole name. it's a whole path. she's extra but she's iconic π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine CHET01_3 (uplo, n, a, lda, afac, ldafac, e, ipiv, c, ldc,
rwork, resid)
CHET01_3 β that's her π
π¦ Function/Subroutine Documentation π¦
subroutine CHET01_3 (character uplo, integer n, complex, dimension( lda, * )
a, integer lda, complex, dimension( ldafac, * ) afac, integer ldafac,
complex, dimension( * ) e, integer, dimension( * ) ipiv, complex,
dimension( ldc, * ) c, integer ldc, real, dimension( * ) rwork, real
resid)
CHET01_3
π Purpose π
!>!> CHET01_3 reconstructs a Hermitian indefinite matrix A from its!> block L*D*L' or U*D*U' factorization computed by CHETRF_RK!> (or CHETRF_BK) and computes the residual!> norm( C - A ) / ( N * norm(A) * EPS ),!> where C is the reconstructed matrix and EPS is the machine epsilon.!>
no cap, that's the whole vibe: rebuild A from the L*D*L' or U*D*U' factorization that CHETRF_RK (or CHETRF_BK) gave you, then check how far C drifted from A with that residual formula. slay π§
π Parameters π
UPLO
!> UPLO is CHARACTER*1!> Specifies whether the upper or lower triangular part of the!> Hermitian matrix A is stored:!> = 'U': Upper triangular!> = 'L': Lower triangular!>
character of length one, and she picks which triangle of A we're storing β 'U' for upper, 'L' for lower. π«
N
!> N is INTEGER!> The number of rows and columns of the matrix A. N >= 0.!>
integer, rows and columns of A (square, obviously), and N >= 0. periodt.
A
!> A is COMPLEX*16 array, dimension (LDA,N)!> The original Hermitian matrix A.!>
COMPLEX*16 array, dimension (LDA,N) β this is the original Hermitian matrix A, before anything got factored. the before picture πΈ
LDA
!> LDA is INTEGER!> The leading dimension of the array A. LDA >= max(1,N)!>
the leading dimension of A, and she requires LDA >= max(1,N). respect the constraint bestie π€
AFAC
!> AFAC is COMPLEX array, dimension (LDAFAC,N)!> Diagonal of the block diagonal matrix D and factors U or L!> as computed by CHETRF_RK and CHETRF_BK:!> a) ONLY diagonal elements of the Hermitian block diagonal!> matrix D on the diagonal of A, i.e. D(k,k) = A(k,k);!> (superdiagonal (or subdiagonal) elements of D!> should be provided on entry in array E), and!> b) If UPLO = 'U': factor U in the superdiagonal part of A.!> If UPLO = 'L': factor L in the subdiagonal part of A.!>
COMPLEX array, dimension (LDAFAC,N), and she's carrying the diagonal of the block diagonal matrix D plus the factors U or L, exactly as CHETRF_RK and CHETRF_BK computed them. two little sub-points, don't skip 'em:
- a) ONLY the diagonal elements of the Hermitian block diagonal matrix
Dgo on the diagonal ofA, i.e.D(k,k) = A(k,k); the superdiagonal (or subdiagonal) elements ofDshould be provided on entry in arrayE, okay? don't mix them up π - b) if
UPLO = 'U': factorUin the superdiagonal part ofA. ifUPLO = 'L': factorLin the subdiagonal part ofA.
LDAFAC
!> LDAFAC is INTEGER!> The leading dimension of the array AFAC.!> LDAFAC >= max(1,N).!>
integer, leading dimension of AFAC, and LDAFAC >= max(1,N). she said boundaries π
E
!> E is COMPLEX array, dimension (N)!> On entry, contains the superdiagonal (or subdiagonal)!> elements of the Hermitian block diagonal matrix D!> with 1-by-1 or 2-by-2 diagonal blocks, where!> If UPLO = 'U': E(i) = D(i-1,i),i=2:N, E(1) not referenced;!> If UPLO = 'L': E(i) = D(i+1,i),i=1:N-1, E(N) not referenced.!>
COMPLEX array, dimension (N). on entry she holds the superdiagonal (or subdiagonal) elements of the Hermitian block diagonal matrix D with 1-by-1 or 2-by-2 diagonal blocks, and the indexing goes like:
- if
UPLO = 'U':E(i) = D(i-1,i),i=2:N,E(1)not referenced; - if
UPLO = 'L':E(i) = D(i+1,i),i=1:N-1,E(N)not referenced.
not E(1) and not E(N) β one of them just doesn't get invited to the function, depending on UPLO π
IPIV
!> IPIV is INTEGER array, dimension (N)!> The pivot indices from CHETRF_RK (or CHETRF_BK).!>
INTEGER array, dimension (N) β the pivot indices straight from CHETRF_RK (or CHETRF_BK). the receipts π₯
C
!> C is COMPLEX array, dimension (LDC,N)!>
COMPLEX array, dimension (LDC,N). that's it. that's the note. she's mysterious like that β¨
LDC
!> LDC is INTEGER!> The leading dimension of the array C. LDC >= max(1,N).!>
integer, leading dimension of C, and yes: LDC >= max(1,N) π
RWORK
!> RWORK is REAL array, dimension (N)!>
REAL array, dimension (N). real ones only π
RESID
!> RESID is REAL!> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS )!> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS )!>
REAL, and this is the actual tea β the residual:
- if
UPLO = 'L':norm(L*D*L' - A) / ( N * norm(A) * EPS ) - if
UPLO = 'U':norm(U*D*U' - A) / ( N * norm(A) * EPS )
lowkey the most important number in the whole page ngl π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad co-signed this one π«Ά
π Definition at line 139 of file chet01_3.f π
like, line 139, file chet01_3.f. iykyk β
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
(not a human, a robot did this, and honestly she ate π€β¨)
and that's the whole page, bestie β no notes, no skipped options, nothing dropped. π
πΈ cute little sign-off: this is LAPACK, Version 3.12.0, and the footer path/date situation is /home/abui.../chet01_3.f(3). bye bestie, go reconstruct some Hermitian matrices π
ππ¦
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms