Package org.apache.mahout.math

Examples of org.apache.mahout.math.SingularValueDecomposition


    mx.setQuick(1, 2, 6);
    mx.setQuick(2, 0, 7);
    mx.setQuick(2, 1, 8);
    mx.setQuick(2, 2, 9);

    SingularValueDecomposition svd2 = new SingularValueDecomposition(mx);
    double[] svaluesControl = svd2.getSingularValues();

    for (int i = 0; i < kp; i++) {
      System.out.printf("%.3e ", svaluesControl[i]);
    }
    System.out.println();
View Full Code Here


    mx.setQuick(1, 2, 6);
    mx.setQuick(2, 0, 7);
    mx.setQuick(2, 1, 8);
    mx.setQuick(2, 2, 9);

    SingularValueDecomposition svd2 = new SingularValueDecomposition(mx);
    double[] svaluesControl = svd2.getSingularValues();

    for (int i = 0; i < kp; i++) {
      System.out.printf("%e ", svaluesControl[i]);
    }
    System.out.println();
View Full Code Here

    // try to run the same thing without stochastic algo
    DenseMatrix a = SSVDHelper.drmLoadAsDense(fs, aPath, conf);

    // SingularValueDecompositionImpl svd=new SingularValueDecompositionImpl(new
    // Array2DRowRealMatrix(a));
    SingularValueDecomposition svd2 =
      new SingularValueDecomposition(a);

    Vector svalues2 = new DenseVector(svd2.getSingularValues());
    dumpSv(svalues2);

    for (int i = 0; i < k + p; i++) {
      assertTrue(Math.abs(svalues2.getQuick(i) - stochasticSValues.getQuick(i)) <= s_epsilon);
    }
View Full Code Here

        b2.assign(bTmp.get().times(bTmp.get().transpose()), Functions.PLUS);
      }
    }
    l2 = new CholeskyDecomposition(b2);
    svd = new SingularValueDecomposition(l2.getL());
  }
View Full Code Here

    });
    // Verify all errors are nearly zero.
    assertEquals(0, columnNorms.norm(1) / columnNorms.size(), 0.1);

    // Verify that the centroids are a permutation of the original ones.
    SingularValueDecomposition svd = new SingularValueDecomposition(x);
    Vector s = svd.getS().viewDiagonal().assign(Functions.div(6));
    assertEquals(5, s.getLengthSquared(), 0.05);
    assertEquals(5, s.norm(1), 0.05);
  }
View Full Code Here

        b2.assign(bTmp.get().times(bTmp.get().transpose()), Functions.PLUS);
      }
    }
    l2 = new CholeskyDecomposition(b2);
    svd = new SingularValueDecomposition(l2.getL());
  }
View Full Code Here

      throw new CardinalityException(m.numRows(), m.numCols());
    }
    // See http://www.mlahanas.de/Math/svd.htm for details,
    // which specifically details the case of covariance matrix inversion
    // Complexity: O(min(nm2,mn2))
    SingularValueDecomposition svd = new SingularValueDecomposition(m);
    Matrix sInv = svd.getS();
    // Inverse Diagonal Elems
    for (int i = 0; i < sInv.numRows(); i++) {
      double diagElem = sInv.get(i, i);
      if (diagElem > 0.0) {
        sInv.set(i, i, 1 / diagElem);
      } else {
        throw new IllegalStateException("Eigen Value equals to 0 found.");
      }
    }
    inverseCovarianceMatrix = svd.getU().times(sInv.times(svd.getU().transpose()));
    Preconditions.checkArgument(inverseCovarianceMatrix != null, "inverseCovarianceMatrix not initialized");
  }
View Full Code Here

  @Test
  public void testLeftVectors() throws IOException {
    Matrix A = lowRankMatrixInMemory(20, 20);

    SequentialBigSvd s = new SequentialBigSvd(A, 6);
    SingularValueDecomposition svd = new SingularValueDecomposition(A);

    // can only check first few singular vectors
    Matrix u1 = svd.getU().viewPart(0, 20, 0, 3).assign(Functions.ABS);
    Matrix u2 = s.getU().viewPart(0, 20, 0, 3).assign(Functions.ABS);
    assertEquals(u1, u2);
  }
View Full Code Here

  @Test
  public void testRightVectors() throws IOException {
    Matrix A = lowRankMatrixInMemory(20, 20);

    SequentialBigSvd s = new SequentialBigSvd(A, 6);
    SingularValueDecomposition svd = new SingularValueDecomposition(A);

    Matrix v1 = svd.getV().viewPart(0, 20, 0, 3).assign(Functions.ABS);
    Matrix v2 = s.getV().viewPart(0, 20, 0, 3).assign(Functions.ABS);
    assertEquals(v1, v2);
  }
View Full Code Here

    // subtract pseudo pca mean
    for (int i = 0; i < m; i++)
      for (int j = 0; j < n; j++)
        a[i][j] -= xi.getQuick(j);

    SingularValueDecomposition svd2 =
      new SingularValueDecomposition(new DenseMatrix(a));

    Vector svalues2 = new DenseVector(svd2.getSingularValues());
    LocalSSVDSolverSparseSequentialTest.dumpSv(svalues2);

    for (int i = 0; i < k + p; i++) {
      assertTrue(Math.abs(svalues2.getQuick(i) - stochasticSValues.getQuick(i)) <= s_epsilon);
    }
View Full Code Here

TOP

Related Classes of org.apache.mahout.math.SingularValueDecomposition

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.