PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
int CORE_cgetrf_reclap | ( | CORE_cgetrf_data_t * | data, |
int | M, | ||
int | N, | ||
PLASMA_Complex32_t * | A, | ||
int | LDA, | ||
int * | IPIV, | ||
int * | info | ||
) |
CORE_cgetrf_reclap computes a LU factorization of a general M-by-N matrix A stored in CCRB layout using partial pivoting with row interchanges.
The factorization has the form
A = P * L * U
where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n).
This is the recursive version of the algorithm applied on column major layout.
WARNINGS:
[in] | data | Common data structure to all threads initialized by CORE_cgetrf_reclap_init() that contains information for thread synchronization and maximum reductions. All threads working on a given matrix A must provide the same data structure. |
[in] | M | The number of rows of the matrix A. M >= 0. |
[in] | N | The number of columns of the matrix A. N >= 0. |
[in,out] | A | On entry, the M-by-N matrix to be factorized. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored. |
[in] | LDA | The leading dimension of the array A. LDA >= max(1,M). |
[out] | IPIV | The pivot indices; for 1 <= i <= min(M,N), row i of the matrix was interchanged with row IPIV(i). 1 <= IPIV[i] <= M. |
[in,out] | info | Array of 3 integers
|
PLASMA_SUCCESS | successful exit |
-k,the | k-th argument had an illegal value |
k | if U(k,k) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations. |