GenericDecompositionOperations<T>.LUDecompose Method

Definition

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

Overload List

LUDecompose(Int32, Int32, Array2D<TComplex>, Array1D<Int32>, Int32) 
LUDecompose(Int32, Int32, Span2D<TComplex>, Span<Int32>, Int32) 
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<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<T>, 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, Span<Complex<T>>, 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, Span<T>, 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 override void LUDecompose(
	int m,
	int n,
	Span<T> 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<T>
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.

LUDecompose(Int32, Int32, Span<Complex<T>>, 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 override void LUDecompose(
	int m,
	int n,
	Span<Complex<T>> 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<Complex<T>>
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