-
template<typename T>
void pptrs(char *uplo, integer *n, integer *nrhs, T *ap, T *b, integer *ldb, integer *info)# PPTRS solves a system of linear equations A*X = B with a symmetric matrix.
Purpose:
PPTRS 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 PPTRF.
- Parameters:
UPLO – [in]
UPLO is CHARACTER*1
= ‘U’: Upper triangle of A is stored;
= ‘L’: Lower triangle of A is stored.N – [in]
N is INTEGER
The order of the matrix A. N >= 0.
NRHS – [in]
NRHS is INTEGER
The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
AP – [in]
AP is REAL array, dimension (N*(N+1)/2)
The triangular factor U or L from the Cholesky factorization A = U**T*U or A = 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:
if UPLO = ‘U’, AP(i + (j-1)*j/2) = U(i,j) for 1<=i<=j;
if UPLO = ‘L’, AP(i + (j-1)*(2n-j)/2) = L(i,j) for j<=i<=n.
B – [inout]
B is REAL array, dimension (LDB,NRHS)
On entry, the right hand side matrix B. On exit, the solution matrix X.
LDB – [in]
LDB is INTEGER
The leading dimension of the array B. LDB >= fla_max(1,N).
INFO – [out]
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value