Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

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

Document Table of Contents

p?potrf

Computes the Cholesky factorization of a symmetric (Hermitian) positive-definite distributed matrix.

Syntax

void pspotrf (char *uplo , MKL_INT *n , float *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , MKL_INT *info );

void pdpotrf (char *uplo , MKL_INT *n , double *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , MKL_INT *info );

void pcpotrf (char *uplo , MKL_INT *n , MKL_Complex8 *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , MKL_INT *info );

void pzpotrf (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

The p?potrffunction 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) = UH*U if uplo='U', or

sub(A) = L*LH 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 UH*U.

If uplo = 'L', the array a stores the lower triangular part of the matrix sub(A) that is factored as L*LH.
n

(global) The order of the distributed matrix sub(A) (n0).

a

(local)

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) .

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.

See Also