hptrs(3)
π hptrs(3) π
(Library Functions Manual β yes bestie, we're in the packed-solve era π )
β¨ NAME β¨
hptrs β {hp,sp}trs: triangular solve using factor π
πΈ SYNOPSIS πΈ
π Functions π
subroutine chptrs (uplo, n, nrhs, ap, ipiv, b, ldb, info)βCHPTRSsubroutine csptrs (uplo, n, nrhs, ap, ipiv, b, ldb, info)βCSPTRSsubroutine dsptrs (uplo, n, nrhs, ap, ipiv, b, ldb, info)βDSPTRSsubroutine ssptrs (uplo, n, nrhs, ap, ipiv, b, ldb, info)βSSPTRSsubroutine zhptrs (uplo, n, nrhs, ap, ipiv, b, ldb, info)βZHPTRSsubroutine zsptrs (uplo, n, nrhs, ap, ipiv, b, ldb, info)βZSPTRS
π¦ Detailed Description π¦
Okay so this page is the glow-up for the packed triangular solves. The full function-by-function tea is right below π
π Function Documentation π
π chptrs π
subroutine chptrs (character uplo, integer n, integer nrhs, complex, dimension( * ) ap, integer, dimension( * ) ipiv, complex, dimension( ldb, * ) b, integer ldb, integer info)
CHPTRS
π« Purpose
CHPTRS solves a system of linear equations A*X = B with a complex Hermitian matrix A stored in packed format using the factorization A = U*D*U**H or A = L*D*L**H computed by CHPTRF. π
π§ 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.NβN is INTEGER. The order of the matrixA.N >= 0.NRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.APβAP is COMPLEX array, dimension (N*(N+1)/2). The block diagonal matrixDand the multipliers used to obtain the factorUorLas computed byCHPTRF, stored as a packed triangular matrix.IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined byCHPTRF.BβB is COMPLEX array, dimension (LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX.LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,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 114 of file chptrs.f.
π csptrs π
subroutine csptrs (character uplo, integer n, integer nrhs, complex, dimension( * ) ap, integer, dimension( * ) ipiv, complex, dimension( ldb, * ) b, integer ldb, integer info)
CSPTRS
π« Purpose
CSPTRS solves a system of linear equations A*X = B with a complex symmetric matrix A stored in packed format using the factorization A = U*D*U**T or A = L*D*L**T computed by CSPTRF. π
π§ 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**T;= 'L': Lower triangular, form is A = L*D*L**T.NβN is INTEGER. The order of the matrixA.N >= 0.NRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.APβAP is COMPLEX array, dimension (N*(N+1)/2). The block diagonal matrixDand the multipliers used to obtain the factorUorLas computed byCSPTRF, stored as a packed triangular matrix.IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined byCSPTRF.BβB is COMPLEX array, dimension (LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX.LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,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 114 of file csptrs.f.
π dsptrs π
subroutine dsptrs (character uplo, integer n, integer nrhs, double precision, dimension( * ) ap, integer, dimension( * ) ipiv, double precision, dimension( ldb, * ) b, integer ldb, integer info)
DSPTRS
π« Purpose
DSPTRS solves a system of linear equations A*X = B with a real symmetric matrix A stored in packed format using the factorization A = U*D*U**T or A = L*D*L**T computed by DSPTRF. π
π§ 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**T;= 'L': Lower triangular, form is A = L*D*L**T.NβN is INTEGER. The order of the matrixA.N >= 0.NRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.APβAP is DOUBLE PRECISION array, dimension (N*(N+1)/2). The block diagonal matrixDand the multipliers used to obtain the factorUorLas computed byDSPTRF, stored as a packed triangular matrix.IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined byDSPTRF.BβB is DOUBLE PRECISION array, dimension (LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX.LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,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 114 of file dsptrs.f.
π ssptrs π
subroutine ssptrs (character uplo, integer n, integer nrhs, real, dimension( * ) ap, integer, dimension( * ) ipiv, real, dimension( ldb, * ) b, integer ldb, integer info)
SSPTRS
π« Purpose
SSPTRS solves a system of linear equations A*X = B with a real symmetric matrix A stored in packed format using the factorization A = U*D*U**T or A = L*D*L**T computed by SSPTRF. π
π§ 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**T;= 'L': Lower triangular, form is A = L*D*L**T.NβN is INTEGER. The order of the matrixA.N >= 0.NRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.APβAP is REAL array, dimension (N*(N+1)/2). The block diagonal matrixDand the multipliers used to obtain the factorUorLas computed bySSPTRF, stored as a packed triangular matrix.IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure ofDas determined bySSPTRF.BβB is REAL array, dimension (LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX.LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,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 114 of file ssptrs.f.
π zhptrs π
subroutine zhptrs (character uplo, integer n, integer nrhs, complex*16, dimension( * ) ap, integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer ldb, integer info)
ZHPTRS
π« Purpose
ZHPTRS solves a system of linear equations A*X = B with a complex Hermitian matrix A stored in packed format using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHPTRF. π
π§ 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.NβN is INTEGER. The order of the matrixA.N >= 0.NRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.APβ
π
the rest of the zhptrs params (yes bestie we're still going, hydrate)
APβCOMPLEX*16 array, dimension (N*(N+1)/2). This is where the block diagonal matrix D lives, plus the multipliers you used to get the factor U or L, exactly asZHPTRFcomputed them, all squished into a packed triangular matrix. It's giving "everything in one bag" energy πIPIVβINTEGER array, dimension (N). The receipts for the interchanges and the block structure of D, as determined byZHPTRF. iykyk πBβCOMPLEX*16 array, dimension (LDB,NRHS). On entry: the right hand side matrix B. On exit: plot twist, it's the solution matrix X πβ¨LDBβINTEGER. The leading dimension of the array B. Constraint era:LDB >= max(1,N). Respect it or the routine is gonna be so disappointed in you πINFOβINTEGER. The vibe check at the end:= 0: successful exit, slay π< 0: ifINFO = -i, the i-th argument had an illegal value β so like, one of your args was Not It π
Author β Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver, NAG Ltd. (the whole academic squad, respectfully π«Ά)
Definition at line 114 of file zhptrs.f. β yes, that exact line, no cap.
π zsptrs (ZSPTRS) β the symmetric sibling π
Okay so bestie, now we pivot to zsptrs, and the signature is a whole meal:
subroutine zsptrs (character uplo, integer n, integer nrhs, complex*16,
dimension( * ) ap, integer, dimension( * ) ipiv, complex*16, dimension(
ldb, * ) b, integer ldb, integer info)
β¨ Purpose β¨
ZSPTRS solves a system of linear equations A*X = B with a complex symmetric matrix A stored in packed format, using the factorization A = U*D*U**T or A = L*D*L**T computed by ZSPTRF. Notice it's **T not **H β she's symmetric, not Hermitian, and she knows it π
π Parameters π
UPLOβCHARACTER*1. Tells us 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 matrix A.N >= 0. Zero is valid bestie, she's inclusive π«ΆNRHSβINTEGER. The number of right hand sides, i.e., the number of columns of the matrix B.NRHS >= 0. Same energy, also inclusive.APβCOMPLEX*16 array, dimension (N*(N+1)/2). Again: the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed byZSPTRF, stored as a packed triangular matrix. Packed! Iconic behavior β¨IPIVβINTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined byZSPTRF. The lore ποΈBβCOMPLEX*16 array, dimension (LDB,NRHS). On entry, the right hand side matrix B. On exit, the solution matrix X. Same glow-up as before, main character transformation πLDBβINTEGER. The leading dimension of the array B.LDB >= max(1,N). Non-negotiable, fr fr.INFOβINTEGER. The final verdict:= 0: successful exit π₯< 0: ifINFO = -i, the i-th argument had an illegal value. Somebody's getting read to filth π
Author β Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver, NAG Ltd. (same iconic four, we love consistency π)
Definition at line 114 of file zsptrs.f. β line 114 hive rise up β
One lil' note before you go: a badINFO < 0isn't a scandal, it literally just points at which argument was illegal β check the indexiand go fix that arg, bestie. No panic spiraling needed π§
and that's the whole page, mwah π
Author: Generated automatically by Doxygen for LAPACK from the source code. (yes, the doc wrote itself, queen behavior π)
Sign-off: This absolute gem is LAPACK, Version 3.12.0, and you're reading the hptrs(3) page β go forth and solve your packed systems, you've got this π¦πΈ
π¦ 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