예제 #1
0
 public void testSum() {
   DenseMatrix A = new DenseMatrix(new double[][] {{1, 9}, {7, 3}});
   assertTrue(new DenseMatrix(new double[][] {{8, 12}}).equals(A.sumOverRows()));
   assertTrue(new DenseMatrix(new double[][] {{10}, {10}}).equals(A.sumOverCols()));
   SparseMatrixLil B = A.toSparseLil();
   assertTrue(new DenseMatrix(new double[][] {{8, 12}}).toSparseLil().equals(B.sumOverRows()));
   assertTrue(new DenseMatrix(new double[][] {{10}, {10}}).toSparseLil().equals(B.sumOverCols()));
   assertTrue(B.sumOverRows().equals(A.sumOverRows()));
   assertTrue(B.sumOverCols().equals(A.sumOverCols()));
   assertEquals(B.sum().sum().s(), A.sum().sum().s());
   SparseMatrixLil C = spzeros(4, 5);
   C.append(1, 2, 5);
   C.append(3, 1, 3);
   C.append(3, 2, 7);
   C.append(1, 4, 11);
   System.out.println(C.sumOverRows());
   assertTrue(new DenseMatrix(new double[][] {{0, 3, 12, 0, 11}}).equals(C.sumOverRows()));
   System.out.println(C.sumOverCols());
   assertTrue(new DenseMatrix(new double[][] {{0}, {16}, {0}, {10}}).equals(C.sumOverCols()));
   assertEquals(26.0, C.sumOverCols().sumOverRows().s());
   assertEquals(26.0, C.sumOverRows().sumOverCols().s());
 }
예제 #2
0
 public void testMin() {
   SparseMatrixLil A = speye(5);
   DenseMatrix B = A.minOverCols();
   System.out.println(B);
   assertEquals(5.0, B.sumOverRows().s());
 }
예제 #3
0
 public static final DenseMatrix varOverRows(DenseMatrix mat) {
   return mat.pow(2).sumOverRows().sub(mat.sumOverRows().pow(2).div(mat.rows)).div(mat.rows - 1);
 }
예제 #4
0
 public static final DenseMatrix meanOverRows(DenseMatrix mat) {
   return mat.sumOverRows().div(mat.rows);
 }