ZSYCON(3)
π¦ ZSYCON(3) β Library Functions Manual π¦
Okay bestie, so this page lives in the Library Functions Manual and it's literally the doc for /home/abui...RC/zsycon.f(3). Buckle up, we're getting into some LAPACK lore π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zsycon.f
Yep, that's the whole name. It's a .f file, she's a Fortran girlie, and that's the entire vibe. π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine ZSYCON (uplo, n, a, lda, ipiv, anorm, rcond, work, info)
ZSYCON β that's her name, don't wear it out β¨
π Function/Subroutine Documentation π
subroutine ZSYCON (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision anorm, double precision rcond, complex*16, dimension( * ) work, integer info)
ZSYCON π (yes, again, it's giving full government name energy)
π§ Purpose:
!> ZSYCON estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization A = U*D*UT or A = L*D*LT computed by ZSYTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
So like, fr fr, ZSYCON takes your complex symmetric matrix A, which you already factored with ZSYTRF into either A = U*D*U**T or A = L*D*L**T, and it estimates the reciprocal of the condition number in the 1-norm. It gets an estimate for norm(inv(A)) and then does the math: RCOND = 1 / (ANORM * norm(inv(A))). Lowkey iconic π«Ά
π Parameters π
UPLOβUPLO is CHARACTER*1. Tells us whether the factorization details are stored as an upper or lower triangular matrix:= 'U':Upper triangular, form isA = U*D*U**T;= 'L':Lower triangular, form isA = L*D*L**T.
NβN is INTEGER. The order of the matrixA. Requirement:N >= 0. πAβA is COMPLEX*16 array, dimension (LDA,N). This is the block diagonal matrixDplus the multipliers used to obtain the factorUorL, exactly as computed byZSYTRF. πLDAβLDA is INTEGER. The leading dimension of the arrayA. Requirement:LDA >= max(1,N).Don't skip the vibe check on this one πIPIVβIPIV is INTEGER array, dimension (N). All the deets about the interchanges and the block structure ofD, as determined byZSYTRF. πANORMβANORM is DOUBLE PRECISION. The 1-norm of the original matrixA. β¨RCONDβRCOND is DOUBLE 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. She's the main character of the output, honestly πWORKβWORK is COMPLEX*16 array, dimension (2*N). The scratch space. Not glamorous but we love her anyway πINFOβINFO is INTEGER:= 0:successful exit π< 0:ifINFO = -i, the i-th argument had an illegal value π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Four whole institutions, we stan a collaborative icon π
β Definition at line 123 of file zsycon.f. β
That's the receipt, no cap. π₯
π Author (again, because she's extra) π
Generated automatically by Doxygen for LAPACK from the source code. Not me writing by hand, it's giving robot-typed slay π€β¨
Heads up bestie: this whole page is machine-generated documentation, so if something looks weird, blame Doxygen, not me π«Ά
And that's a wrap, babes πΈ β this page is from LAPACK, Version 3.12.0, and it came straight out of /home/abui...RC/zsycon.f(3). Periodt. π
π¦ 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