STPCON(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

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 β€” NORM is CHARACTER*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 β€” UPLO is CHARACTER*1. which triangle are we working with:
    • = 'U': A is upper triangular;
    • = 'L': A is lower triangular.
  • DIAG β€” DIAG is CHARACTER*1. is the diagonal doing anything or is it just decorative:
    • = 'N': A is non-unit triangular;
    • = 'U': A is unit triangular.
  • N β€” N is INTEGER. the order of the matrix A. and listen: N >= 0. no negatives, no cap. 🚫
  • AP β€” AP is REAL array, dimension (N*(N+1)/2). this is the upper or lower triangular matrix A, packed columnwise into a linear array. the j-th column of A is stored in the array AP like this:
    • if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
    • if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.

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 β€” RCOND is REAL. the reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))). it's giving main character output value honestly. ⭐
  • WORK β€” WORK is REAL array, dimension (3*N). it's the workspace. it does the work. hence the name, iykyk. πŸ”₯
  • IWORK β€” IWORK is INTEGER array, dimension (N). integer workspace, also invited to the party. πŸŽ€
  • INFO β€” INFO is INTEGER. the vibe check at the end:
    • = 0: successful exit β€” slay, we ate; πŸ’–
    • < 0: if INFO = -i, the i-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