pptrs(3)
π pptrs(3) β the triangular-solve glow-up
okay so bestie, welcome to pptrs π this is the LAPACK manual page for the whole pptrs family β four subroutines that all do the same iconic thing: triangular solve using factor. One page, four routines, all of them absolutely carrying.
Think of this page as the group chat where all four siblings live: cpptrs, dpptrs, spptrs, and zpptrs β one for each flavour of float, and they all solve A*X = B where A is positive definite and packed, using the Cholesky factorization somebody else (the matching pptrf) already computed. Slay. π«Ά
β¨ SYNOPSIS β¨
π Functions
subroutine cpptrs (uplo, n, nrhs, ap, b, ldb, info)βCPPTRSsubroutine dpptrs (uplo, n, nrhs, ap, b, ldb, info)βDPPTRSsubroutine spptrs (uplo, n, nrhs, ap, b, ldb, info)βSPPTRSsubroutine zpptrs (uplo, n, nrhs, ap, b, ldb, info)βZPPTRS
ngl, that synopsis is giving "same outfit, four different colours" and honestly? iconic. π
πΈ Detailed Description
so the detail section on this page is lowkey shy β it doesn't say anything extra beyond the four routines themselves. everything you actually need is in the function docs right below, where each sibling gets its own moment in the spotlight β¨
π¦ Function Documentation π¦
π cpptrs
subroutine cpptrs (character uplo, integer n, integer nrhs, complex,
dimension( * ) ap, complex, dimension( ldb, * ) b, integer ldb,
integer info)
CPPTRS
Purpose
CPPTRS solves a system of linear equations A*X = B with a Hermitian positive definite matrix A in packed storage using the Cholesky factorization A = U**H*U or A = L*L**H computed by CPPTRF. π§
Parameters
UPLOβ isCHARACTER*1= 'U': upper triangle of A is stored;= 'L': lower triangle of A is stored.
Nβ isINTEGER. The order of the matrix A.N >= 0.NRHSβ isINTEGER. The number of right hand sides, i.e. the number of columns of the matrix B.NRHS >= 0.APβ isCOMPLEXarray, dimension(N*(N+1)/2). The triangular factor U or L from the Cholesky factorizationA = U**H*UorA = L*L**H, packed columnwise in a linear array. The j-th column of U or L is stored in the array AP as follows: ifUPLO = 'U',AP(i + (j-1)*j/2) = U(i,j)for1<=i<=j; ifUPLO = 'L',AP(i + (j-1)*(2n-j)/2) = L(i,j)forj<=i<=n.Bβ isCOMPLEXarray, dimension(LDB,NRHS). On entry, the right hand side matrix B. On exit, the solution matrix X. (it straight-up swaps vibes on the way out π«)LDBβ isINTEGER. The leading dimension of the array B.LDB >= max(1,N).INFOβ isINTEGER.= 0: successful exit< 0: ifINFO = -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 107 of file cpptrs.f.
π dpptrs
subroutine dpptrs (character uplo, integer n, integer nrhs, double
precision, dimension( * ) ap, double precision, dimension( ldb, * ) b,
integer ldb, integer info)
DPPTRS
Purpose
DPPTRS solves a system of linear equations A*X = B with a symmetric positive definite matrix A in packed storage using the Cholesky factorization A = U**T*U or A = L*L**T computed by DPPTRF. π
notice the glow-up: this one's symmetric and uses**T(transpose), not**Hβ because double precision is real, bestie, no conjugation needed.
Parameters
UPLOβ isCHARACTER*1= 'U': upper triangle of A is stored;= 'L': lower triangle of A is stored.
Nβ isINTEGER. The order of the matrix A.N >= 0.NRHSβ isINTEGER. The number of right hand sides, i.e. the number of columns of the matrix B.NRHS >= 0.APβ isDOUBLE PRECISIONarray, dimension(N*(N+1)/2). The triangular factor U or L from the Cholesky factorizationA = U**T*UorA = L*L**T, packed columnwise in a linear array. The j-th column of U or L is stored in the array AP as follows: ifUPLO = 'U',AP(i + (j-1)*j/2) = U(i,j)for1<=i<=j; ifUPLO = 'L',AP(i + (j-1)*(2n-j)/2) = L(i,j)forj<=i<=n.Bβ isDOUBLE PRECISIONarray, dimension(LDB,NRHS). On entry, the right hand side matrix B. On exit, the solution matrix X.LDBβ isINTEGER. The leading dimension of the array B.LDB >= max(1,N).INFOβ isINTEGER.= 0: successful exit< 0: ifINFO = -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 107 of file dpptrs.f.
π spptrs
subroutine spptrs (character uplo, integer n, integer nrhs, real,
dimension( * ) ap, real, dimension( ldb, * ) b, integer ldb,
integer info)
SPPTRS
Purpose
SPPTRS solves a system of linear equations A*X = B with a symmetric positive definite matrix A in packed storage using the Cholesky factorization A = U**T*U or A = L*L**T computed by SPPTRF. πΈ
Parameters
UPLOβ isCHARACTER*1= 'U': upper triangle of A is stored;= 'L': lower triangle of A is stored.
Nβ isINTEGER. The order of the matrix A.N >= 0.NRHSβ isINTEGER. The number of right hand sides, i.e. the number of columns of the matrix B.NRHS >= 0.APβ isREALarray, dimension(N*(N+1)/2). The triangular factor U or L from the Cholesky factorizationA = U**T*UorA = L*L**T, packed columnwise in a linear array. The j-th column of U or L is stored in the array AP as follows: ifUPLO = 'U',AP(i + (j-1)*j/2) = U(i,j)for1<=i<=j; ifUPLO = 'L',AP(i + (j-1)*(2n-j)/2) = L(i,j)forj<=i<=n.Bβ isREALarray, dimension(LDB,NRHS). On entry, the right hand side matrix B. On exit, the solution matrix X.LDBβ isINTEGER. The leading dimension of the array B.LDB >= max(1,N).INFOβ isINTEGER.= 0: successful exit< 0: ifINFO = -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 107 of file spptrs.f.
π zpptrs
subroutine zpptrs (character uplo, integer n, integer nrhs, complex*16,
dimension( * ) ap, complex*16, dimension( ldb, * ) b, integer ldb,
integer info)
ZPPTRS
Purpose
ZPPTRS solves a system of linear equations A*X = B with a Hermitian positive definite matrix A in packed storage using the Cholesky factorization A = U**H * U or A = L * L**H computed by ZPPTRF. π
Parameters
UPLOβ isCHARACTER*1= 'U': upper triangle of A is stored;= 'L': lower triangle of A is stored.
Nβ isINTEGER. The order of the matrix A.N >= 0.NRHSβ isINTEGER. The number of right hand sides, i.e. the number of columns of the matrix B.NRHS >= 0.APβ isCOMPLEX*16array, dimension(N*(N+1)/2). The triangular factor U or L from the Cholesky factorizationA = U**H * UorA = L * L**H, packed columnwise in a linear array. The j-th column of U or L is stored in the array AP as follows: ifUPLO = 'U',AP(i + (j-1)*j/2) = U(i,j)for1<=i<=j; ifUPLO = 'L',AP(i + (j-1)*(2n-j)/2) = L(i,j)forj<=i<=n.Bβ isCOMPLEX*16array, dimension(LDB,NRHS). On entry, the right hand side matrix B. On exit, the solution matrix X.LDBβ isINTEGER. The leading dimension of the array B.LDB >= max(1,N).INFOβ isINTEGER.= 0: successful exit< 0: ifINFO = -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 107 of file zpptrs.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie that's the whole page, every flag and formula accounted for, no cap π«Ά go forth and A*X = B your heart out π
with love, from LAPACK β Version 3.12.0 β mwah π
π¦ 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