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 matrixA.N >= 0.AβA is COMPLEX array, dimension (LDA,N). the triangular matrixAherself. the details:- if
UPLO = 'U': the leading N-by-N upper triangular part of the arrayAcontains the upper triangular matrix, and the strictly lower triangular part ofAis not referenced. - if
UPLO = 'L': the leading N-by-N lower triangular part of the arrayAcontains the lower triangular matrix, and the strictly upper triangular part ofAis not referenced. - if
DIAG = 'U': the diagonal elements ofAare also not referenced and are assumed to be 1. not her problem, basically π
- if
LDAβLDA is INTEGER. the leading dimension of the arrayA.LDA >= max(1,N).RCONDβRCOND is REAL. the reciprocal of the condition number of the matrixA, computed asRCOND = 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 matrixA.N >= 0.AβA is DOUBLE PRECISION array, dimension (LDA,N). the triangular matrixA:- if
UPLO = 'U': the leading N-by-N upper triangular part of the arrayAcontains the upper triangular matrix, and the strictly lower triangular part ofAis not referenced. - if
UPLO = 'L': the leading N-by-N lower triangular part of the arrayAcontains the lower triangular matrix, and the strictly upper triangular part ofAis not referenced. - if
DIAG = 'U': the diagonal elements ofAare also not referenced and are assumed to be 1.
- if
LDAβLDA is INTEGER. the leading dimension of the arrayA.LDA >= max(1,N).RCONDβRCOND is DOUBLE PRECISION. the reciprocal of the condition number of the matrixA, computed asRCOND = 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 matrixA.N >= 0.AβA is REAL array, dimension (LDA,N). the triangular matrixA:- if
UPLO = 'U': the leading N-by-N upper triangular part of the arrayAcontains the upper triangular matrix, and the strictly lower triangular part ofAis not referenced. - if
UPLO = 'L': the leading N-by-N lower triangular part of the arrayAcontains the lower triangular matrix, and the strictly upper triangular part ofAis not referenced. - if
DIAG = 'U': the diagonal elements ofAare also not referenced and are assumed to be 1.
- if
LDAβLDA is INTEGER. the leading dimension of the arrayA.LDA >= max(1,N).RCONDβRCOND is REAL. the reciprocal of the condition number of the matrixA, computed asRCOND = 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 matrixA.N >= 0.AAβ bestie this is the moment, it's aCOMPLEX*16array with dimension(LDA,N)and it's the triangular matrix A. Here's the tea: ifUPLO = 'U', the leading N-by-N upper triangular part of the arrayAactually holds the upper triangular matrix, and the strictly lower triangular part ofAis justβ¦ not referenced, she's not invited to the function π . IfUPLO = 'L', then the leading N-by-N lower triangular part ofAcarries the lower triangular matrix, and the strictly upper triangular part ofAis not referenced either. And ifDIAG = 'U', the diagonal elements ofAare also not referenced β the routine just assumes they're 1. Iconic shortcut behaviour, no cap πLDAβLDAisINTEGER, and it's the leading dimension of the arrayA. The one rule:LDA >= max(1,N). That's it, that's the vibe check β¨RCONDβRCONDisDOUBLE PRECISIONand it's the reciprocal of the condition number of the matrixA, computed asRCOND = 1/(norm(A) * norm(inv(A))). Not me doing math at you, it's literally right there π«ΆWORKβWORKis aCOMPLEX*16array, dimension(2*N). That's double the N, lowercase babe, don't forget πΈRWORKβRWORKis aDOUBLE PRECISIONarray, dimension(N). Just plain N this time π¦INFOβINFOisINTEGER, and she's the vibe report at the end:= 0: successful exit π₯ slay!< 0: ifINFO = -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 β rememberLDA >= max(1,N)and remember that the diagonal might just be vibes (1) ifDIAG = '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
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms