tpcon(3)

🌸 tpcon(3) β€” from the Library Functions Manual, section 3 🌸

okay so bestie, welcome to tpcon, and the vibe is condition number estimate ✨. That's the whole name, that's the whole tagline: tpcon β€” tpcon: condition number estimate. Short, sweet, iconic, and she knows exactly what she is πŸ’….

This page is a long one so it's split into parts β€” you're on part 1 right now, so don't go anywhere 🫢.


✨ NAME ✨

tpcon β€” tpcon: condition number estimate

like, literally what it says on the tin, no cap πŸ’–


✨ SYNOPSIS ✨

πŸŽ€ Functions

okay so there are exactly four of these bad boys, one per precision/flavour, and here's the full roster β€” names and arguments kept exactly as they are, because we do not editorialise the signatures, periodt πŸ”₯

  • subroutine ctpcon (norm, uplo, diag, n, ap, rcond, work, rwork, info) β€” CTPCON πŸ’œ the c one, with rwork in the mix.
  • subroutine dtpcon (norm, uplo, diag, n, ap, rcond, work, iwork, info) β€” DTPCON πŸ’œ the d one, and note she's rockin' iwork rather than rwork.
  • subroutine stpcon (norm, uplo, diag, n, ap, rcond, work, iwork, info) β€” STPCON πŸ’œ the s one, same iwork situation as her d sibling.
  • subroutine ztpcon (norm, uplo, diag, n, ap, rcond, work, rwork, info) β€” ZTPCON πŸ’œ the z one, back on the rwork team.

so yeah, four subroutines, all taking the same shape of argument list with that one iwork/rwork plot twist in the middle πŸ‘€ β€” norm, uplo, diag, n, ap, rcond, work, then the work-array variant, then info. Slay.

subroutine ctpcon (norm, uplo, diag, n, ap, rcond, work, rwork, info)
subroutine dtpcon (norm, uplo, diag, n, ap, rcond, work, iwork, info)
subroutine stpcon (norm, uplo, diag, n, ap, rcond, work, iwork, info)
subroutine ztpcon (norm, uplo, diag, n, ap, rcond, work, rwork, info)

✨ Detailed Description ✨

okay so this is the part where the detailed description would go πŸ’€ and on this page… it's giving empty. Nothing here yet, bestie. No prose, no breakdown, no nothing β€” just the heading sitting there with main character energy and zero lines under it πŸ™ˆ.

So fr fr, that's all part 1 has to give us: the name, the four subroutine signatures, and a Detailed Description that's living its best minimalist life. More parts are coming, so keep scrolling when they land πŸ¦‹

πŸ’… Function Documentation

Okay bestie, so tpcon isn't just one subroutine β€” it's a whole friend group πŸ’–. Four of them, actually: one for each real/complex and single/double combo. They all do the exact same glow-up (estimate that reciprocal condition number of a packed triangular matrix, 1-norm or infinity-norm, you know the drill), they just speak different precision languages. Let's meet the whole squad, one by one 🌈✨


🌸 ctpcon β€” the complex single-precision queen πŸ‘‘

subroutine ctpcon (character norm, character uplo, character diag, integer n, complex, dimension( * ) ap, real rcond, complex, dimension( * ) work, real, dimension( * ) rwork, integer info)

✨ Purpose

Okay so CTPCON does the thing: it estimates the reciprocal of the condition number of a packed triangular matrix A, and it'll do it in either the 1-norm or the infinity-norm β€” your call, bestie 🫢.

The way it works: it computes norm(A), then gets an estimate for norm(inv(A)), and finally the reciprocal of the condition number comes out as:

RCOND = 1 / ( norm(A) * norm(inv(A)) ).

No cap, that's the whole vibe πŸ’…

πŸŽ€ Parameters

  • NORM β€” CHARACTER*1. Tells it which condition number you want, 1-norm or infinity-norm:
    • = '1' or 'O': 1-norm πŸ”₯
    • = 'I': Infinity-norm ⭐
  • UPLO β€” CHARACTER*1.
    • = 'U': A is upper triangular 🌸
    • = 'L': A is lower triangular πŸ¦‹
  • DIAG β€” CHARACTER*1.
    • = 'N': A is non-unit triangular
    • = 'U': A is unit triangular
  • N β€” INTEGER. The order of the matrix A. Constraint: N >= 0 ✨
  • AP β€” COMPLEX array, dimension (N*(N+1)/2). This is the upper or lower triangular matrix A, packed columnwise into one linear array. The j-th column of A lives in 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 literally not referenced β€” they're just assumed to be 1 πŸ’€ (iconic shortcut, honestly).

  • RCOND β€” REAL. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))) πŸŽ€
  • WORK β€” COMPLEX array, dimension (2*N) 🧚
  • RWORK β€” REAL array, dimension (N) 🌸
  • INFO β€” INTEGER.
    • = 0: successful exit ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value 🚨

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 128 of file ctpcon.f.


πŸ¦‹ dtpcon β€” double precision, double the drama πŸ’œ

subroutine dtpcon (character norm, character uplo, character diag, integer n, double precision, dimension( * ) ap, double precision rcond, double precision, dimension( * ) work, integer, dimension( * ) iwork, integer info)

✨ Purpose

Same energy, double precision πŸ’…. DTPCON estimates the reciprocal of the condition number of a packed triangular matrix A, in either the 1-norm or the infinity-norm.

It computes norm(A), estimates norm(inv(A)), and then:

RCOND = 1 / ( norm(A) * norm(inv(A)) ).

Periodt 🌟

πŸŽ€ Parameters

  • NORM β€” CHARACTER*1. Which condition number, bestie?
    • = '1' or 'O': 1-norm πŸ”₯
    • = 'I': Infinity-norm ⭐
  • UPLO β€” CHARACTER*1.
    • = 'U': A is upper triangular 🌸
    • = 'L': A is lower triangular πŸ¦‹
  • DIAG β€” CHARACTER*1.
    • = 'N': A is non-unit triangular
    • = 'U': A is unit triangular
  • N β€” INTEGER. The order of the matrix A. Constraint: N >= 0 ✨
  • AP β€” DOUBLE PRECISION array, dimension (N*(N+1)/2). The upper or lower triangular matrix A, packed columnwise into a linear array. The j-th column of A is stored in AP as follows:
    • 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.

If DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1 πŸ™ˆ

  • RCOND β€” DOUBLE PRECISION. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))) πŸŽ€
  • WORK β€” DOUBLE PRECISION array, dimension (3*N) 🧚
  • IWORK β€” INTEGER array, dimension (N) 🌈
  • INFO β€” INTEGER.
    • = 0: successful exit ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value 🚨

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 128 of file dtpcon.f.


πŸ“ stpcon β€” single precision, still eating 🍽️

subroutine stpcon (character norm, character uplo, character diag, integer n, real, dimension( * ) ap, real rcond, real, dimension( * ) work, integer, dimension( * ) iwork, integer info)

✨ Purpose

STPCON estimates the reciprocal of the condition number of a packed triangular matrix A, in either the 1-norm or the infinity-norm β€” because why pick one when the spec says you get both 😌.

Computes norm(A), estimates norm(inv(A)), and boom:

RCOND = 1 / ( norm(A) * norm(inv(A)) ).

Slay πŸ’…

πŸŽ€ Parameters

  • NORM β€” CHARACTER*1. Pick your norm:
    • = '1' or 'O': 1-norm πŸ”₯
    • = 'I': Infinity-norm ⭐
  • UPLO β€” CHARACTER*1.
    • = 'U': A is upper triangular 🌸
    • = 'L': A is lower triangular πŸ¦‹
  • DIAG β€” CHARACTER*1.
    • = 'N': A is non-unit triangular
    • = 'U': A is unit triangular
  • N β€” INTEGER. The order of the matrix A. Constraint: N >= 0 ✨
  • AP β€” REAL array, dimension (N*(N+1)/2). The upper or lower triangular matrix A, packed columnwise in a linear array. The j-th column of A is stored in AP as follows:
    • 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.

If DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1 πŸ™ˆ

  • RCOND β€” REAL. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))) πŸŽ€
  • WORK β€” REAL array, dimension (3*N) 🧚
  • IWORK β€” INTEGER array, dimension (N) 🌈
  • INFO β€” INTEGER.
    • = 0: successful exit ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value 🚨

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 128 of file stpcon.f.


🌈 ztpcon β€” complex double, main character energy πŸ’€πŸ‘‘

subroutine ztpcon (character norm, character uplo, character diag, integer n, complex*16, dimension( * ) ap, double precision rcond, complex*16, dimension( * ) work, double precision, dimension( * ) rwork, integer info)

✨ Purpose

ZTPCON estimates the reciprocal of the condition number of a packed triangular matrix A, in either the 1-norm or the infinity-norm. The full double-complex package, no cap 🫢.

The norm of A gets computed, an estimate is obtained for norm(inv(A)), and then the reciprocal of the condition number is:

RCOND = 1 / ( norm(A) * norm(inv(A)) ).

Literal perfection ✨

πŸŽ€ Parameters

  • NORM β€” CHARACTER*1. Which one do you need?
    • = '1' or 'O': 1-norm πŸ”₯
    • = 'I': Infinity-norm ⭐
  • UPLO β€” CHARACTER*1.
    • = 'U': A is upper triangular 🌸
    • = 'L': A is lower triangular πŸ¦‹
  • DIAG β€” CHARACTER*1.
    • = 'N': A is non-unit triangular
    • = 'U': A is unit triangular
  • N β€” INTEGER. The order of the matrix A. Constraint: N >= 0 ✨
  • AP β€” COMPLEX*16 array, dimension (N*(N+1)/2). The upper or lower triangular matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:
    • 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.

If DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1 πŸ™ˆ

  • RCOND β€” DOUBLE PRECISION. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))) πŸŽ€
  • WORK β€” COMPLEX*16 array, dimension (2*N) 🧚
  • RWORK β€” DOUBLE PRECISION array, dimension (N) 🌸
  • INFO β€” INTEGER.
    • = 0: successful exit ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value 🚨

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 128 of file ztpcon.f.


🫢 Author

Generated automatically by Doxygen for LAPACK from the source code. (Yes bestie, a robot wrote this one β€” and it ate πŸ€–βœ¨)


And that's the whole page, thank you for coming to my TED talk πŸ’– This little masterpiece is LAPACK Version 3.12.0, and you're reading tpcon(3). Go forth and estimate your condition numbers responsibly, queen πŸ‘‘πŸŒˆπŸ’…

πŸ“¦ where this page comes from