PLASMA
Parallel Linear Algebra Software for Multicore Architectures

Functions

int plasma_cpotrf (plasma_enum_t uplo, int n, plasma_complex32_t *pA, int lda)
 
void plasma_omp_cpotrf (plasma_enum_t uplo, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_dpotrf (plasma_enum_t uplo, int n, double *pA, int lda)
 
void plasma_omp_dpotrf (plasma_enum_t uplo, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_spotrf (plasma_enum_t uplo, int n, float *pA, int lda)
 
void plasma_omp_spotrf (plasma_enum_t uplo, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_zpotrf (plasma_enum_t uplo, int n, plasma_complex64_t *pA, int lda)
 
void plasma_omp_zpotrf (plasma_enum_t uplo, plasma_desc_t A, plasma_sequence_t *sequence, plasma_request_t *request)
 

Detailed Description

Function Documentation

int plasma_cpotrf ( plasma_enum_t  uplo,
int  n,
plasma_complex32_t *  pA,
int  lda 
)

Performs the Cholesky factorization of a Hermitian positive definite matrix A. The factorization has the form

\[ A = L \times L^H, \]

or

\[ A = U^H \times U, \]

where U is an upper triangular matrix and L is a lower triangular matrix.

Parameters
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]nThe order of the matrix A. n >= 0.
[in,out]pAOn entry, the Hermitian positive definite matrix A. If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If uplo = PlasmaLower, the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if return value = 0, the factor U or L from the Cholesky factorization A = U^H*U or A = L*L^H.
[in]ldaThe leading dimension of the array A. lda >= max(1,n).
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
>0 if i, the leading minor of order i of A is not positive definite, so the factorization could not be completed, and the solution has not been computed.
See also
plasma_omp_cpotrf
plasma_cpotrf
plasma_dpotrf
plasma_spotrf
void plasma_omp_cpotrf ( plasma_enum_t  uplo,
plasma_desc_t  A,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Performs the Cholesky factorization of a Hermitian positive definite matrix. Non-blocking tile version of plasma_cpotrf(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]AOn entry, the Hermitian positive definite matrix A. If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If uplo = PlasmaLower, the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if return value = 0, the factor U or L from the Cholesky factorization A = U^H*U or A = L*L^H.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes). Check the sequence->status for errors.
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_cpotrf
plasma_omp_cpotrf
plasma_omp_cpotrf
plasma_omp_dpotrf
plasma_omp_spotrf
int plasma_dpotrf ( plasma_enum_t  uplo,
int  n,
double *  pA,
int  lda 
)

Performs the Cholesky factorization of a symmetric positive definite matrix A. The factorization has the form

\[ A = L \times L^T, \]

or

\[ A = U^T \times U, \]

where U is an upper triangular matrix and L is a lower triangular matrix.

Parameters
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]nThe order of the matrix A. n >= 0.
[in,out]pAOn entry, the symmetric positive definite matrix A. If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If uplo = PlasmaLower, the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if return value = 0, the factor U or L from the Cholesky factorization A = U^T*U or A = L*L^T.
[in]ldaThe leading dimension of the array A. lda >= max(1,n).
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
>0 if i, the leading minor of order i of A is not positive definite, so the factorization could not be completed, and the solution has not been computed.
See also
plasma_omp_dpotrf
plasma_cpotrf
plasma_dpotrf
plasma_spotrf
void plasma_omp_dpotrf ( plasma_enum_t  uplo,
plasma_desc_t  A,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Performs the Cholesky factorization of a symmetric positive definite matrix. Non-blocking tile version of plasma_dpotrf(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]AOn entry, the symmetric positive definite matrix A. If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If uplo = PlasmaLower, the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if return value = 0, the factor U or L from the Cholesky factorization A = U^T*U or A = L*L^T.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes). Check the sequence->status for errors.
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_dpotrf
plasma_omp_dpotrf
plasma_omp_cpotrf
plasma_omp_dpotrf
plasma_omp_spotrf
int plasma_spotrf ( plasma_enum_t  uplo,
int  n,
float *  pA,
int  lda 
)

Performs the Cholesky factorization of a symmetric positive definite matrix A. The factorization has the form

\[ A = L \times L^T, \]

or

\[ A = U^T \times U, \]

where U is an upper triangular matrix and L is a lower triangular matrix.

Parameters
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]nThe order of the matrix A. n >= 0.
[in,out]pAOn entry, the symmetric positive definite matrix A. If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If uplo = PlasmaLower, the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if return value = 0, the factor U or L from the Cholesky factorization A = U^T*U or A = L*L^T.
[in]ldaThe leading dimension of the array A. lda >= max(1,n).
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
>0 if i, the leading minor of order i of A is not positive definite, so the factorization could not be completed, and the solution has not been computed.
See also
plasma_omp_spotrf
plasma_cpotrf
plasma_dpotrf
plasma_spotrf
void plasma_omp_spotrf ( plasma_enum_t  uplo,
plasma_desc_t  A,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Performs the Cholesky factorization of a symmetric positive definite matrix. Non-blocking tile version of plasma_spotrf(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]AOn entry, the symmetric positive definite matrix A. If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If uplo = PlasmaLower, the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if return value = 0, the factor U or L from the Cholesky factorization A = U^T*U or A = L*L^T.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes). Check the sequence->status for errors.
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_spotrf
plasma_omp_spotrf
plasma_omp_cpotrf
plasma_omp_dpotrf
plasma_omp_spotrf
int plasma_zpotrf ( plasma_enum_t  uplo,
int  n,
plasma_complex64_t *  pA,
int  lda 
)

Performs the Cholesky factorization of a Hermitian positive definite matrix A. The factorization has the form

\[ A = L \times L^H, \]

or

\[ A = U^H \times U, \]

where U is an upper triangular matrix and L is a lower triangular matrix.

Parameters
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]nThe order of the matrix A. n >= 0.
[in,out]pAOn entry, the Hermitian positive definite matrix A. If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If uplo = PlasmaLower, the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if return value = 0, the factor U or L from the Cholesky factorization A = U^H*U or A = L*L^H.
[in]ldaThe leading dimension of the array A. lda >= max(1,n).
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
>0 if i, the leading minor of order i of A is not positive definite, so the factorization could not be completed, and the solution has not been computed.
See also
plasma_omp_zpotrf
plasma_cpotrf
plasma_dpotrf
plasma_spotrf
void plasma_omp_zpotrf ( plasma_enum_t  uplo,
plasma_desc_t  A,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Performs the Cholesky factorization of a Hermitian positive definite matrix. Non-blocking tile version of plasma_zpotrf(). May return before the computation is finished. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors. Allows for pipelining of operations at runtime.

Parameters
[in]uplo
  • PlasmaUpper: Upper triangle of A is stored;
  • PlasmaLower: Lower triangle of A is stored.
[in]AOn entry, the Hermitian positive definite matrix A. If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If uplo = PlasmaLower, the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if return value = 0, the factor U or L from the Cholesky factorization A = U^H*U or A = L*L^H.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes). Check the sequence->status for errors.
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_zpotrf
plasma_omp_zpotrf
plasma_omp_cpotrf
plasma_omp_dpotrf
plasma_omp_spotrf