Developer Reference for Intel® oneAPI Math Kernel Library for C
?pftrs
Solves a system of linear equations with a Cholesky-factored symmetric (Hermitian) positive-definite coefficient matrix using the Rectangular Full Packed (RFP) format.
Syntax
lapack_int LAPACKE_spftrs (int matrix_layout , char transr , char uplo , lapack_int n , lapack_int nrhs , const float * a , float * b , lapack_int ldb );
lapack_int LAPACKE_dpftrs (int matrix_layout , char transr , char uplo , lapack_int n , lapack_int nrhs , const double * a , double * b , lapack_int ldb );
lapack_int LAPACKE_cpftrs (int matrix_layout , char transr , char uplo , lapack_int n , lapack_int nrhs , const lapack_complex_float * a , lapack_complex_float * b , lapack_int ldb );
lapack_int LAPACKE_zpftrs (int matrix_layout , char transr , char uplo , lapack_int n , lapack_int nrhs , const lapack_complex_double * a , lapack_complex_double * b , lapack_int ldb );
Include Files
- mkl.h
 
Description
The routine solves a system of linear equations A*X = B with a symmetric positive-definite or, for complex data, Hermitian positive-definite matrix A using the Cholesky factorization of A:
| A = UT*U for real data, A = UH*U for complex data | if uplo='U' | 
| A = L*LT for real data, A = L*LH for complex data | if uplo='L' | 
Before calling ?pftrs, you must call ?pftrf to compute the Cholesky factorization of A. L stands for a lower triangular matrix and U for an upper triangular matrix.
The matrix A is in the Rectangular Full Packed (RFP) format. For the description of the RFP format, see Matrix Storage Schemes.
Input Parameters
matrix_layout  |  
      Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).  |  
     
transr  |  
      Must be 'N', 'T' (for real data) or 'C' (for complex data). If transr = 'N', the untransposed factor of Ais stored in RFP format. If transr = 'T', the transposed factor of Ais stored in RFP format. If transr = 'C', the conjugate-transposed factor of Ais stored in RFP format.  |  
     
uplo  |  
      Must be 'U' or 'L'. Indicates how the input matrix A has been factored: If uplo = 'U', U is stored, where A = UT*U for real data, A = UH*U for complex data. If uplo = 'L', L is stored, where A = L*LT for real data, A = L*LH for complex data  |  
     
n  |  
      The order of the matrix A; n≥ 0.  |  
     
nrhs  |  
      The number of right-hand sides, that is, the number of columns of the matrix B; nrhs≥ 0.  |  
     
a  |  
      Array a of size max(1,n*(n + 1)/2). The array a contains, in the RFP format, the factor U or L obtained by factorization of matrix A.  |  
     
b  |  
      The array b of size max(1, ldb*nrhs) for column major layout and max(1,ldb*n) for row major layout contains the matrix B whose columns are the right-hand sides for the systems of equations.  |  
     
ldb  |  
      The leading dimension of b; ldb≥ max(1, n) for column major layout and ldb≥nrhs for row major layout.  |  
     
Output Parameters
b  |  
      The solution matrix X.  |  
     
Return Values
This function returns a value info.
If info=0, the execution is successful.
If info = -i, parameter i had an illegal value.