CHET01_ROOK(3)
πΈ NAME πΈ
hey bestie π welcome to the Library Functions Manual page for TESTING/LIN/chet01_rook.f β the file that brings you CHET01_ROOK. yes, we're in testing/LIN land, and this one is lowkey iconic for matrix reconstruction vibes β¨
β¨ SYNOPSIS β¨
π«Ά Functions/Subroutines
subroutine chet01_rook (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid)β that's theCHET01_ROOKsubroutine, bestie π
π Function/Subroutine Documentation π
okay so here's the exact signature, no cap:
subroutine chet01_rook (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc,
rwork, resid)
and the full declaration is giving very much Fortran realness:
subroutine chet01_rook (character uplo, integer n, complex, dimension( lda,
* ) a, integer lda, complex, dimension( ldafac, * ) afac, integer
ldafac, integer, dimension( * ) ipiv, complex, dimension( ldc, * ) c,
integer ldc, real, dimension( * ) rwork, real resid)
this subroutine is literally called CHET01_ROOK π
π― Purpose
CHET01_ROOK reconstructs a complex Hermitian indefinite matrix A from its block L*D*L' or U*D*U' factorization and computes the residual:
norm( C - A ) / ( N * norm(A) * EPS ),
where C is the reconstructed matrix, EPS is the machine epsilon, L' is the transpose of L, and U' is the transpose of U. periodt β¨
π§ Parameters
UPLOβUPLO is CHARACTER*1. it tells you whether the upper or lower triangular part of the complex Hermitian matrixAis stored:
= 'U': Upper triangular
= 'L': Lower triangular
NβN is INTEGER. the number of rows and columns of the matrixA. must beN >= 0πAβA is COMPLEX array, dimension (LDA,N). it's the original complex Hermitian matrixA, the main character of this whole situation πLDAβLDA is INTEGER. the leading dimension of the arrayA. must beLDA >= max(1,N)πAFACβAFAC is COMPLEX array, dimension (LDAFAC,N). this is the factored form of the matrixA.AFACcontains the block diagonal matrixDand the multipliers used to obtain the factorLorUfrom the blockL*D*L'orU*D*U'factorization as computed byCSYTRF_ROOKπ₯LDAFACβLDAFAC is INTEGER. the leading dimension of the arrayAFAC. must beLDAFAC >= max(1,N).πIPIVβIPIV is INTEGER array, dimension (N). the pivot indices fromCSYTRF_ROOK, slay πCβC is COMPLEX array, dimension (LDC,N). that's it, that's the whole description, bestie π«ΆLDCβLDC is INTEGER. the leading dimension of the arrayC. must beLDC >= max(1,N).πRWORKβRWORK is REAL array, dimension (N). real array energy β¨RESIDβRESID is REAL. here's the conditional tea:
If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS )
If UPLO = '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 123 of file chet01_rook.f. iconic π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. no notes, it's giving auto-generated excellence π§ββοΈ
mwah π β cute little sign-off: this page is from LAPACK Version 3.12.0, and the footer source string is TESTING/LI...et01_rook.f(3). periodt, bye bestie πβ¨
π¦ 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