trcon(3)

πŸ’… trcon πŸ’…

okay so quick vibe check bestie: this page lives in the Library Functions Manual, and it's literally all about trcon β€” the condition number estimate girlie. four whole flavors of her. let's get into it 🫢


πŸŽ€ NAME πŸŽ€

trcon β€” trcon: condition number estimate

no cap, that's the whole name. short, sweet, iconic.


✨ SYNOPSIS ✨

πŸ¦‹ Functions

okay so there's a whole little friend group here β€” same job, different precision. slay:

subroutine ctrcon (norm, uplo, diag, n, a, lda, rcond, work, rwork,
    info)
    CTRCON
subroutine dtrcon (norm, uplo, diag, n, a, lda, rcond, work, iwork,
    info)
    DTRCON
subroutine strcon (norm, uplo, diag, n, a, lda, rcond, work, iwork,
    info)
    STRCON
subroutine ztrcon (norm, uplo, diag, n, a, lda, rcond, work, rwork,
    info)
    ZTRCON

πŸ”₯ Detailed Description πŸ”₯

(the original page just has the heading here and then goes straight into the docs β€” keeping it 100% honest with you πŸ’€)

🌸 Function Documentation 🌸


πŸ‘‘ subroutine ctrcon

subroutine ctrcon (character norm, character uplo, character diag, integer
    n, complex, dimension( lda, * ) a, integer lda, real rcond, complex,
    dimension( * ) work, real, dimension( * ) rwork, integer info)

CTRCON

πŸ’œ Purpose:

!> !> CTRCON estimates the reciprocal of the condition number of a !> triangular matrix A, in either the 1-norm or the infinity-norm. !> !> The norm of A is computed and an estimate is obtained for !> norm(inv(A)), then the reciprocal of the condition number is !> computed as !> RCOND = 1 / ( norm(A) * norm(inv(A)) ). !>

periodt. that's the whole assignment πŸ’…

πŸ“ Parameters

  • NORM β€” NORM is CHARACTER*1. she decides which condition number you're getting, bestie β€” the 1-norm one or the infinity-norm one:
= '1' or 'O':  1-norm;
= 'I':         Infinity-norm.
  • UPLO β€” UPLO is CHARACTER*1:
= 'U':  A is upper triangular;
= 'L':  A is lower triangular.
  • DIAG β€” DIAG is CHARACTER*1:
= 'N':  A is non-unit triangular;
= 'U':  A is unit triangular.
  • N β€” N is INTEGER. the order of the matrix A. N >= 0.
  • A β€” A is COMPLEX array, dimension (LDA,N). the triangular matrix A herself. the details:
    • if UPLO = 'U': the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced.
    • if UPLO = 'L': the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced.
    • if DIAG = 'U': the diagonal elements of A are also not referenced and are assumed to be 1. not her problem, basically πŸ™ˆ
  • LDA β€” LDA is INTEGER. the leading dimension of the array A. LDA >= max(1,N).
  • RCOND β€” RCOND is REAL. the reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))).
  • WORK β€” WORK is COMPLEX array, dimension (2*N). (2*N) girlies, not 3. don't come for me.
  • RWORK β€” RWORK is REAL array, dimension (N).
  • INFO β€” INFO is 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 135 of file ctrcon.f.


⭐ subroutine dtrcon

subroutine dtrcon (character norm, character uplo, character diag, integer
    n, double precision, dimension( lda, * ) a, integer lda, double
    precision rcond, double precision, dimension( * ) work, integer,
    dimension( * ) iwork, integer info)

DTRCON

πŸ’œ Purpose:

!> !> DTRCON estimates the reciprocal of the condition number of a !> triangular matrix A, in either the 1-norm or the infinity-norm. !> !> The norm of A is computed and an estimate is obtained for !> norm(inv(A)), then the reciprocal of the condition number is !> computed as !> RCOND = 1 / ( norm(A) * norm(inv(A)) ). !>

same energy, double the precision. she ate πŸ’–

πŸ“ Parameters

  • NORM β€” NORM is CHARACTER*1. picks whether you want the 1-norm condition number or the infinity-norm one:
= '1' or 'O':  1-norm;
= 'I':         Infinity-norm.
  • UPLO β€” UPLO is CHARACTER*1:
= 'U':  A is upper triangular;
= 'L':  A is lower triangular.
  • DIAG β€” DIAG is CHARACTER*1:
= 'N':  A is non-unit triangular;
= 'U':  A is unit triangular.
  • N β€” N is INTEGER. the order of the matrix A. N >= 0.
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). the triangular matrix A:
    • if UPLO = 'U': the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced.
    • if UPLO = 'L': the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced.
    • if DIAG = 'U': the diagonal elements of A are also not referenced and are assumed to be 1.
  • LDA β€” LDA is INTEGER. the leading dimension of the array A. LDA >= max(1,N).
  • RCOND β€” RCOND is DOUBLE PRECISION. the reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))).
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (3*N). yes, (3*N) β€” she needs more room, respect it.
  • IWORK β€” IWORK is INTEGER array, dimension (N).
  • INFO β€” INFO is 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 135 of file dtrcon.f.


πŸ¦‹ subroutine strcon

subroutine strcon (character norm, character uplo, character diag, integer
    n, real, dimension( lda, * ) a, integer lda, real rcond, real,
    dimension( * ) work, integer, dimension( * ) iwork, integer info)

STRCON

πŸ’œ Purpose:

!> !> STRCON estimates the reciprocal of the condition number of a !> triangular matrix A, in either the 1-norm or the infinity-norm. !> !> The norm of A is computed and an estimate is obtained for !> norm(inv(A)), then the reciprocal of the condition number is !> computed as !> RCOND = 1 / ( norm(A) * norm(inv(A)) ). !>

single precision but make it fashion πŸ’…

πŸ“ Parameters

  • NORM β€” NORM is CHARACTER*1. 1-norm or infinity-norm, your call:
= '1' or 'O':  1-norm;
= 'I':         Infinity-norm.
  • UPLO β€” UPLO is CHARACTER*1:
= 'U':  A is upper triangular;
= 'L':  A is lower triangular.
  • DIAG β€” DIAG is CHARACTER*1:
= 'N':  A is non-unit triangular;
= 'U':  A is unit triangular.
  • N β€” N is INTEGER. the order of the matrix A. N >= 0.
  • A β€” A is REAL array, dimension (LDA,N). the triangular matrix A:
    • if UPLO = 'U': the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced.
    • if UPLO = 'L': the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced.
    • if DIAG = 'U': the diagonal elements of A are also not referenced and are assumed to be 1.
  • LDA β€” LDA is INTEGER. the leading dimension of the array A. LDA >= max(1,N).
  • RCOND β€” RCOND is REAL. the reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))).
  • WORK β€” WORK is REAL array, dimension (3*N).
  • IWORK β€” IWORK is INTEGER array, dimension (N).
  • INFO β€” INFO is 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 135 of file strcon.f.


🧚 subroutine ztrcon

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

ZTRCON

πŸ’œ Purpose:

!> !> ZTRCON estimates the reciprocal of the condition number of a !> triangular matrix A, in either the 1-norm or the infinity-norm. !> !> The norm of A is computed and an estimate is obtained for !> norm(inv(A)), then the reciprocal of the condition number is !> computed as !> RCOND = 1 / ( norm(A) * norm(inv(A)) ). !>

double complex, double the drama, double the fun πŸ’€βœ¨

πŸ“ Parameters

  • NORM β€” NORM is CHARACTER*1. tells her whether you want the 1-norm condition number or the infinity-norm condition number:
= '1' or 'O':  1-norm;
= 'I':         Infinity-norm.
  • UPLO β€” UPLO is CHARACTER*1:
= 'U':  A is upper triangular;
= 'L':  A is lower triangular.
  • DIAG β€” DIAG is CHARACTER*1:
= 'N':  A is non-unit triangular;
= 'U':  A is unit triangular.
  • N β€” N is INTEGER. the order of the matrix A. N >= 0.
  • A
  • A β€” bestie this is the moment, it's a COMPLEX*16 array with dimension (LDA,N) and it's the triangular matrix A. Here's the tea: if UPLO = 'U', the leading N-by-N upper triangular part of the array A actually holds the upper triangular matrix, and the strictly lower triangular part of A is just… not referenced, she's not invited to the function πŸ’…. If UPLO = 'L', then the leading N-by-N lower triangular part of A carries the lower triangular matrix, and the strictly upper triangular part of A is not referenced either. And if DIAG = 'U', the diagonal elements of A are also not referenced β€” the routine just assumes they're 1. Iconic shortcut behaviour, no cap πŸŽ€
  • LDA β€” LDA is INTEGER, and it's the leading dimension of the array A. The one rule: LDA >= max(1,N). That's it, that's the vibe check ✨
  • RCOND β€” RCOND is DOUBLE PRECISION and it's the reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))). Not me doing math at you, it's literally right there 🫢
  • WORK β€” WORK is a COMPLEX*16 array, dimension (2*N). That's double the N, lowercase babe, don't forget 🌸
  • RWORK β€” RWORK is a DOUBLE PRECISION array, dimension (N). Just plain N this time πŸ¦‹
  • INFO β€” INFO is INTEGER, and she's the vibe report at the end:
    • = 0: successful exit πŸ”₯ slay!
    • < 0: if INFO = -i, the i-th argument had an illegal value πŸ’€ something you passed in was not it

🧚 Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 135 of file ztrcon.f.

πŸ‘‘ Author

Generated automatically by Doxygen for LAPACK from the source code.


Ok that's the whole entire page, you made it, I'm so proud of you πŸ₯ΉπŸ’– Go forth and triangular-matrix responsibly, bestie β€” remember LDA >= max(1,N) and remember that the diagonal might just be vibes (1) if DIAG = 'U'. Periodt. πŸ’…

Shoutout to LAPACK, Version 3.12.0 β€” this little trcon(3) page and everything above came straight from there. πŸŒˆβ­πŸ“

πŸ“¦ where this page comes from