SRC/zhecon_3.f(3)
π NAME π
SRC/zhecon_3.f β okay bestie, this is the LAPACK Library Functions Manual page for the zhecon_3 subroutine (yep, the SRC/zhecon_3.f(3) one, iykyk). Itβs giving βestimate the reciprocal condition number of a complex Hermitian matrixβ energy, and honestly? iconic. π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine zhecon_3 (uplo, n, a, lda, e, ipiv, anorm, rcond, work, info)β the main character, akaZHECON_3. Slay.
π¦ Function/Subroutine Documentation π¦
Hereβs the full signature, bestie β keep it exactly as-is, no cap:
subroutine zhecon_3 (character uplo, integer n, complex*16, dimension( lda,
* ) a, integer lda, complex*16, dimension( * ) e, integer, dimension( *
) ipiv, double precision anorm, double precision rcond, complex*16,
dimension( * ) work, integer info)
ZHECON_3 β thatβs the name, periodt. π
π Purpose π
ZHECON_3 estimates the reciprocal of the condition number (in the 1-norm) of a complex Hermitian matrix A using the factorization computed by ZHETRF_RK or ZHETRF_BK:
A = P*U*D*(U**H)*(P**T) or A = P*L*D*(L**H)*(P**T),
where U (or L) is unit upper (or lower) triangular matrix, U**H (or L**H) is the conjugate of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.
An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). This routine uses BLAS3 solver ZHETRS_3. Obsessed with the efficiency, honestly. β¨
πΈ Parameters πΈ
UPLOβUPLOisCHARACTER*1. Specifies whether the details of the factorization are stored as an upper or lower triangular matrix:'U': Upper triangular, form isA = P*U*D*(U**H)*(P**T);'L': Lower triangular, form isA = P*L*D*(L**H)*(P**T).
NβNisINTEGER. The order of the matrixA.N >= 0.AβAisCOMPLEX*16 array, dimension (LDA,N). Diagonal of the block diagonal matrixDand factorsUorLas computed byZHETRF_RKandZHETRF_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
LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,N).EβEisCOMPLEX*16 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:- 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.
- If
NOTE: For 1-by-1 diagonal block D(k), where 1 <= k <= N, the element E(k) is not referenced in both UPLO = 'U' or UPLO = 'L' cases.
IPIVβIPIVisINTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined byZHETRF_RKorZHETRF_BK.ANORMβANORMisDOUBLE PRECISION. The 1-norm of the original matrixA.RCONDβRCONDisDOUBLE PRECISION. The reciprocal of the condition number of the matrixA, computed asRCOND = 1/(ANORM * AINVNM), whereAINVNMis an estimate of the 1-norm ofinv(A)computed in this routine.WORKβWORKisCOMPLEX*16 array, dimension (2*N).INFOβINFOisINTEGER.= 0: successful exit< 0: ifINFO = -i, thei-th argument had an illegal value
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π«Ά Contributors π«Ά
- June 2017, Igor Kozachenko, Computer Science Division, University of California, Berkeley
- September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
β Definition at line 164 of file zhecon_3.f. β
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
Okay bestie, thatβs the whole page π β from the LAPACK manual, Version 3.12.0, and the footer-y bit is SRC/zhecon_3.f(3). Periodt. π
π¦ 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