hptri(3)
π¦ hptri(3) β {hp,sp}tri: triangular inverse π
okay so bestie, welcome to the hptri(3) page β¨ this is the whole family β {hp,sp}tri β and yes she's giving "triangular inverse", no cap. Six routines, one job, absolute main character energy π
πΈ NAME
hptri β {hp,sp}tri: triangular inverse π
β¨ SYNOPSIS
π«Ά Functions
chptriβsubroutine chptri (uplo, n, ap, ipiv, work, info)β CHPTRIcsptriβsubroutine csptri (uplo, n, ap, ipiv, work, info)β CSPTRIdsptriβsubroutine dsptri (uplo, n, ap, ipiv, work, info)β DSPTRIssptriβsubroutine ssptri (uplo, n, ap, ipiv, work, info)β SSPTRIzhptriβsubroutine zhptri (uplo, n, ap, ipiv, work, info)β ZHPTRIzsptriβsubroutine zsptri (uplo, n, ap, ipiv, work, info)β ZSPTRI
π Detailed Description
so the vibe of this section in the source is basically "see below" β the real tea is all in Function Documentation, where each of the six icons gets her own little spotlight. keep scrolling, bestie π
π Function Documentation
π chptri β the complex Hermitian one, single precision
subroutine chptri (character uplo, integer n, complex, dimension( * ) ap,
integer, dimension( * ) ipiv, complex, dimension( * ) work, integer
info)
CHPTRI π¦
Purpose β CHPTRI computes the inverse of a complex Hermitian indefinite matrix A in packed storage, using the factorization A = U*D*U**H or A = L*D*L**H computed by CHPTRF. like, she takes the factorization CHPTRF already did and flips it into a full inverse. periodt.
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**H;= 'L': Lower triangular, form isA = L*D*L**H.
NβN is INTEGER. The order of the matrixA.N >= 0. πAPβAP is COMPLEX array, dimension (N*(N+1)/2).- On entry: the block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed byCHPTRF, stored as a packed triangular matrix. - On exit, if
INFO = 0: the (Hermitian) inverse of the original matrix, stored as a packed triangular matrix. The j-th column ofinv(A)is stored in the arrayAPas follows:- if
UPLO = 'U',AP(i + (j-1)*j/2) = inv(A)(i,j)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j)forj<=i<=n.
- if
- On entry: the block diagonal matrix
IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined byCHPTRF. πWORKβWORK is COMPLEX array, dimension (N).INFOβINFO is 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. π
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 108 of file chptri.f.
π csptri β the complex symmetric one, single precision
subroutine csptri (character uplo, integer n, complex, dimension( * ) ap,
integer, dimension( * ) ipiv, complex, dimension( * ) work, integer
info)
CSPTRI πΈ
Purpose β CSPTRI computes the inverse of a complex symmetric indefinite matrix A in packed storage, using the factorization A = U*D*U**T or A = L*D*L**T computed by CSPTRF. note the **T bestie, not **H β symmetric, not Hermitian, iykyk π
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.APβAP is COMPLEX array, dimension (N*(N+1)/2).- On entry: the block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed byCSPTRF, stored as a packed triangular matrix. - On exit, if
INFO = 0: the (symmetric) inverse of the original matrix, stored as a packed triangular matrix. The j-th column ofinv(A)is stored in the arrayAPas follows:- if
UPLO = 'U',AP(i + (j-1)*j/2) = inv(A)(i,j)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j)forj<=i<=n.
- if
- On entry: the block diagonal matrix
IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined byCSPTRF.WORKβWORK is COMPLEX array, dimension (N).INFOβINFO is 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. π
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 108 of file csptri.f.
π§ dsptri β the real symmetric one, double precision
subroutine dsptri (character uplo, integer n, double precision, dimension( *
) ap, integer, dimension( * ) ipiv, double precision, dimension( * )
work, integer info)
DSPTRI π₯
Purpose β DSPTRI computes the inverse of a real symmetric indefinite matrix A in packed storage, using the factorization A = U*D*U**T or A = L*D*L**T computed by DSPTRF. double the precision, double the slay π
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.APβAP is DOUBLE PRECISION array, dimension (N*(N+1)/2).- On entry: the block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed byDSPTRF, stored as a packed triangular matrix. - On exit, if
INFO = 0: the (symmetric) inverse of the original matrix, stored as a packed triangular matrix. The j-th column ofinv(A)is stored in the arrayAPas follows:- if
UPLO = 'U',AP(i + (j-1)*j/2) = inv(A)(i,j)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j)forj<=i<=n.
- if
- On entry: the block diagonal matrix
IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined byDSPTRF.WORKβWORK is DOUBLE PRECISION array, dimension (N).INFOβINFO is 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. π
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 108 of file dsptri.f.
π ssptri β the real symmetric one, single precision
subroutine ssptri (character uplo, integer n, real, dimension( * ) ap,
integer, dimension( * ) ipiv, real, dimension( * ) work, integer info)
SSPTRI β
Purpose β SSPTRI computes the inverse of a real symmetric indefinite matrix A in packed storage, using the factorization A = U*D*U**T or A = L*D*L**T computed by SSPTRF. lowkey the workhorse of the whole friend group ngl π«Ά
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.APβAP is REAL array, dimension (N*(N+1)/2).- On entry: the block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed bySSPTRF, stored as a packed triangular matrix. - On exit, if
INFO = 0: the (symmetric) inverse of the original matrix, stored as a packed triangular matrix. The j-th column ofinv(A)is stored in the arrayAPas follows:- if
UPLO = 'U',AP(i + (j-1)*j/2) = inv(A)(i,j)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j)forj<=i<=n.
- if
- On entry: the block diagonal matrix
IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined bySSPTRF.WORKβWORK is REAL array, dimension (N).INFOβINFO is 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. π
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 108 of file ssptri.f.
π¦ zhptri β the complex Hermitian one, double precision
subroutine zhptri (character uplo, integer n, complex*16, dimension( * ) ap,
integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer
info)
ZHPTRI π§
Purpose β ZHPTRI computes the inverse of a complex Hermitian indefinite matrix A in packed storage, using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHPTRF. big complex*16 energy, the way she ate π
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**H;= 'L': Lower triangular, form isA = L*D*L**H.
NβN is INTEGER. The order of the matrixA.N >= 0.APβ okay bestie the source page literally cuts off right here mid-parameter π hold that thought β the rest ofZHPTRIlives in the next part π«Ά
AP β okay so this one is a COMPLEX*16 array, dimension (N*(N+1)/2). On entry, it's holding the block diagonal matrix D plus the multipliers that were used to get the factor U or L as computed by ZHPTRF, all stored as a packed triangular matrix. π
On exit, if INFO = 0, you get the (Hermitian) inverse of the original matrix, stored as a packed triangular matrix. The j-th column of inv(A) lives in AP like this:
if UPLO = 'U', AP(i + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j;
if UPLO = 'L',
AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.
IPIV β a INTEGER array, dimension (N), carrying the details of the interchanges and the block structure of D exactly as determined by ZHPTRF. π«Ά
WORK β a COMPLEX*16 array, dimension (N). That's it, that's the whole vibe.
INFO β an INTEGER, and it's giving status report:
= 0: successful exit, we love a clean run β¨< 0: ifINFO = -i, the i-th argument had an illegal value (rude)> 0: ifINFO = i, thenD(i,i) = 0; the matrix is singular and its inverse could not be computed. π no inverse for you.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition
Definition at line 108 of file zhptri.f.
π subroutine zsptri (character uplo, integer n, complex*16, dimension( * ) ap, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer info)
ZSPTRI
π― Purpose
ZSPTRIcomputes the inverse of a complex symmetric indefinite matrixAin packed storage using the factorizationA = U*D*U**TorA = L*D*L**Tcomputed byZSPTRF. π§β¨
πΈ Parameters
UPLO β a CHARACTER*1. It 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 β an INTEGER. The order of the matrix A. N >= 0. periodt.
AP β a COMPLEX*16 array, dimension (N*(N+1)/2). On entry, it's the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ZSPTRF, stored as a packed triangular matrix. π
On exit, if INFO = 0, you get the (symmetric) inverse of the original matrix, stored as a packed triangular matrix. The j-th column of inv(A) is stored in AP like this:
if UPLO = 'U', AP(i + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j;
if UPLO = 'L',
AP(i + (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.
IPIV β an INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by ZSPTRF. π₯
WORK β a COMPLEX*16 array, dimension (N). Same energy as before.
INFO β an INTEGER:
= 0: successful exit, we slay β¨< 0: ifINFO = -i, the i-th argument had an illegal value> 0: ifINFO = i, thenD(i,i) = 0; the matrix is singular and its inverse could not be computed. π singular behaviour, literally cannot.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition
Definition at line 108 of file zsptri.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
And that's the whole page, bestie β this glow-up is officially from LAPACK Version 3.12.0, page hptri(3), and it ate, no crumbs. π
πβ¨
π¦ 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