org.apache.commons.math3.linear

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

- java.lang.Object
- - org.apache.commons.math3.linear.FieldLUDecomposition<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.

  - a `getP` method has been added,
  - the `det` method has been renamed as `getDeterminant`,
  - the `getDoublePivot` method has been removed (but the int based `getPivot` method has been kept),
  - the `solve` and `isNonSingular` methods have been replaced by a `getSolver` method and the equivalent methods provided by the returned `DecompositionSolver`.
  Since:
    2.0 (changed to concrete class in 3.0)
  Version:
    $Id: FieldLUDecomposition.java 1449528 2013-02-24 19:06:20Z luc $
  See Also:
    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)
      See Also:
        `getPivot()`

    - #### getPivot

          public int[] getPivot()

      Returns the pivot permutation vector.
      Returns:
        the pivot permutation vector
      See Also:
        `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

Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.