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
    See Also:
    https://en.wikipedia.org/wiki/LU_decomposition
    • Method Detail

      • 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