CTRCON(3)

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

✨ CTRCON ✨

okay bestie, so this is the LAPACK tea from ctrcon.f in the /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ directory β€” it's giving very specific, but we're gonna make it make sense πŸ’…


πŸŒ€ SYNOPSIS πŸŒ€

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

🫢 FUNCTION/SUBROUTINE DOCUMENTATION 🫢

🌸 The Full Signature (slay, literally) 🌸

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)

πŸ’– PURPOSE πŸ’–

okay so picture this: CTRCON estimates the reciprocal of the condition number of a triangular matrix A β€” and it can do it in either the 1-norm or the infinity-norm, because we contain multitudes ✨

It computes the norm of A, gets an estimate for norm(inv(A)), and then does the cute little math:

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

no cap, that's the whole vibe πŸŽ€


🌈 PARAMETERS 🌈

  • NORM β€” CHARACTER*1. This one tells us whether we're doing the 1-norm condition number or the infinity-norm condition number, and she's very particular:
    • = '1' or 'O': 1-norm
    • = 'I': Infinity-norm
  • UPLO β€” CHARACTER*1. Which triangle are we working with, bestie?
    • = 'U': A is upper triangular
    • = 'L': A is lower triangular
  • DIAG β€” CHARACTER*1. Is the diagonal doing its own thing or are we assuming it's all ones?
    • = 'N': A is non-unit triangular
    • = 'U': A is unit triangular
  • N β€” INTEGER. The order of the matrix A. And she said N >= 0, periodt.
  • A β€” COMPLEX array, dimension (LDA,N). The triangular matrix A herself, the main character. Here's the tea:
    • 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 (we don't look at her, she's not invited).
    • 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. same energy.
    • If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. iconic behavior honestly.
  • LDA β€” INTEGER. The leading dimension of the array A. Must be LDA >= max(1,N). no exceptions, bestie, that's the rule πŸ¦‹
  • RCOND β€” REAL. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))). this is the moment, the whole reason we're here πŸ’…
  • WORK β€” COMPLEX array, dimension (2*N). just vibes and workspace.
  • RWORK β€” REAL array, dimension (N). more workspace, but real this time.
  • INFO β€” INTEGER. The receipts:
    • = 0: successful exit πŸŽ‰
    • < 0: if INFO = -i, the i-th argument had an illegal value. not cute, fix it.

πŸ‘‘ AUTHOR πŸ‘‘

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.


⭐ DEFINITION ⭐

Defined at line 135 of file ctrcon.f.


and that's the whole breakdown, bestie β€” generated automatically by Doxygen for LAPACK from the source code, from LAPACK Version 3.12.0, dated /home/abui...RC/ctrcon.f(3). we love a technically accurate slay πŸ’œ

πŸ“¦ where this page comes from