STPCON(3)
STPCON(3) π
ok so bestie, welcome to STPCON β it lives in the LAPACK fam, and today we're doing condition number estimation for a packed triangular matrix. yes it's a .f file. yes it's Fortran. no we're not scared. π«Ά
the file in question? literally:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/stpcon.f
that's the one. that's our girl. πΈ
β¨ SYNOPSIS β¨
Functions/Subroutines π
subroutine STPCON (norm, uplo, diag, n, ap, rcond, work, iwork, info)
STPCON β that's her name, that's her whole vibe.
π¦ Function/Subroutine Documentation π¦
subroutine STPCON (character norm, character uplo, character diag, integer
n, real, dimension( * ) ap, real rcond, real, dimension( * ) work,
integer, dimension( * ) iwork, integer info)
STPCON
π Purpose π
ok so picture this β STPCON estimates the reciprocal of the condition number of a packed triangular matrix A, in either the 1-norm or the infinity-norm. pick your fighter, both are valid. π
the way it works is: the norm of A gets computed, then an estimate is obtained for norm(inv(A)), and then the reciprocal of the condition number is computed as
RCOND = 1 / ( norm(A) * norm(inv(A)) ).
periodt. that's the whole formula. π
π Parameters π
NORMβNORMisCHARACTER*1. it specifies whether you want the 1-norm condition number or the infinity-norm condition number, so like, choose wisely bestie:= '1' or 'O': 1-norm;= 'I': Infinity-norm.
UPLOβUPLOisCHARACTER*1. which triangle are we working with:= 'U':Ais upper triangular;= 'L':Ais lower triangular.
DIAGβDIAGisCHARACTER*1. is the diagonal doing anything or is it just decorative:= 'N':Ais non-unit triangular;= 'U':Ais unit triangular.
NβNisINTEGER. the order of the matrixA. and listen:N >= 0. no negatives, no cap. π«APβAPisREAL array, dimension (N*(N+1)/2). this is the upper or lower triangular matrixA, packed columnwise into a linear array. thej-th column ofAis stored in the arrayAPlike this:- if
UPLO = 'U',AP(i + (j-1)*j/2) = A(i,j)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2n-j)/2) = A(i,j)forj<=i<=n.
- if
and if DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1. so don't come for them, they're not even invited. π
RCONDβRCONDisREAL. the reciprocal of the condition number of the matrixA, computed asRCOND = 1/(norm(A) * norm(inv(A))). it's giving main character output value honestly. βWORKβWORKisREAL array, dimension (3*N). it's the workspace. it does the work. hence the name, iykyk. π₯IWORKβIWORKisINTEGER array, dimension (N). integer workspace, also invited to the party. πINFOβINFOisINTEGER. the vibe check at the end:= 0: successful exit β slay, we ate; π< 0: ifINFO = -i, thei-th argument had an illegal value β not slay, something's wrong. π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad really showed up for this one. π«Ά
Definition at line 128 of file stpcon.f.
πΈ Author (the meta one) πΈ
Generated automatically by Doxygen for LAPACK from the source code. so technically the robots wrote it, but we're the ones making it cute. π€β¨
and that's the whole page bestie! this one came to you courtesy of LAPACK, Version 3.12.0, and it was living at /home/abui...RC/stpcon.f(3) when we found it. go forth and estimate those condition numbers responsibly. π
π¦π
π¦ 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