PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
int CORE_zgetrf_rectil | ( | CORE_zgetrf_data_t * | data, |
const PLASMA_desc | A, | ||
int * | IPIV, | ||
int * | info | ||
) |
CORE_zgetrf_rectil 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 tile layout.
WARNINGS:
[in] | data | Common data structure to all threads initialized by CORE_zgetrf_rectil_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,out] | A | PLASMA descriptor of the matrix A to be factorized. 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. |
[out] | IPIV | The pivot indices; for 0 <= i < min(M,N) stored in Fortran mode (starting at 1), row i of the matrix was interchanged with row IPIV(i). On exit, each value IPIV[i] for 0 <= i < min(M,N) is increased by A.i, which means A.i < IPIV[i] <= A.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. |