private void runEVD() { int gramDimension = gramMatrix.numRows(); try { evd = no.uib.cipr.matrix.EVD.factorize(gramMatrix); } catch (NotConvergedException e) { throw new RuntimeException(e); } // initial eigenpairs eigenvalues = evd.getRealEigenvalues(); Matrix eigenvectorMatrix = evd.getRightEigenvectors(); eigenvectors = LinearAlgebraUtils.reshape1DArray(((DenseMatrix) eigenvectorMatrix).getData(), gramDimension, gramDimension); // sort eigenpairs in descending order according to the magnitude of eigenvalues EigenPair[] eigenPairs = LinearAlgebraUtils.createReverseSortedEigenpairs(eigenvalues, eigenvectors); eigenvalues = LinearAlgebraUtils.extractEigenvaluesFromEigenpairs(eigenPairs); eigenvectors = ArrayUtils.transpose(LinearAlgebraUtils.extractEigenvectorsFromEigenpairs(eigenPairs)); }
public Matrix[] eig() { try { EVD evd = EVD.factorize(getWrappedObject()); Matrix v = new MTJDenseDoubleMatrix2D(evd.getRightEigenvectors()); int m = (int) getRowCount(); double[] evds = evd.getRealEigenvalues(); Matrix d = new MTJDenseDoubleMatrix2D(m, m); for (int i = 0; i < m; i++) { d.setAsDouble(evds[i], i, i); } return new Matrix[] { v, d }; } catch (Exception e) { throw new RuntimeException(e); } }
public Matrix[] eig() { try { EVD evd = EVD.factorize(getWrappedObject()); Matrix v = new MTJDenseDoubleMatrix2D(evd.getRightEigenvectors()); int m = (int) getRowCount(); double[] evds = evd.getRealEigenvalues(); Matrix d = new MTJDenseDoubleMatrix2D(m, m); for (int i = 0; i < m; i++) { d.setAsDouble(evds[i], i, i); } return new Matrix[] { v, d }; } catch (Exception e) { throw new RuntimeException(e); } }
private void runEVD() { int gramDimension = gramMatrix.numRows(); try { evd = no.uib.cipr.matrix.EVD.factorize(gramMatrix); } catch (NotConvergedException e) { throw new RuntimeException(e); } // initial eigenpairs eigenvalues = evd.getRealEigenvalues(); Matrix eigenvectorMatrix = evd.getRightEigenvectors(); eigenvectors = LinearAlgebraUtils.reshape1DArray(((DenseMatrix) eigenvectorMatrix).getData(), gramDimension, gramDimension); // sort eigenpairs in descending order according to the magnitude of eigenvalues EigenPair[] eigenPairs = LinearAlgebraUtils.createReverseSortedEigenpairs(eigenvalues, eigenvectors); eigenvalues = LinearAlgebraUtils.extractEigenvaluesFromEigenpairs(eigenPairs); eigenvectors = ArrayUtils.transpose(LinearAlgebraUtils.extractEigenvectorsFromEigenpairs(eigenPairs)); }
matrixFactory.createWrapper( mtjEVD.getRightEigenvectors() );
matrixFactory.createWrapper( mtjEVD.getRightEigenvectors() );
matrixFactory.createWrapper( mtjEVD.getRightEigenvectors() );