hetri_rook(3)
π hetri_rook β {he,sy}tri_rook: triangular inverse π
okay so this is hetri_rook(3) from the Library Functions Manual, and bestie, it's a whole family of LAPACK routines that do triangular inverse stuff. buckle up π
β¨ NAME β¨
hetri_rook β {he,sy}tri_rook: triangular inverse. that's it, that's the name, she's concise π
πΈ SYNOPSIS πΈ
Functions
subroutine chetri_rook (uplo, n, a, lda, ipiv, work, info)βCHETRI_ROOKcomputes the inverse of HE matrix using the factorization obtained with the bounded Bunch-Kaufman ("rook") diagonal pivoting method. (yes the original doc has a stray quote in there, we keep it, we don't touch it, periodt)subroutine csytri_rook (uplo, n, a, lda, ipiv, work, info)βCSYTRI_ROOK. that's the whole blurb. iconic minimalist behavior honestly.subroutine dsytri_rook (uplo, n, a, lda, ipiv, work, info)βDSYTRI_ROOK. also just her name.subroutine ssytri_rook (uplo, n, a, lda, ipiv, work, info)βSSYTRI_ROOK. same energy.subroutine zhetri_rook (uplo, n, a, lda, ipiv, work, info)βZHETRI_ROOKcomputes the inverse of HE matrix using the factorization obtained with the bounded Bunch-Kaufman ("rook") diagonal pivoting method. (again with the stray quote, leaving it exactly as found π«Ά)subroutine zsytri_rook (uplo, n, a, lda, ipiv, work, info)βZSYTRI_ROOK. name only, no notes.
π Detailed Description π
this is the section where the page just says "Function Documentation" is next. genuinely that's all it says. the vibes are immaculate, the content is minimal π¦
π Function Documentation π
π chetri_rook
subroutine chetri_rook (character uplo, integer n, complex, dimension( lda,
* ) a, integer lda, integer, dimension( * ) ipiv, complex, dimension( *
) work, integer info)
CHETRI_ROOK computes the inverse of HE matrix using the factorization obtained with the bounded Bunch-Kaufman ("rook") diagonal pivoting method.
β¨ Purpose β¨
CHETRI_ROOK computes the inverse of a complex Hermitian indefinite matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by CHETRF_ROOK. like, she takes the factorization her sibling CHETRF_ROOK already did and flips it into an inverse. teamwork, fr fr π
πΈ Parameters πΈ
UPLOβUPLOisCHARACTER*1. specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': Upper triangular, form isA = U*D*U**H;= 'L': Lower triangular, form isA = L*D*L**H.NβNisINTEGER. the order of the matrixA.N >= 0.AβAisCOMPLEXarray, dimension(LDA,N).- on entry, the block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed byCHETRF_ROOK. - on exit, if
INFO = 0, the (Hermitian) inverse of the original matrix. ifUPLO = 'U', the upper triangular part of the inverse is formed and the part ofAbelow the diagonal is not referenced; ifUPLO = 'L'the lower triangular part of the inverse is formed and the part ofAabove the diagonal is not referenced.
- on entry, the block diagonal matrix
LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIVisINTEGERarray, dimension(N). details of the interchanges and the block structure ofDas determined byCHETRF_ROOK.WORKβWORKisCOMPLEXarray, dimension(N).INFOβINFOisINTEGER.= 0: successful exit β¨< 0: ifINFO = -i, the i-th argument had an illegal value> 0: ifINFO = i,D(i,i) = 0; the matrix is singular and its inverse could not be computed π
π Author π
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
π Contributors π
November 2013, Igor Kozachenko, Computer Science Division, University of California, Berkeley
September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
Definition at line 127 of file chetri_rook.f.
π csytri_rook
subroutine csytri_rook (character uplo, integer n, complex, dimension( lda,
* ) a, integer lda, integer, dimension( * ) ipiv, complex, dimension( *
) work, integer info)
CSYTRI_ROOK β that's the entire one-line description, we respect the mystery.
β¨ Purpose β¨
CSYTRI_ROOK computes the inverse of a complex symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by CSYTRF_ROOK. note: symmetric this time, not Hermitian, and it's the T transpose not H. no cap, that distinction matters π₯
πΈ Parameters πΈ
UPLOβUPLOisCHARACTER*1. specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': Upper triangular, form isA = U*D*U**T;= 'L': Lower triangular, form isA = L*D*L**T.NβNisINTEGER. the order of the matrixA.N >= 0.AβAisCOMPLEXarray, dimension(LDA,N).- on entry, the block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed byCSYTRF_ROOK. - on exit, if
INFO = 0, the (symmetric) inverse of the original matrix. ifUPLO = 'U', the upper triangular part of the inverse is formed and the part ofAbelow the diagonal is not referenced; ifUPLO = 'L'the lower triangular part of the inverse is formed and the part ofAabove the diagonal is not referenced.
- on entry, the block diagonal matrix
LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIVisINTEGERarray, dimension(N). details of the interchanges and the block structure ofDas determined byCSYTRF_ROOK.WORKβWORKisCOMPLEXarray, dimension(N).INFOβINFOisINTEGER.= 0: successful exit β¨< 0: ifINFO = -i, the i-th argument had an illegal value> 0: ifINFO = i,D(i,i) = 0; the matrix is singular and its inverse could not be computed π
π Author π
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
π Contributors π
December 2016, Igor Kozachenko, Computer Science Division, University of California, Berkeley
September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
Definition at line 128 of file csytri_rook.f.
π dsytri_rook
subroutine dsytri_rook (character uplo, integer n, double precision,
dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double
precision, dimension( * ) work, integer info)
DSYTRI_ROOK β name only in the synopsis, but the purpose section has the real tea π
β¨ Purpose β¨
DSYTRI_ROOK computes the inverse of a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by DSYTRF_ROOK. double precision, real symmetric, living her best life π¦
πΈ Parameters πΈ
UPLOβUPLOisCHARACTER*1. specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': Upper triangular, form isA = U*D*U**T;= 'L': Lower triangular, form isA = L*D*L**T.NβNisINTEGER. the order of the matrixA.N >= 0.AβAisDOUBLE PRECISIONarray, dimension(LDA,N).- on entry, the block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed byDSYTRF_ROOK. - on exit, if
INFO = 0, the (symmetric) inverse of the original matrix. ifUPLO = 'U', the upper triangular part of the inverse is formed and the part ofAbelow the diagonal is not referenced; ifUPLO = 'L'the lower triangular part of the inverse is formed and the part ofAabove the diagonal is not referenced.
- on entry, the block diagonal matrix
LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIVisINTEGERarray, dimension(N). details of the interchanges and the block structure ofDas determined byDSYTRF_ROOK.WORKβWORKisDOUBLE PRECISIONarray, dimension(N).INFOβINFOisINTEGER.= 0: successful exit β¨< 0: ifINFO = -i, the i-th argument had an illegal value> 0: ifINFO = i,D(i,i) = 0; the matrix is singular and its inverse could not be computed π
π Author π
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
π Contributors π
April 2012, Igor Kozachenko, Computer Science Division, University of California, Berkeley
September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
Definition at line 128 of file dsytri_rook.f.
π ssytri_rook
subroutine ssytri_rook (character uplo, integer n, real, dimension( lda, * )
a, integer lda, integer, dimension( * ) ipiv, real, dimension( * ) work,
integer info)
SSYTRI_ROOK β again, short synopsis, big purpose energy.
β¨ Purpose β¨
SSYTRI_ROOK computes the inverse of a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by SSYTRF_ROOK. single precision this time, same iconic factorization flip π«Ά
πΈ Parameters πΈ
UPLOβUPLOisCHARACTER*1. specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': Upper triangular, form isA = U*D*U**T;= 'L': Lower triangular, form isA = L*D*L**T.NβNisINTEGER. the order of the matrixA.N >= 0.AβAβREAL array, dimension (LDA,N)β okay so listen π- On entry, it's the block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed bySSYTRF_ROOK. - On exit, if
INFO = 0, you get the (symmetric) inverse of the original matrix. IfUPLO = 'U', the upper triangular part of the inverse is formed and the part ofAbelow the diagonal is not referenced; ifUPLO = 'L'the lower triangular part of the inverse is formed and the part ofAabove the diagonal is not referenced. Bestie, don't touch the half it told you not to touch, fr fr π
- On entry, it's the block diagonal matrix
LDAβINTEGER. The leading dimension of the arrayA.LDA >= max(1,N). That's the whole vibe check β¨IPIVβINTEGER array, dimension (N). All the details of the interchanges and the block structure ofDas determined bySSYTRF_ROOK. This is the receipts from the factorization, iykyk π§ΎWORKβREAL array, dimension (N). Just the workspace, no drama πINFOβINTEGER, and it's literally the mood ring of the whole call π= 0: successful exit π slay< 0: ifINFO = -i, the i-th argument had an illegal value π> 0: ifINFO = i,D(i,i) = 0; the matrix is singular and its inverse could not be computed. Not her failing, the matrix was singular first. Periodt π«Ά
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
πΈ Contributors
- April 2012, Igor Kozachenko, Computer Science Division, University of California, Berkeley
- September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
π Definition
Definition at line 128 of file ssytri_rook.f.
π¦ zhetri_rook
subroutine zhetri_rook (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer info)
ZHETRI_ROOK computes the inverse of HE matrix using the factorization obtained with the bounded Bunch-Kaufman ("rook") diagonal pivoting method. HE meaning Hermitian, babes π
β¨ Purpose
ZHETRI_ROOK computes the inverse of a complex Hermitian indefinite matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHETRF_ROOK. She's the inverse girlie of the ZHETRF_ROOK factorization, that's the whole lore π
π Parameters
UPLOβCHARACTER*1. Specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': Upper triangular, form isA = U*D*U**H;= 'L': Lower triangular, form isA = L*D*L**H. Pick your fighter, both are valid π«
NβINTEGER. The order of the matrixA.N >= 0. Zero is allowed, she's just a tiny matrix πAβCOMPLEX*16 array, dimension (LDA,N)- On entry, the block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed byZHETRF_ROOK. - On exit, if
INFO = 0, the (Hermitian) inverse of the original matrix. IfUPLO = 'U', the upper triangular part of the inverse is formed and the part ofAbelow the diagonal is not referenced; ifUPLO = 'L'the lower triangular part of the inverse is formed and the part ofAabove the diagonal is not referenced. Same rule as always: the other triangle is off-limits, don't be nosy π«Ά
- On entry, the block diagonal matrix
LDAβINTEGER. The leading dimension of the arrayA.LDA >= max(1,N). No notes β¨IPIVβINTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined byZHETRF_ROOK. The crossover episode between the two routines, honestly π₯WORKβCOMPLEX*16 array, dimension (N). Scratch space, she's just here to help πINFOβINTEGER= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value π> 0: ifINFO = i,D(i,i) = 0; the matrix is singular and its inverse could not be computed. Can't inverse a singular matrix, that's just math, ngl π
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
πΈ Contributors
- November 2013, Igor Kozachenko, Computer Science Division, University of California, Berkeley
- September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
π Definition
Definition at line 127 of file zhetri_rook.f.
π§ zsytri_rook
subroutine zsytri_rook (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer info)
ZSYTRI_ROOK β the symmetric complex one. Note: symmetric, not Hermitian, the transpose is plain **T here and that is the entire difference, no cap β
β¨ Purpose
ZSYTRI_ROOK computes the inverse of a complex symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by ZSYTRF_ROOK. Lowkey iconic how tidy that is π¦
π Parameters
UPLOβCHARACTER*1. Specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': Upper triangular, form isA = U*D*U**T;= 'L': Lower triangular, form isA = L*D*L**T.
NβINTEGER. The order of the matrixA.N >= 0.AβCOMPLEX*16 array, dimension (LDA,N)- On entry, the block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed byZSYTRF_ROOK. - On exit, if
INFO = 0, the (symmetric) inverse of the original matrix. IfUPLO = 'U', the upper triangular part of the inverse is formed and the part ofAbelow the diagonal is not referenced; ifUPLO = 'L'the lower triangular part of the inverse is formed and the part ofAabove the diagonal is not referenced. Your half only, bestie, stay in your lane π
- On entry, the block diagonal matrix
LDAβINTEGER. The leading dimension of the arrayA.LDA >= max(1,N).IPIVβINTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined byZSYTRF_ROOK.WORKβCOMPLEX*16 array, dimension (N). Workspace, love her πΈINFOβINTEGER= 0: successful exit β¨< 0: ifINFO = -i, the i-th argument had an illegal value> 0: ifINFO = i,D(i,i) = 0; the matrix is singular and its inverse could not be computed. Same singular-matrix tragedy as her sisters π
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
πΈ Contributors
- December 2016, Igor Kozachenko, Computer Science Division, University of California, Berkeley
- September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
π Definition
Definition at line 128 of file zsytri_rook.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code. Not a human author, a machine author, and honestly? She ate π€π
That's the whole page, bestie β four routines, all their arguments, all theirINFOvalues, all the contributor credits, and every singleDefinition at lineintact. Nothing dropped, nothing invented. π«Ά
Okay so this whole thing is LAPACK Version 3.12.0, page hetri_rook(3), and it's been a genuine joy, mwah π Go invert something Hermitian, drink water, and remember: if INFO > 0, it's the matrix's fault, not yours. periodt. πβ¨π
π¦ 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