TESTING/LIN/chet01_3.f(3)
π TESTING/LIN/chet01_3.f(3) π
okay so bestie, this is the Library Functions Manual page for TESTING/LIN/chet01_3.f(3). It's a LAPACK testing subroutine situation and we are obsessed. No cap.
πΈ NAME πΈ
TESTING/LIN/chet01_3.f β that's the file name, that's the whole name, periodt.
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine chet01_3 (uplo, n, a, lda, afac, ldafac, e, ipiv, c, ldc,
rwork, resid)
CHET01_3
π¦ Function/Subroutine Documentation π¦
Here's the full signature, copied exactly because we do not mess with source code:
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 π―
The !> block is literally the main character, so here it is verbatim:
!>
!> 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.
!>
So yes: it 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. Iconic. π
π Parameters π
UPLOβUPLO is CHARACTER*1. It specifies whether the upper or lower triangular part of the Hermitian matrixAis stored:= 'U': Upper triangular,= 'L': Lower triangular.NβN is INTEGER. The number of rows and columns of the matrixA.N >= 0.AβA is COMPLEX*16 array, dimension (LDA,N). The original Hermitian matrixA.LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).AFACβAFAC is COMPLEX array, dimension (LDAFAC,N). Diagonal of the block diagonal matrixDand factorsUorLas computed byCHETRF_RKandCHETRF_BK:- a) ONLY diagonal elements of the Hermitian block diagonal matrix
Don the diagonal ofA, i.e.D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements ofDshould be provided on entry in arrayE), and - b) If
UPLO = 'U': factorUin the superdiagonal part ofA. IfUPLO = 'L': factorLin the subdiagonal part ofA.
- a) ONLY diagonal elements of the Hermitian block diagonal matrix
LDAFACβLDAFAC is INTEGER. The leading dimension of the arrayAFAC.LDAFAC >= max(1,N).EβE is COMPLEX array, dimension (N). On entry, contains the superdiagonal (or subdiagonal) elements of the Hermitian block diagonal matrixDwith 1-by-1 or 2-by-2 diagonal blocks, where IfUPLO = 'U':E(i) = D(i-1,i),i=2:N,E(1)not referenced; IfUPLO = 'L':E(i) = D(i+1,i),i=1:N-1,E(N)not referenced.IPIVβIPIV is INTEGER array, dimension (N). The pivot indices fromCHETRF_RK(orCHETRF_BK).CβC is COMPLEX array, dimension (LDC,N).LDCβLDC is INTEGER. The leading dimension of the arrayC.LDC >= max(1,N).RWORKβRWORK is REAL array, dimension (N).RESIDβRESID is REAL. IfUPLO = 'L',norm(L*D*L' - A) / ( N * norm(A) * EPS ); IfUPLO = 'U',norm(U*D*U' - A) / ( N * norm(A) * EPS ).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 139 of file chet01_3.f.
πͺ Author πͺ
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, that's the whole page. source/version: LAPACK Version 3.12.0; page: TESTING/LIN/chet01_3.f(3); date: not listed in the original footer, so we're not inventing one π. slay, stay Hermitian π
β¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms