org.apache.commons.math3.linear

## Class FieldLUDecomposition<T extends FieldElement<T>>

• Type Parameters:
`T` - the type of the field elements

```public class FieldLUDecomposition<T extends FieldElement<T>>
extends Object```
Calculates the LUP-decomposition of a square matrix.

The LUP-decomposition of a matrix A consists of three matrices L, U and P that satisfy: PA = LU, L is lower triangular, and U is upper triangular and P is a permutation matrix. All matrices are m×m.

Since `field elements` do not provide an ordering operator, the permutation matrix is computed here only in order to avoid a zero pivot element, no attempt is done to get the largest pivot element.

This class is based on the class with similar name from the JAMA library.

Since:
2.0 (changed to concrete class in 3.0)
Version:
\$Id: FieldLUDecomposition.java 1296611 2012-03-03 11:48:57Z sebb \$
MathWorld, Wikipedia
• ### Constructor Summary

Constructors
Constructor and Description
`FieldLUDecomposition(FieldMatrix<T> matrix)`
Calculates the LU-decomposition of the given matrix.
• ### Method Summary

Methods
Modifier and Type Method and Description
`T` `getDeterminant()`
Return the determinant of the matrix.
`FieldMatrix<T>` `getL()`
Returns the matrix L of the decomposition.
`FieldMatrix<T>` `getP()`
Returns the P rows permutation matrix.
`int[]` `getPivot()`
Returns the pivot permutation vector.
`FieldDecompositionSolver<T>` `getSolver()`
Get a solver for finding the A × X = B solution in exact linear sense.
`FieldMatrix<T>` `getU()`
Returns the matrix U of the decomposition.
• ### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Constructor Detail

• #### FieldLUDecomposition

`public FieldLUDecomposition(FieldMatrix<T> matrix)`
Calculates the LU-decomposition of the given matrix.
Parameters:
`matrix` - The matrix to decompose.
Throws:
`NonSquareMatrixException` - if matrix is not square
• ### Method Detail

• #### getL

`public FieldMatrix<T> getL()`
Returns the matrix L of the decomposition.

L is a lower-triangular matrix

Returns:
the L matrix (or null if decomposed matrix is singular)
• #### getU

`public FieldMatrix<T> getU()`
Returns the matrix U of the decomposition.

U is an upper-triangular matrix

Returns:
the U matrix (or null if decomposed matrix is singular)
• #### getP

`public FieldMatrix<T> getP()`
Returns the P rows permutation matrix.

P is a sparse matrix with exactly one element set to 1.0 in each row and each column, all other elements being set to 0.0.

The positions of the 1 elements are given by the `pivot permutation vector`.

Returns:
the P rows permutation matrix (or null if decomposed matrix is singular)
`getPivot()`
• #### getPivot

`public int[] getPivot()`
Returns the pivot permutation vector.
Returns:
the pivot permutation vector
`getP()`
• #### getDeterminant

`public T getDeterminant()`
Return the determinant of the matrix.
Returns:
determinant of the matrix
• #### getSolver

`public FieldDecompositionSolver<T> getSolver()`
Get a solver for finding the A × X = B solution in exact linear sense.
Returns:
a solver