Developer Reference for Intel® oneAPI Math Kernel Library for C
p?potrs
Solves a system of linear equations with a Cholesky-factored symmetric/Hermitian distributed positive-definite matrix.
Syntax
voidpspotrs ( char*uplo , MKL_INT*n , MKL_INT*nrhs , float*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , float*b , MKL_INT*ib , MKL_INT*jb , MKL_INT*descb , MKL_INT*info );
voidpdpotrs ( char*uplo , MKL_INT*n , MKL_INT*nrhs , double*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , double*b , MKL_INT*ib , MKL_INT*jb , MKL_INT*descb , MKL_INT*info );
voidpcpotrs ( char*uplo , MKL_INT*n , MKL_INT*nrhs , MKL_Complex8*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_Complex8*b , MKL_INT*ib , MKL_INT*jb , MKL_INT*descb , MKL_INT*info );
voidpzpotrs ( char*uplo , MKL_INT*n , MKL_INT*nrhs , MKL_Complex16*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_Complex16*b , MKL_INT*ib , MKL_INT*jb , MKL_INT*descb , MKL_INT*info );
Include Files
mkl_scalapack.h
Description
pspotrs pdpotrs pcpotrs pzpotrs The p?potrs routine function solves for X a system of distributed linear equations in the form:
sub( A )* X = sub( B ) ,
where sub( A ) = A ( ia : ia + n -1, ja : ja + n -1) is an n -by- n real symmetric or complex Hermitian positive definite distributed matrix, and sub( B ) denotes the distributed matrix B ( ib : ib + n -1, jb : jb + nrhs -1).
This routine function uses Cholesky factorization
sub( A ) = U:code:`H`*U , or sub( A ) = L*L:code:`H`
computed by p?potrf (Computes the Cholesky factorization of a symmetric (Hermitian) positive-definite distributed matrix.) .
Input Parameters
uplo
(global) Must be ‘U’ or ‘L’ .
If uplo = 'U' , upper triangle of sub( A ) is stored; If uplo = 'L' , lower triangle of sub( A ) is stored.
n
(global) The order of the distributed matrix sub( A ) (n≥0) .
nrhs
(global) The number of right hand sides; the number of columns of the distributed matrix sub( B ) (nrhs≥0) .
- a , b
-
(local) REAL for pspotrs DOUBLE PRECISION for pdpotrs COMPLEX for pcpotrs DOUBLE COMPLEX for pzpotrs . Pointers into the local memory to arrays of local sizes
(lld_a,LOCc(ja+n-1))lld_a * LOCc ( ja + n -1) and (lld_b,LOCc(jb+nrhs-1))lld_b * LOCc ( jb + nrhs -1 ) , respectively.
The array a contains the factors L or U from the Cholesky factorization sub( A ) = L * L:code:`H` or sub( A ) = U:code:`H`*U , as computed by p?potrf . On entry, the array b contains the local pieces of the right hand sides sub( B ).
ia , ja
(global) The row and column indices in the global matrix A indicating the first row and the first column of the matrix sub( A ), respectively.
desca
(global and local) array of size dlen_ . The array descriptor for the distributed matrix A .
ib , jb
(global) The row and column indices in the global matrix B indicating the first row and the first column of the matrix sub( B ), respectively.
descb
(local) array of size dlen_ . The array descriptor for the distributed matrix B .
Output Parameters
- b
-
Overwritten by the local pieces of the solution matrix X .
info
If info=0 , the execution is successful.
info < 0 : if the i -th argument is an array and the j- th entry , indexed j - 1, had an illegal value, then info = -( i *100+ j ); if the i- th argument is a scalar and had an illegal value, then info = -i .