java.lang.Object
org.ujmp.core.doublematrix.calculation.general.decomposition.LU.LUMatrix
Enclosing interface:
LU<T>

public static final class LU.LUMatrix extends Object
  • Field Details

    • LU

      private final double[][] LU
      Array for internal storage of decomposition.
    • m

      private final int m
      Row and column dimensions, and pivot sign.
    • n

      private final int n
      Row and column dimensions, and pivot sign.
    • pivsign

      private int pivsign
    • piv

      private final int[] piv
      Internal storage of pivot vector.
  • Constructor Details

    • LUMatrix

      public LUMatrix(Matrix A)
      LU Decomposition
      Parameters:
      A - Rectangular matrix
  • Method Details

    • isNonsingular

      public final boolean isNonsingular()
      Is the matrix nonsingular?
      Returns:
      true if U, and hence A, is nonsingular.
    • getL

      public final DenseDoubleMatrix2D getL()
      Return lower triangular factor
      Returns:
      L
    • getU

      public final DenseDoubleMatrix2D getU()
      Return upper triangular factor
      Returns:
      U
    • getPivot

      public final int[] getPivot()
      Return pivot permutation vector
      Returns:
      piv
    • getP

      public final Matrix getP()
    • getDoublePivot

      public final double[] getDoublePivot()
      Return pivot permutation vector as a one-dimensional double array
      Returns:
      (double) piv
    • det

      public final double det()
      Determinant
      Returns:
      det(A)
      Throws:
      IllegalArgumentException - Matrix must be square
    • solve

      public final DenseDoubleMatrix2D solve(Matrix B)
      Solve A*X = B
      Parameters:
      B - A Matrix with as many rows as A and any number of columns.
      Returns:
      X so that L*U*X = B(piv,:)
      Throws:
      IllegalArgumentException - Matrix row dimensions must agree.
      RuntimeException - Matrix is singular.