Interface LUDecomposition

All Known Implementing Classes:
LUDecompositionImpl

public interface LUDecomposition
An interface to classes that implement an algorithm to calculate the LU-decomposition of a real matrix.

The LU-decomposition of matrix A is a set of three matrices: P, L and U such that P×A = L×U. P is a rows permutation matrix that is used to rearrange the rows of A before so that it can be decomposed. L is a lower triangular matrix with unit diagonal terms and U is an upper triangular matrix.

This interface 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
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Return the determinant of the matrix
    Returns the matrix L of the decomposition.
    Returns the P rows permutation matrix.
    int[]
    Returns the pivot permutation vector.
    Get a solver for finding the A × X = B solution in exact linear sense.
    Returns the matrix U of the decomposition.
  • Method Details

    • getL

      RealMatrix getL()
      Returns the matrix L of the decomposition.

      L is an lower-triangular matrix

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

      RealMatrix 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

      RealMatrix 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

      int[] getPivot()
      Returns the pivot permutation vector.
      Returns:
      the pivot permutation vector
      See Also:
    • getDeterminant

      double getDeterminant()
      Return the determinant of the matrix
      Returns:
      determinant of the matrix
    • getSolver

      DecompositionSolver getSolver()
      Get a solver for finding the A × X = B solution in exact linear sense.
      Returns:
      a solver