Interface LUDecomposition

All Superinterfaces:
AutoCloseable

public interface LUDecomposition extends AutoCloseable
LU decomposition utility class. As some decomposition implementation may allocate resources that need to be released a try-with-resource block has to be used to ensure correct resource management.
 try (LUDecomposition decomposition = m.decomposeLU()) {
     decomposition.solve(...)
 }
 
Author:
Geoffroy Jamgotchian <geoffroy.jamgotchian at rte-france.com>
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    void
    solve(double[] b)
    Solve A * x = b where b is a column vector.
    void
    Solve A * x = b where b is a dense matrix.
    void
    solveTransposed(double[] b)
    Solve AT * x = b where b is a column vector.
    void
    Solve AT * x = b where b is a dense matrix.
    default void
    Method to call when matrix has been updated to refresh LU decomposition so that new data can be taken into account in next solve(double[]) or solve(DenseMatrix).
    void
    update(boolean allowIncrementalUpdate)
    Method to call when matrix has been updated to refresh LU decomposition so that new data can be taken into account in next solve(double[]) or solve(DenseMatrix).
  • Method Details

    • update

      void update(boolean allowIncrementalUpdate)
      Method to call when matrix has been updated to refresh LU decomposition so that new data can be taken into account in next solve(double[]) or solve(DenseMatrix).
      Parameters:
      allowIncrementalUpdate - allow decomposition incremental update (so using previous decomposition values)
    • update

      default void update()
      Method to call when matrix has been updated to refresh LU decomposition so that new data can be taken into account in next solve(double[]) or solve(DenseMatrix).
    • solve

      void solve(double[] b)
      Solve A * x = b where b is a column vector.
      Parameters:
      b - a column vector
    • solveTransposed

      void solveTransposed(double[] b)
      Solve AT * x = b where b is a column vector.
      Parameters:
      b - a column vector
    • solve

      void solve(DenseMatrix b)
      Solve A * x = b where b is a dense matrix.
      Parameters:
      b - a matrix
    • solveTransposed

      void solveTransposed(DenseMatrix b)
      Solve AT * x = b where b is a dense matrix.
      Parameters:
      b - a matrix
    • close

      void close()
      Specified by:
      close in interface AutoCloseable