Developer Reference for Intel® oneAPI Math Kernel Library for C
p?potrf
Computes the Cholesky factorization of a symmetric (Hermitian) positive-definite distributed matrix.
Syntax
voidpspotrf ( char*uplo , MKL_INT*n , float*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_INT*info );
voidpdpotrf ( char*uplo , MKL_INT*n , double*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_INT*info );
voidpcpotrf ( char*uplo , MKL_INT*n , MKL_Complex8*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_INT*info );
voidpzpotrf ( char*uplo , MKL_INT*n , MKL_Complex16*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_INT*info );
Include Files
mkl_scalapack.h
Description
pspotrf pdpotrf pcpotrf pzpotrf The p?potrf routine function computes the Cholesky factorization of a real symmetric or complex Hermitian positive-definite distributed n -by- n matrix A ( ia : ia + n -1, ja : ja + n -1), denoted below as sub( A ).
The factorization has the form
sub( A ) = U:code:`H`*U if uplo='U' , or
sub( A ) = L*L:code:`H` if uplo='L'
where L is a lower triangular matrix and U is upper triangular.
Input Parameters
uplo
(global)
Indicates whether the upper or lower triangular part of sub( A ) is stored. Must be ‘U’ or ‘L’ . If uplo = 'U' , the array a stores the upper triangular part of the matrix sub( A ) that is factored as U:code:`H`*U .
n
(global) The order of the distributed matrix sub( A ) (n≥0) .
- a
-
(local) REAL for pspotrf DOUBLE PRECISON for pdpotrf COMPLEX for pcpotrf DOUBLE COMPLEX for pzpotrf .
Pointer into the local memory to an array of size lld_a * LOCc ( ja + n -1) .
On entry, this array contains the local pieces of the n -by- n symmetric/Hermitian distributed matrix sub( A ) to be factored. Depending on uplo , the array a contains either the upper or the lower triangular part of the matrix sub( A ) (see uplo ).
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 .
Output Parameters
- a
-
The upper or lower triangular part of a is overwritten by the Cholesky factor U or L , as specified by uplo .
- info
-
(global) INTEGER . 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 .
If info = k >0, the leading minor of order k , A ( ia : ia + k -1, ja : ja + k -1), is not positive-definite, and the factorization could not be completed.