Decomposition Operations<TReal, TComplex>.LUDecompose Method
Definition
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
Overload List
LUDecompose( |
Computes an LU decomposition of a general M-by-N matrix A
using partial pivoting with row interchanges.
The decomposition 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 right-looking Level 3 BLAS version of the algorithm. |
LUDecompose( |
ZGETRF computes an LU decomposition of a general M-by-N matrix A
using partial pivoting with row interchanges.
The decomposition 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 right-looking Level 3 BLAS version of the algorithm. |
LUDecompose(Int32, Int32, Array2D<TReal>, Array1D<Int32>, Int32)
The decomposition 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 right-looking Level 3 BLAS version of the algorithm.
public abstract void LUDecompose(
int m,
int n,
Array2D<TReal> a,
Array1D<int> ipiv,
out int info
)
Parameters
- m Int32
- An integer specifying the number of rows of the matrix a. Must be greater than or equal to zero.
- n Int32
- An integer specifying the number of columns of the matrix a. Must be greater than or equal to zero.
- a Array2D<TReal>
- TReal array specifying the m-by-n matrix to be factored. On exit, the factors L and U from the decomposition A = P*L*U; the unit diagonal elements of L are not stored.
- ipiv Array1D<Int32>
- Integer array of length min(m,n) that will hold the pivot indexes. Row i of the matrix was interchanged with row ipiv[i].
- info Int32
- Reference to an integer containing a result code. Zero indicates success. Greater than zero indicates U(i,i) is exactly zero. The decomposition 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.
LUDecompose(Int32, Int32, Array2D<TComplex>, Array1D<Int32>, Int32)
The decomposition 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 right-looking Level 3 BLAS version of the algorithm.
public abstract void LUDecompose(
int m,
int n,
Array2D<TComplex> a,
Array1D<int> ipiv,
out int info
)
Parameters
- m Int32
- An integer specifying the number of rows of the matrix a. Must be greater than or equal to zero.
- n Int32
- An integer specifying the number of columns of the matrix a. Must be greater than or equal to zero.
- a Array2D<TComplex>
- complex TReal-precision array specifying the m-by-n matrix to be factored. On exit, the factors L and U from the decomposition A = P*L*U; the unit diagonal elements of L are not stored.
- ipiv Array1D<Int32>
- Integer array of length min(m,n) that will hold the pivot indexes. Row i of the matrix was interchanged with row ipiv[i].
- info Int32
- Reference to an integer containing a result code. Zero indicates success. Greater than zero indicates U(i,i) is exactly zero. The decomposition 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.