org.apache.mahout.math.Matrix.minus()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(130)

本文整理了Java中org.apache.mahout.math.Matrix.minus()方法的一些代码示例,展示了Matrix.minus()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Matrix.minus()方法的具体详情如下:
包路径:org.apache.mahout.math.Matrix
类名称:Matrix
方法名:minus

Matrix.minus介绍

[英]Return a new matrix containing the element by element difference of the recipient and the argument
[中]返回一个新矩阵,其中包含接收者和参数的元素差

代码示例

代码示例来源:origin: apache/mahout

  1. @Test(expected = CardinalityException.class)
  2. public void testMinusCardinality() {
  3. test.minus(test.transpose());
  4. }

代码示例来源:origin: apache/mahout

  1. @Test(expected = CardinalityException.class)
  2. public void testMinusCardinality() {
  3. test.minus(test.transpose());
  4. }

代码示例来源:origin: apache/mahout

  1. private static void assertEquals(Matrix ref, Matrix actual, double epsilon) {
  2. assertEquals(0, ref.minus(actual).aggregate(Functions.MAX, Functions.ABS), epsilon);
  3. }

代码示例来源:origin: apache/mahout

  1. private static void assertEquals(Matrix u1, Matrix u2) {
  2. assertEquals(0, u1.minus(u2).aggregate(Functions.MAX, Functions.ABS), 1.0e-10);
  3. }

代码示例来源:origin: apache/mahout

  1. private static void check(String msg, Matrix a, Matrix b) {
  2. Assert.assertEquals(msg, 0, a.minus(b).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
  3. }

代码示例来源:origin: apache/mahout

  1. private static void assertEquals(Matrix ref, Matrix actual, double epsilon) {
  2. assertEquals(0, ref.minus(actual).aggregate(Functions.MAX, Functions.ABS), epsilon);
  3. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void testTransposeView() {
  3. Matrix m = Matrices.gaussianView(5, 6, 1234L);
  4. Matrix controlM = new DenseMatrix(5, 6).assign(m);
  5. System.out.printf("M=\n%s\n", m);
  6. System.out.printf("controlM=\n%s\n", controlM);
  7. Matrix mtm = Matrices.transposedView(m).times(m);
  8. Matrix controlMtm = controlM.transpose().times(controlM);
  9. System.out.printf("M'M=\n%s\n", mtm);
  10. Matrix diff = mtm.minus(controlMtm);
  11. assertEquals(0, diff.aggregate(Functions.PLUS, Functions.ABS), 1e-10);
  12. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void testMinus() {
  3. Matrix value = test.minus(test);
  4. for (int row = 0; row < test.rowSize(); row++) {
  5. for (int col = 0; col < test.columnSize(); col++) {
  6. assertEquals("value[" + row + "][" + col + ']', 0.0, value.getQuick(row, col), EPSILON);
  7. }
  8. }
  9. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void testGaussianView() {
  3. Matrix m1 = Matrices.gaussianView(5, 6, 1234);
  4. Matrix m2 = Matrices.gaussianView(5, 6, 1234);
  5. Matrix diff = m1.minus(m2);
  6. assertEquals(0, diff.aggregate(Functions.PLUS, Functions.ABS), 1e-10);
  7. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void testMinus() {
  3. Matrix value = test.minus(test);
  4. for (int row = 0; row < test.rowSize(); row++) {
  5. for (int col = 0; col < test.columnSize(); col++) {
  6. assertEquals("value[" + row + "][" + col + ']', 0.0, value.getQuick(
  7. row, col), EPSILON);
  8. }
  9. }
  10. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void testSvdHang() throws IOException, InterruptedException, ExecutionException, TimeoutException {
  3. System.out.printf("starting hanging-svd\n");
  4. final Matrix m = readTsv("hanging-svd.tsv");
  5. SingularValueDecomposition svd = new SingularValueDecomposition(m);
  6. assertEquals(0, m.minus(svd.getU().times(svd.getS()).times(svd.getV().transpose())).aggregate(Functions.PLUS, Functions.ABS), 1e-10);
  7. System.out.printf("No hang\n");
  8. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void testEigen() {
  3. Matrix a = new DenseSymmetricMatrix(new double[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, false);
  4. Matrix b = new DenseMatrix(a.numRows(), a.numCols());
  5. b.assign(a);
  6. assertEquals(0, a.minus(b).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
  7. EigenDecomposition edA = new EigenDecomposition(a);
  8. EigenDecomposition edB = new EigenDecomposition(b);
  9. System.out.println(edA.getV());
  10. assertEquals(0, edA.getV().minus(edB.getV()).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
  11. assertEquals(0, edA.getRealEigenvalues().minus(edA.getRealEigenvalues()).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
  12. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void test2() {
  3. // Test matrix from Nicholas Higham's paper at http://eprints.ma.man.ac.uk/1199/01/covered/MIMS_ep2008_116.pdf
  4. double[][] values = new double[3][];
  5. values[0] = new double[]{1, -1, 1};
  6. values[1] = new double[]{-1, 1, -1};
  7. values[2] = new double[]{1, -1, 2};
  8. Matrix A = new DenseMatrix(values);
  9. // without pivoting
  10. CholeskyDecomposition cd = new CholeskyDecomposition(A, false);
  11. assertEquals(0, cd.getL().times(cd.getL().transpose()).minus(A).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
  12. // with pivoting
  13. cd = new CholeskyDecomposition(A);
  14. assertEquals(0, cd.getL().times(cd.getL().transpose()).minus(A).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
  15. }

代码示例来源:origin: apache/mahout

  1. public static void checkOrthogonal(Matrix m) {
  2. Matrix mTm = m.transpose().times(m);
  3. Matrix id = new DenseMatrix(mTm.numRows(),mTm.numRows());
  4. for (int i = 0; i < mTm.numRows(); i++) {
  5. id.set(i, i, 1);
  6. }
  7. assertEquals(0, Algebra.getNorm(mTm.minus(id)), NORM_TOLERANCE);
  8. }

代码示例来源:origin: apache/mahout

  1. @Test(timeout=50000)
  2. public void testTimesCorrect() {
  3. Random raw = RandomUtils.getRandom();
  4. // build two large sequential sparse matrices and multiply them
  5. Matrix x = new SparseRowMatrix(100, 2000, false)
  6. .assign(Functions.random());
  7. Matrix y = new SparseRowMatrix(2000, 100, false)
  8. .assign(Functions.random());
  9. Matrix xd = new DenseMatrix(100, 2000).assign(x);
  10. Matrix yd = new DenseMatrix(2000, 100).assign(y);
  11. assertEquals(0, xd.times(yd).minus(x.times(y)).aggregate(Functions.PLUS, Functions.ABS), 1e-15);
  12. assertEquals(0, x.times(yd).minus(x.times(y)).aggregate(Functions.PLUS, Functions.ABS), 1e-15);
  13. assertEquals(0, xd.times(y).minus(x.times(y)).aggregate(Functions.PLUS, Functions.ABS), 1e-15);
  14. }
  15. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void testRankDeficient() {
  3. Matrix A = rank4Matrix();
  4. CholeskyDecomposition cd = new CholeskyDecomposition(A);
  5. PivotedMatrix Ax = new PivotedMatrix(A, cd.getPivot());
  6. CholeskyDecomposition cd2 = new CholeskyDecomposition(Ax, false);
  7. assertEquals(0, cd2.getL().times(cd2.getL().transpose()).minus(Ax).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
  8. assertEquals(0, cd.getL().times(cd.getL().transpose()).minus(A).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
  9. Assert.assertFalse(cd.isPositiveDefinite());
  10. Matrix L = cd.getL();
  11. Matrix Abar = L.times(L.transpose());
  12. double error = A.minus(Abar).aggregate(Functions.MAX, Functions.ABS);
  13. Assert.assertEquals(0, error, 1.0e-10);
  14. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void testSymmetricUniformView() {
  3. Matrix m1 = Matrices.symmetricUniformView(5, 6, 1234);
  4. Matrix m2 = Matrices.symmetricUniformView(5, 6, 1234);
  5. for (int row = 0; row < m1.numRows(); row++) {
  6. for (int col = 0; col < m1.numCols(); col++) {
  7. assertTrue(m1.getQuick(row, col) >= -1.0);
  8. assertTrue(m1.getQuick(row, col) < 1.0);
  9. }
  10. }
  11. Matrix diff = m1.minus(m2);
  12. assertEquals(0, diff.aggregate(Functions.PLUS, Functions.ABS), 1e-10);
  13. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void testUniformView() {
  3. Matrix m1 = Matrices.uniformView(5, 6, 1234);
  4. Matrix m2 = Matrices.uniformView(5, 6, 1234);
  5. for (int row = 0; row < m1.numRows(); row++) {
  6. for (int col = 0; col < m1.numCols(); col++) {
  7. assertTrue(m1.getQuick(row, col) >= 0.0);
  8. assertTrue(m1.getQuick(row, col) < 1.0);
  9. }
  10. }
  11. Matrix diff = m1.minus(m2);
  12. assertEquals(0, diff.aggregate(Functions.PLUS, Functions.ABS), 1e-10);
  13. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void testLeftVectors() {
  3. Matrix A = lowRankMatrix();
  4. SequentialBigSvd s = new SequentialBigSvd(A, 8);
  5. SingularValueDecomposition svd = new SingularValueDecomposition(A);
  6. // can only check first few singular vectors because once the singular values
  7. // go to zero, the singular vectors are not uniquely determined
  8. Matrix u1 = svd.getU().viewPart(0, 20, 0, 4).assign(Functions.ABS);
  9. Matrix u2 = s.getU().viewPart(0, 20, 0, 4).assign(Functions.ABS);
  10. assertEquals(0, u1.minus(u2).aggregate(Functions.PLUS, Functions.ABS), 1.0e-9);
  11. }

代码示例来源:origin: apache/mahout

  1. @Test
  2. public void randomMatrix() {
  3. Matrix a = new DenseMatrix(60, 60).assign(Functions.random());
  4. QRDecomposition qr = new QRDecomposition(a);
  5. // how close is Q to actually being orthornormal?
  6. double maxIdent = qr.getQ().transpose().times(qr.getQ()).viewDiagonal().assign(Functions.plus(-1)).norm(1);
  7. assertEquals(0, maxIdent, 1.0e-13);
  8. // how close is Q R to the original value of A?
  9. Matrix z = qr.getQ().times(qr.getR()).minus(a);
  10. double maxError = z.aggregate(Functions.MIN, Functions.ABS);
  11. assertEquals(0, maxError, 1.0e-13);
  12. }

相关文章