Class SingularValueDecomposition.Solver

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean nonSingular
      Singularity indicator.
      private RealMatrix pseudoInverse
      Pseudo-inverse of the initial matrix.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Solver​(double[] singularValues, RealMatrix uT, RealMatrix v, boolean nonSingular, double tol)
      Build a solver from decomposed matrix.
    • Field Detail

      • pseudoInverse

        private final RealMatrix pseudoInverse
        Pseudo-inverse of the initial matrix.
      • nonSingular

        private boolean nonSingular
        Singularity indicator.
    • Constructor Detail

      • Solver

        private Solver​(double[] singularValues,
                       RealMatrix uT,
                       RealMatrix v,
                       boolean nonSingular,
                       double tol)
        Build a solver from decomposed matrix.
        Parameters:
        singularValues - Singular values.
        uT - UT matrix of the decomposition.
        v - V matrix of the decomposition.
        nonSingular - Singularity indicator.
        tol - tolerance for singular values
    • Method Detail

      • solve

        public RealVector solve​(RealVector b)
        Solve the linear equation A × X = B in least square sense.

        The m×n matrix A may not be square, the solution X is such that ||A × X - B|| is minimal.

        Specified by:
        solve in interface DecompositionSolver
        Parameters:
        b - Right-hand side of the equation A × X = B
        Returns:
        a vector X that minimizes the two norm of A × X - B
        Throws:
        DimensionMismatchException - if the matrices dimensions do not match.
      • solve

        public RealMatrix solve​(RealMatrix b)
        Solve the linear equation A × X = B in least square sense.

        The m×n matrix A may not be square, the solution X is such that ||A × X - B|| is minimal.

        Specified by:
        solve in interface DecompositionSolver
        Parameters:
        b - Right-hand side of the equation A × X = B
        Returns:
        a matrix X that minimizes the two norm of A × X - B
        Throws:
        DimensionMismatchException - if the matrices dimensions do not match.
      • isNonSingular

        public boolean isNonSingular()
        Check if the decomposed matrix is non-singular.
        Specified by:
        isNonSingular in interface DecompositionSolver
        Returns:
        true if the decomposed matrix is non-singular.