SRC/checon.f(3)

πŸ’– SRC/checon.f πŸ’–

okay so bestie, buckle up β€” this is the manual page for SRC/checon.f, aka the LAPACK girlies' favorite little condition-number estimator πŸŽ€


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine checon (uplo, n, a, lda, ipiv, anorm, rcond, work, info) β€” CHECON, that's her πŸ’…

🌸 Function/Subroutine Documentation 🌸

subroutine checon (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real anorm, real rcond, complex, dimension( * ) work, integer info)

CHECON 🫢

πŸ¦‹ Purpose:

!>
!> CHECON estimates the reciprocal of the condition number of a complex
!> Hermitian matrix A using the factorization A = U*D*U**H or
!> A = L*D*L**H computed by CHETRF.
!>
!> An estimate is obtained for norm(inv(A)), and the reciprocal of the
!> condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
!>

So like, real talk: CHECON doesn't reinvent the wheel, she just takes the factorization CHETRF already gave you and asks "okay but HOW well-conditioned is this matrix, on a scale of slay to yikes" ✨ An estimate of norm(inv(A)) gets computed, and then the reciprocal condition number falls out as RCOND = 1 / (ANORM * norm(inv(A))). Math ate, no cap πŸ’…


πŸ‘‘ Parameters πŸ‘‘

UPLO

!>          UPLO is CHARACTER*1
!>          Specifies whether the details of the factorization are stored
!>          as an upper or lower triangular matrix.
!>          = 'U':  Upper triangular, form is A = U*D*U**H;
!>          = 'L':  Lower triangular, form is A = L*D*L**H.
!>

UPLO is a CHARACTER*1 and she's basically the vibe check for where your factorization lives: pass 'U' for upper triangular, where the form is A = U*D*U**H, or 'L' for lower triangular, where it's A = L*D*L**H. Pick your lane, bestie 🌈


N

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

N is an INTEGER β€” the order of the matrix A, and she's gotta satisfy N >= 0. Periodt. 🌟


A

!>          A is COMPLEX array, dimension (LDA,N)
!>          The block diagonal matrix D and the multipliers used to
!>          obtain the factor U or L as computed by CHETRF.
!>

A is a COMPLEX array, dimension (LDA,N), and it's carrying the block diagonal matrix D plus all the multipliers used to get the factor U or L, exactly as computed by CHETRF. She's basically the receipts from CHETRF, okay? πŸ§ΎπŸ’–


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 the rule is LDA >= max(1,N). Don't play with her πŸ™ˆ


IPIV

!>          IPIV is INTEGER array, dimension (N)
!>          Details of the interchanges and the block structure of D
!>          as determined by CHETRF.
!>

IPIV is an INTEGER array, dimension (N), holding the details of the interchanges and the block structure of D, as determined by CHETRF. Lowkey the lore of your pivots πŸŒ€


ANORM

!>          ANORM is REAL
!>          The 1-norm of the original matrix A.
!>

ANORM is REAL β€” the 1-norm of the original matrix A, capital-A original, before all the factorizing chaos ✨


RCOND

!>          RCOND is REAL
!>          The reciprocal of the condition number of the matrix A,
!>          computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an
!>          estimate of the 1-norm of inv(A) computed in this routine.
!>

RCOND is REAL and she's the moment πŸ‘‘ β€” the reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed right here in this routine. she works hard, give her credit πŸ’–


WORK

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

WORK is a COMPLEX array, dimension (2*N). That's it, that's the whole description β€” she's just here to do the work 🫑


INFO

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

INFO is an INTEGER and the tea is:

  • = 0: successful exit, we love a happy ending πŸŽ‰
  • < 0: if INFO = -i, the i-th argument had an illegal value πŸ’€ (check your args before you come for her)

🌈 Author 🌈

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

Definition at line 123 of file checon.f. πŸ“


πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code. (machine-generated but still iconic 🧚)

aaaand that's the page bestie!! this whole vibe was brought to you by LAPACK, Version 3.12.0, dated SRC/checon.f(3) β€” mwah, go estimate some condition numbers responsibly πŸ’…πŸ’–βœ¨

πŸ“¦ where this page comes from