2.3 KiB
FactorizationPLURaw
Computes an LU factorization of a general M-by-N matrix A 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). LAPACK function GETRF.
Computing for type matrix
bool matrix::FactorizationPLURaw(
matrix& AF, // factored matrix A
long[]& ipiv // pivot indices array
);
Computing for type matrix
bool matrixf::FactorizationPLURaw(
matrixf& AF, // factored matrix A
long[]& ipiv // pivot indices array
);
Computing for type matrix
bool matrixc::FactorizationPLURaw(
matrixc& AF, // factored matrix A
long[]& ipiv // pivot indices array
);
Computing for type matrix
bool matrixcf::FactorizationPLURaw(
matrixcf& AF, // factored matrix A
long[]& ipiv // pivot indices array
);
Parameters
AF
[out] Factored matrix A. The factors L and U from the factorization A = PLU; the unit diagonal elements of L are not stored.
ipiv
[out] Pivot indices array of size M; row i of the matrix A was interchanged with row ipiv[i].
Return Value
Return true if successful, otherwise false in case of an error.
Note
Matrix AF and pivot indices array ipiv[] are raw output of the GETRF function and can be used for further calculations with methods PLULinearEquationsSolution, PLUInverse and PLUCondNumReciprocal. In these cases original matrix A must be square.