SSYCON(3)
๐ SSYCON(3) โ the LAPACK manual page, bestie edition ๐
ok so this is a page from the LAPACK Library Functions Manual, and the star of the show is ssycon.f โ yes that whole path is the "name", she's extra like that:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ssycon.f
โจ SYNOPSIS โจ
Functions/Subroutines ๐ฆ
subroutine SSYCON (uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)โ like, that's her. that's the whole girl.SSYCON
๐ฅ Function/Subroutine Documentation ๐ฅ
subroutine SSYCON (character uplo, integer n, real, dimension( lda, * ) a,
integer lda, integer, dimension( * ) ipiv, real anorm, real rcond, real,
dimension( * ) work, integer, dimension( * ) iwork, integer info)
SSYCON โ she's the one ๐
๐ธ Purpose ๐ธ
ok so listen:
!>
!> SSYCON estimates the reciprocal of the condition number (in the
!> 1-norm) of a real symmetric matrix A using the factorization
!> A = U*D*U**T or A = L*D*L**T computed by SSYTRF.
!>
!> An estimate is obtained for norm(inv(A)), and the reciprocal of the
!> condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
!>
translation bestie: she estimates the reciprocal of the condition number, 1-norm edition, of a real symmetric matrix A, using the factorization A = U*D*U**T or A = L*D*L**T that SSYTRF already did for you. she gets an estimate for norm(inv(A)) and then the reciprocal of the condition number is literally RCOND = 1 / (ANORM * norm(inv(A))). math ate, no cap ๐งฎโจ
๐ซถ Parameters ๐ซถ
UPLOโUPLO is CHARACTER*1. tells her whether the factorization details are stored as an upper or lower triangular matrix, like:= 'U': upper triangular, form isA = U*D*U**T;= 'L': lower triangular, form isA = L*D*L**T.
pick one, bestie, she's not doing both ๐ญ
NโN is INTEGER. the order of the matrixA.N >= 0. that's it, that's the constraint, respect it ๐AโA is REAL array, dimension (LDA,N). the block diagonal matrixDplus the multipliers used to obtain the factorUorL, as computed bySSYTRF. yes, all of that lives in here ๐LDAโLDA is INTEGER. the leading dimension of the arrayA.LDA >= max(1,N). bestie, do NOT fumble this one ๐IPIVโIPIV is INTEGER array, dimension (N). the details of the interchanges and the block structure ofD, as determined bySSYTRF. she got it fromSSYTRF, she's just passing the info along ๐ANORMโANORM is REAL. the 1-norm of the original matrixA. the before picture, if you will ๐RCONDโRCOND is REAL. 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. the whole point, the main character, the moment โญWORKโWORK is REAL array, dimension (2*N). scratch space. give her2*N, she's hungry ๐IWORKโIWORK is INTEGER array, dimension (N). integer scratch space. alsoN. don't mix them up ๐INFOโINFO is INTEGER:= 0: successful exit ๐< 0: ifINFO = -i, the i-th argument had an illegal value ๐ญ (yeah, that's on you, not her)
๐ Author ๐
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
โญ Author (yes, again) โญ
Generated automatically by Doxygen for LAPACK from the source code. she's a bot-built icon, we stan ๐ค๐
also for the record: Definition at line 128 of file ssycon.f. โ line 128, note it, cite it, put it on a shirt ๐ฅ
๐ reminder bestie: INFO < 0 means an argument was illegal. go check your args before you come for her.
and that's the whole page ๐ฆ this cutie was brought to you by LAPACK, Version 3.12.0, hot off /home/abui...RC/ssycon.f(3) โ mwah, stan her, cite her, she slayed 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