hetri2(3)
π hetri2(3) π
So bestie, hetri2 is the manpage for {he,sy}tri2: inverse β aka the whole little family of LAPACK routines that take your factored matrix and hand you back its inverse. Come sit, we're doing all six of them. β¨
π¦ SYNOPSIS π¦
β¨ Functions β¨
subroutine chetri2 (uplo, n, a, lda, ipiv, work, lwork, info)β CHETRI2subroutine csytri2 (uplo, n, a, lda, ipiv, work, lwork, info)β CSYTRI2subroutine dsytri2 (uplo, n, a, lda, ipiv, work, lwork, info)β DSYTRI2subroutine ssytri2 (uplo, n, a, lda, ipiv, work, lwork, info)β SSYTRI2subroutine zhetri2 (uplo, n, a, lda, ipiv, work, lwork, info)β ZHETRI2subroutine zsytri2 (uplo, n, a, lda, ipiv, work, lwork, info)β ZSYTRI2
π Detailed Description π
Yeah, so this is the part where it's justβ¦ function documentation, one after another, six times, like a group chat where everyone sends the same message. Each one has a Purpose, a big old Parameters list, an Author, and a Definition at line so you can go find it in the source. Let's go one by one, no skipping, I know you'd never. π«Ά
π Function Documentation π
π subroutine chetri2 π
subroutine chetri2 (character uplo, integer n, complex, dimension( lda, * )
a, integer lda, integer, dimension( * ) ipiv, complex, dimension( * )
work, integer lwork, integer info)
CHETRI2
πΈ Purpose πΈ
Okay so here's the deal: CHETRI2 computes the inverse of a COMPLEX hermitian indefinite matrix A, using the factorization A = U*D*U**T or A = L*D*L**T that somebody (hi, CHETRF) already computed for you. And bc it's extra, CHETRI2 sets the LEADING DIMENSION of the workspace before it calls CHETRI2X, which is the one that actually does the inverse. Middle-management energy, honestly. π
πΈ Parameters πΈ
UPLOβUPLO is CHARACTER*1. Tells you whether the details of the factorization got stored as an upper or lower triangular matrix, bestie:= 'U': Upper triangular, form isA = U*D*U**T;= 'L': Lower triangular, form isA = L*D*L**T.
NβN is INTEGER. The order of the matrixA.N >= 0. (Zero is allowed, we don't judge. π«Ά)AβA is COMPLEX array, dimension (LDA,N).- On entry: the block diagonal matrix
Dand the multipliers used to obtain the factorUorL, as computed byCHETRF. - On exit, if
INFO = 0, it's 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. So like, half of it is just vibes. π
- On entry: the block diagonal matrix
LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N). No cap.IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofD, as determined byCHETRF. So it's the receipts. π§ΎWORKβWORK is COMPLEX array, dimension (MAX(1,LWORK)).LWORKβLWORK is INTEGER. The dimension of the arrayWORK. IfN = 0,LWORK >= 1, elseLWORK >= (N+NB+1)*(NB+3). And ifLWORK = -1, then a workspace query is assumed, meaning the routine:- calculates the optimal size of the
WORKarray, returns this value as the first entry of theWORKarray, - and no error message related to
LWORKis issued by XERBLA. Literally refuses to yell at you. Iconic.
- calculates the optimal size of the
INFOβINFO is INTEGER.= 0: successful exit π< 0: ifINFO = -i, thei-th argument had an illegal value> 0: ifINFO = i,D(i,i) = 0; the matrix is singular and its inverse could not be computed. π Sorry bestie. It's giving "not today."
πΈ Author πΈ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
πΈ Definition at line 126 of file chetri2.f. πΈ
π subroutine csytri2 π
subroutine csytri2 (character uplo, integer n, complex, dimension( lda, * )
a, integer lda, integer, dimension( * ) ipiv, complex, dimension( * )
work, integer lwork, integer info)
CSYTRI2
πΈ Purpose πΈ
CSYTRI2 computes the inverse of a COMPLEX symmetric indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by CSYTRF. Same deal as its hermitian sibling up there β CSYTRI2 sets the LEADING DIMENSION of the workspace before calling CSYTRI2X, which actually computes the inverse. β¨
πΈ 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 isA = U*D*U**T;= 'L': Lower triangular, form isA = L*D*L**T.
NβN is INTEGER. The order of the matrixA.N >= 0.AβA is COMPLEX array, dimension (LDA,N).- On entry: the block diagonal matrix
Dand the multipliers used to obtain the factorUorL, as computed byCSYTRF. - 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βLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofD, as determined byCSYTRF.WORKβWORK is COMPLEX array, dimension (N+NB+1)*(NB+3). Note this one spells the size out instead of doing theMAX(1,LWORK)thing, and yes that's intentional, iykyk. πLWORKβLWORK is INTEGER. The dimension of the arrayWORK.WORKis size>= (N+NB+1)*(NB+3). IfLWORK = -1, then a workspace query is assumed; the routine:- calculates the optimal size of the
WORKarray, returns this value as the first entry of theWORKarray, - and no error message related to
LWORKis issued byXERBLA.
- calculates the optimal size of the
INFOβINFO is INTEGER.= 0: successful exit< 0: ifINFO = -i, thei-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.
πΈ Definition at line 126 of file csytri2.f. πΈ
π subroutine dsytri2 π
subroutine dsytri2 (character uplo, integer n, double precision, dimension(
lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision,
dimension( * ) work, integer lwork, integer info)
DSYTRI2
πΈ Purpose πΈ
DSYTRI2 computes the inverse of a DOUBLE PRECISION symmetric indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by DSYTRF. And yeah, DSYTRI2 sets the LEADING DIMENSION of the workspace before calling DSYTRI2X that actually computes the inverse. Same ritual, double the precision. π₯
πΈ 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 isA = U*D*U**T;= 'L': Lower triangular, form isA = L*D*L**T.
NβN is INTEGER. The order of the matrixA.N >= 0.AβA is DOUBLE PRECISION array, dimension (LDA,N).- On entry: the block diagonal matrix
Dand the multipliers used to obtain the factorUorL, as computed byDSYTRF. - 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βLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofD, as determined byDSYTRF.WORKβWORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)).LWORKβLWORK is INTEGER. The dimension of the arrayWORK. IfN = 0,LWORK >= 1, elseLWORK >= (N+NB+1)*(NB+3). IfLWORK = -1, then a workspace query is assumed; the routine:- calculates the optimal size of the
WORKarray, returns this value as the first entry of theWORKarray, - and no error message related to
LWORKis issued byXERBLA.
- calculates the optimal size of the
INFOβINFO is INTEGER.= 0: successful exit β¨< 0: ifINFO = -i, thei-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.
πΈ Definition at line 126 of file dsytri2.f. πΈ
π§ subroutine ssytri2 π§
subroutine ssytri2 (character uplo, integer n, real, dimension( lda, * ) a,
integer lda, integer, dimension( * ) ipiv, real, dimension( * ) work,
integer lwork, integer info)
SSYTRI2
πΈ Purpose πΈ
SSYTRI2 computes the inverse of a REAL symmetric indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by SSYTRF. And bestie, you already know: SSYTRI2 sets the LEADING DIMENSION of the workspace before calling SSYTRI2X that actually computes the inverse. The whole family is like this, it's a bit. π
πΈ 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 isA = U*D*U**T;= 'L': Lower triangular, form isA = L*D*L**T.
NβN is INTEGER. The order of the matrixA.N >= 0.Aβ β¦and okay we're literally out of page here, the rest of this one is rolling in with the next chunk, hold that thought π«Ά
Okay so picking up right in the middle of ssytri2βs parameter list β no biggie, weβre carrying on like a group chat that never sleeps π
AβAisREAL array, dimension(LDA,N). On entry, itβs the block diagonal matrixDand the multipliers used to obtain the factorUorLas computed bySSYTRF. On exit, ifINFO = 0, itβs 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. π«ΆLDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,N). β¨IPIVβIPIVisINTEGER array, dimension(N). Details of the interchanges and the block structure ofDas determined bySSYTRF. πWORKβWORKisREAL array, dimension(MAX(1,LWORK)). πΈLWORKβLWORKisINTEGER. The dimension of the arrayWORK. IfN = 0,LWORK >= 1, elseLWORK >= (N+NB+1)*(NB+3). IfLWORK = -1, then a workspace query is assumed; the routine calculates:- the optimal size of the
WORKarray, returns this value as the first entry of theWORKarray, - and no error message related to
LWORKis issued byXERBLA. π₯
- the optimal size of the
INFOβINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-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.
Definition at line 126 of file ssytri2.f. π
π subroutine zhetri2 π
subroutine zhetri2 (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer lwork, integer info)
β¨ Purpose β¨
ZHETRI2 computes the inverse of a COMPLEX*16 hermitian indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by ZHETRF. ZHETRI2 sets the LEADING DIMENSION of the workspace before calling ZHETRI2X that actually computes the inverse. Iconic delegation, honestly π
π 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βAisCOMPLEX*16 array, dimension(LDA,N). On entry, the block diagonal matrixDand the multipliers used to obtain the factorUorLas computed byZHETRF. On exit, ifINFO = 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. π«ΆLDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,N). πIPIVβIPIVisINTEGER array, dimension(N). Details of the interchanges and the block structure ofDas determined byZHETRF. πWORKβWORKisCOMPLEX*16 array, dimension(MAX(1,LWORK)).πΈLWORKβLWORKisINTEGER. The dimension of the arrayWORK. IfN = 0,LWORK >= 1, elseLWORK >= (N+NB+1)*(NB+3). IfLWORK = -1, then a workspace query is assumed; the routine calculates:- the optimal size of the
WORKarray, returns this value as the first entry of theWORKarray, - and no error message related to
LWORKis issued byXERBLA. π₯
- the optimal size of the
INFOβINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-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.
Definition at line 126 of file zhetri2.f. π
π subroutine zsytri2 π
subroutine zsytri2 (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer lwork, integer info)
β¨ Purpose β¨
ZSYTRI2 computes the inverse of a COMPLEX*16 symmetric indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by ZSYTRF. ZSYTRI2 sets the LEADING DIMENSION of the workspace before calling ZSYTRI2X that actually computes the inverse. Main character energy from start to finish π
π 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βAisCOMPLEX*16 array, dimension(LDA,N). On entry, the block diagonal matrixDand the multipliers used to obtain the factorUorLas computed byZSYTRF. On exit, ifINFO = 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. π«ΆLDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,N). πIPIVβIPIVisINTEGER array, dimension(N). Details of the interchanges and the block structure ofDas determined byZSYTRF. πWORKβWORKisCOMPLEX*16 array, dimension(N+NB+1)*(NB+3)πΈLWORKβLWORKisINTEGER. The dimension of the arrayWORK.WORKis size>= (N+NB+1)*(NB+3). IfLDWORK = -1, then a workspace query is assumed; the routine calculates:- the optimal size of the
WORKarray, returns this value as the first entry of theWORKarray, - and no error message related to
LDWORKis issued byXERBLA. π₯
- the optimal size of the
INFOβINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-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.
Definition at line 126 of file zsytri2.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. π€β¨
Source/version: LAPACK Version 3.12.0. Page: hetri2(3). Date: the date Doxygen generated this β itβs in the footer, bestie, iykyk π
π
π¦ 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