/** * Computes the eigenvalue decomposition of the given matrix * * @param A * Matrix to factorize. Overwritten on return * @return The current eigenvalue decomposition * @throws NotConvergedException */ public SymmDenseEVD factor(LowerSymmDenseMatrix A) throws NotConvergedException { if (uplo != UpLo.Lower) throw new IllegalArgumentException( "Eigenvalue computer configured for lower-symmetrical matrices"); return factor(A, A.getData()); }
/** * Computes the eigenvalue decomposition of the given matrix * * @param A * Matrix to factorize. Overwritten on return * @return The current eigenvalue decomposition * @throws NotConvergedException */ public SymmDenseEVD factor(LowerSymmDenseMatrix A) throws NotConvergedException { if (uplo != UpLo.Lower) throw new IllegalArgumentException( "Eigenvalue computer configured for lower-symmetrical matrices"); return factor(A, A.getData()); }
/** * Computes the eigenvalue decomposition of the given matrix * * @param A * Matrix to factorize. Overwritten on return * @return The current eigenvalue decomposition * @throws NotConvergedException */ public SymmDenseEVD factor(UpperSymmDenseMatrix A) throws NotConvergedException { if (uplo != UpLo.Upper) throw new IllegalArgumentException( "Eigenvalue computer configured for upper-symmetrical matrices"); return factor(A, A.getData()); }
/** * Computes the eigenvalue decomposition of the given matrix * * @param A * Matrix to factorize. Overwritten on return * @return The current eigenvalue decomposition * @throws NotConvergedException */ public SymmDenseEVD factor(UpperSymmDenseMatrix A) throws NotConvergedException { if (uplo != UpLo.Upper) throw new IllegalArgumentException( "Eigenvalue computer configured for upper-symmetrical matrices"); return factor(A, A.getData()); }
/** * Convenience method for computing the full eigenvalue decomposition of the * given matrix * * @param A * Matrix to factorize. Upper part extracted, and the matrix is * not modified * @return Newly allocated decomposition * @throws NotConvergedException */ public static SymmDenseEVD factorize(Matrix A) throws NotConvergedException { return new SymmDenseEVD(A.numRows(), true) .factor(new UpperSymmDenseMatrix(A)); }
/** * Convenience method for computing the full eigenvalue decomposition of the * given matrix * * @param A * Matrix to factorize. Upper part extracted, and the matrix is * not modified * @return Newly allocated decomposition * @throws NotConvergedException */ public static SymmDenseEVD factorize(Matrix A) throws NotConvergedException { return new SymmDenseEVD(A.numRows(), true) .factor(new UpperSymmDenseMatrix(A)); }