ZTRCON(3)

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

πŸ’… ZTRCON(3) β€” like, the tri-con thing, bestie

okay so this page lives in the Library Functions Manual, section 3, and the file it's documenting is literally /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ztrcon.f. yes that's the whole path, no we're not shortening it, it's iconic in a chaotic way 🫢


✨ SYNOPSIS ✨

Functions/Subroutines:

subroutine ZTRCON (norm, uplo, diag, n, a, lda, rcond, work, rwork,
    info)

ZTRCON. that's it. that's the subroutine. ✨


πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

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)) ). !>

like, it takes your triangular matrix, figures out how "wiggly" it is (that's norm(A)), then gets an estimate of how wiggly its inverse is (norm(inv(A))), and then serves you the reciprocal condition number on a little platter RCOND = 1 / ( norm(A) * norm(inv(A)) ) πŸ’–


🌸 Parameters 🌸

NORM

!> NORM is CHARACTER*1 !> Specifies whether the 1-norm condition number or the !> infinity-norm condition number is required: !> = '1' or 'O': 1-norm; !> = 'I': Infinity-norm. !>

NORM is a CHARACTER*1 and it's literally you telling it which condition number you want β€” the 1-norm or the infinity-norm, no in-between:

  • '1' or 'O' β†’ the 1-norm
  • 'I' β†’ the infinity-norm

UPLO

!> UPLO is CHARACTER*1 !> = 'U': A is upper triangular; !> = 'L': A is lower triangular. !>

UPLO is a CHARACTER*1, the vibe check for your triangle's orientation:

  • '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. !>

DIAG is a CHARACTER*1 and it's the "is your diagonal doing anything" question:

  • 'N' β†’ A is non-unit triangular
  • 'U' β†’ A is unit triangular

N

!> N is INTEGER !> The order of the matrix A. N >= 0. !>

N is an INTEGER β€” the order of the matrix A. and it's N >= 0, so no negative-matrix nonsense πŸ™ˆ

A

!> A is COMPLEX*16 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. !>

A is a COMPLEX*16 array, dimension (LDA,N), and it's the whole main character here β€” the triangular matrix itself:

  • if UPLO = 'U' β†’ the leading N-by-N upper triangular part of A holds the upper triangular matrix, and the strictly lower triangular part of A is not referenced (it's giving background extra energy, honestly)
  • if UPLO = 'L' β†’ the leading N-by-N lower triangular part of A holds 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). !>

LDA is an INTEGER β€” the leading dimension of the array A, and it has to be LDA >= max(1,N). no cap, that's the rule πŸ’€

RCOND

!> RCOND is DOUBLE PRECISION !> The reciprocal of the condition number of the matrix A, !> computed as RCOND = 1/(norm(A) * norm(inv(A))). !>

RCOND is a DOUBLE PRECISION β€” the reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))). this is the output, the moment, the payoff πŸ‘‘

WORK

!> WORK is COMPLEX*16 array, dimension (2*N) !>

WORK is a COMPLEX*16 array, dimension (2*N). it's the workspace, it's doing the behind-the-scenes labor ✨

RWORK

!> RWORK is DOUBLE PRECISION array, dimension (N) !>

RWORK is a DOUBLE PRECISION array, dimension (N). also workspace, also unappreciated πŸŽ€

INFO

!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !>

INFO is an INTEGER, the receipts:

  • = 0 β†’ successful exit, slay βœ…
  • < 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 ztrcon.f.


🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code. (the robot wrote it, we're just vibing with it πŸ€–πŸ’œ)


and that's the whole page, bestie β€” brought to you by LAPACK, Version 3.12.0, from that one file /home/abui...RC/ztrcon.f(3). go forth and estimate those condition numbers responsibly πŸ¦‹πŸ’–

πŸ“¦ where this page comes from