Class EigenDecomposition.Solver

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Solver​(double[] realEigenvalues, double[] imagEigenvalues, ArrayRealVector[] eigenvectors)
      Builds a solver from decomposed matrix.
    • Field Detail

      • realEigenvalues

        private double[] realEigenvalues
        Real part of the realEigenvalues.
      • imagEigenvalues

        private double[] imagEigenvalues
        Imaginary part of the realEigenvalues.
    • Constructor Detail

      • Solver

        private Solver​(double[] realEigenvalues,
                       double[] imagEigenvalues,
                       ArrayRealVector[] eigenvectors)
        Builds a solver from decomposed matrix.
        Parameters:
        realEigenvalues - Real parts of the eigenvalues.
        imagEigenvalues - Imaginary parts of the eigenvalues.
        eigenvectors - Eigenvectors.
    • Method Detail

      • solve

        public RealVector solve​(RealVector b)
        Solves the linear equation A × X = B for symmetric matrices A.

        This method only finds exact linear solutions, i.e. solutions for which ||A × X - B|| is exactly 0.

        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.
        SingularMatrixException - if the decomposed matrix is singular.
      • solve

        public RealMatrix solve​(RealMatrix b)
        Solve the linear equation A × X = B for matrices A.

        The A matrix is implicit, it is provided by the underlying decomposition algorithm.

        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
      • isNonSingular

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

        private double eigenvalueNorm​(int i)
        Parameters:
        i - which eigenvalue to find the norm of
        Returns:
        the norm of ith (complex) eigenvalue.