DecompositionOperations<TReal, TComplex>.LUDecompose Method

Definition

Namespace: Numerics.NET.LinearAlgebra.Implementation
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.0

Overload List

LUDecompose(Int32, Int32, Array2D<TReal>, Array1D<Int32>, Int32)

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<TComplex>, Array1D<Int32>, Int32)

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, Span2D<TReal>, Span<Int32>, Int32)

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, Span2D<TComplex>, Span<Int32>, Int32)

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, Span<TReal>, Int32, Span<Int32>, Int32)

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, Span<TComplex>, Int32, Span<Int32>, Int32)

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)

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.

C#
public 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)

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.

C#
public 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 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, Span2D<TReal>, Span<Int32>, Int32)

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.

C#
public void LUDecompose(
	int m,
	int n,
	Span2D<TReal> a,
	Span<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  Span2D<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  Span<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, Span2D<TComplex>, Span<Int32>, Int32)

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.

C#
public void LUDecompose(
	int m,
	int n,
	Span2D<TComplex> a,
	Span<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  Span2D<TComplex>
complex 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  Span<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, Span<TReal>, Int32, Span<Int32>, Int32)

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.

C#
public abstract void LUDecompose(
	int m,
	int n,
	Span<TReal> a,
	int lda,
	Span<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  Span<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.
lda  Int32
The leading dimension of the matrix a.
ipiv  Span<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, Span<TComplex>, Int32, Span<Int32>, Int32)

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.

C#
public abstract void LUDecompose(
	int m,
	int n,
	Span<TComplex> a,
	int lda,
	Span<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  Span<TComplex>
complex 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.
lda  Int32
The leading dimension of the matrix a.
ipiv  Span<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.

See Also