Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?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 ldbnrhs 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.