Developer Reference for Intel® oneAPI Math Kernel Library for C
?potrs
Solves a system of linear equations with a Cholesky-factored symmetric (Hermitian) positive-definite coefficient matrix.
Syntax
lapack_intLAPACKE_spotrs ( intmatrix_layout , charuplo , lapack_intn , lapack_intnrhs , constfloat*a , lapack_intlda , float*b , lapack_intldb );
lapack_intLAPACKE_dpotrs ( intmatrix_layout , charuplo , lapack_intn , lapack_intnrhs , constdouble*a , lapack_intlda , double*b , lapack_intldb );
lapack_intLAPACKE_cpotrs ( intmatrix_layout , charuplo , lapack_intn , lapack_intnrhs , constlapack_complex_float*a , lapack_intlda , lapack_complex_float*b , lapack_intldb );
lapack_intLAPACKE_zpotrs ( intmatrix_layout , charuplo , lapack_intn , lapack_intnrhs , constlapack_complex_double*a , lapack_intlda , lapack_complex_double*b , lapack_intldb );
Include Files
mkl.h
Description
spotrs dpotrs cpotrs zpotrs potrs
The routine solves for X the system of linear equations A*X = B with a symmetric positive-definite or, for complex data, Hermitian positive-definite matrix A , given the Cholesky factorization of A :
A = U^{T}*U for real data, A = U^{H}*U for complex data |
if uplo='U' |
A = L*L^{T} for real data, A = L*L^{H} for complex data |
if uplo='L' |
where L is a lower triangular matrix and U is upper triangular. The system is solved with multiple right-hand sides stored in the columns of the matrix B .
Before calling this routine, you must call ?potrf to compute the Cholesky factorization of A .
Input Parameters
matrix_layout
Specifies whether matrix storage layout is row major ( LAPACK_ROW_MAJOR ) or column major ( LAPACK_COL_MAJOR ).
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 matrix A ; n ≥ 0.
nrhs
The number of right-hand sides ( nrhs ≥ 0) .
a , b
Array A of size at least max(1, lda * n )
The array a contains the factor U or L (see uplo ) as returned by potrf . .
lda
The leading dimension of a . lda≥ max(1, n).
b
The array b contains the matrix B whose columns are the right-hand sides for the systems of equations. The size of b must be at least max(1, ldb * nrhs ) for column major layout and max(1, ldb * n ) for row major layout.
ldb
The leading dimension of b . ldb≥ max(1, n).ldb ≥ max(1, n ) for column major layout and ldb ≥ nrhs for row major layout.
Output Parameters
b
Overwritten by 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.
LAPACK 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.
Application Notes
If uplo = 'U' , the computed solution for each right-hand side \(b\) is the exact solution of a perturbed system of equations \((A + E)x = b\) , where
\[|E| \le c(n) \varepsilon |U||D||U^{H}|\]
\(c(n)\) is a modest linear function of \(k\) , and \(\varepsilon\) is the machine precision.
A similar estimate holds for uplo = 'L' . If \(x_{0}\) is the true solution, the computed solution \(x\) satisfies this error bound:
\[\frac{\|x - x_0\|_\infty}{\|x\|_\infty} \leq c(n) \operatorname{cond}(A, x) \varepsilon\]
where
\[\operatorname{cond}(A,x) = || |A^{-1}| |A| |x|_\infty || / ||x||_\infty \leq ||A^{-1}||_\infty ||A||_\infty = \kappa_\infty(A).\]
Note that \(\operatorname{cond}(A,x)\) can be much smaller than \(\kappa_{\infty}(A)\). The approximate number of floating-point operations for one right-hand side vector \(b\) is \(2n^{2}\) for real flavors and \(8n^{2}\) for complex flavors.
To estimate the condition number \(\kappa_{\infty}(A)\) , call ?pocon (Estimates the reciprocal of the condition number of a symmetric (Hermitian) positive-definite matrix.) .
To refine the solution and estimate the error, call ?porfs (Refines the solution of a system of linear equations with a symmetric (Hermitian) positive-definite coefficient matrix and estimates its error.) .