Example usage for org.apache.mahout.math SingularValueDecomposition getSingularValues

List of usage examples for org.apache.mahout.math SingularValueDecomposition getSingularValues

Introduction

In this page you can find the example usage for org.apache.mahout.math SingularValueDecomposition getSingularValues.

Prototype

public double[] getSingularValues() 

Source Link

Document

Returns the diagonal of S, which is a one-dimensional array of singular values

Usage

From source file:org.carrot2.matrix.factorization.PartialSingularValueDecomposition.java

License:Open Source License

public void compute() {
    // Use Colt's SVD
    SingularValueDecomposition svd;
    if (A.columns() > A.rows()) {
        svd = new SingularValueDecomposition(new DenseMatrix(A.viewDice().toArray()));
        V = toColtMatrix(svd.getU());//from w  w w. ja  va 2s  .c  om
        U = toColtMatrix(svd.getV());
    } else {
        svd = new SingularValueDecomposition(new DenseMatrix(A.toArray()));
        U = toColtMatrix(svd.getU());
        V = toColtMatrix(svd.getV());
    }

    S = svd.getSingularValues();

    if (k > 0 && k < S.length) {
        U = U.viewPart(0, 0, U.rows(), k);
        V = V.viewPart(0, 0, V.rows(), k);
        S = Arrays.copyOf(S, k);
    }
}