public void testOne() { DenseMatrix A = ones(3, 3); System.out.println(A); DenseMatrix B = ones(3, 3); System.out.println(B); DenseMatrix C = A.mmul(B); System.out.println(C); assertEquals(3.0, C.get(0, 0)); assertEquals(3.0, C.get(0, 2)); assertEquals(3.0, C.get(2, 0)); assertEquals(3.0, C.get(2, 2)); }
public void testVarOverRows() { SparseMatrixLil A = new SparseMatrixLil("1 5 3; 2 8 5"); DenseMatrix B = meanOverRows(A); assertEquals(3, B.cols); assertEquals(1, B.rows); assertEquals(1.5, B.get(0, 0)); assertEquals(6.5, B.get(0, 1)); B = varOverRows(A); assertEquals(3, B.cols); assertEquals(1, B.rows); assertEquals(0.5, B.get(0, 0)); assertEquals(4.5, B.get(0, 1)); }
public void testVarOverCols() { SparseMatrixLil A = new SparseMatrixLil("1 5 3; 2 8 5"); DenseMatrix B = meanOverCols(A); assertEquals(1, B.cols); assertEquals(2, B.rows); assertEquals(3.0, B.get(0, 0)); assertEquals(5.0, B.get(1, 0)); B = varOverCols(A); assertEquals(1, B.cols); assertEquals(2, B.rows); assertEquals(4.0, B.get(0, 0)); assertEquals(9.0, B.get(1, 0)); }
public void testConstructorByString() { DenseMatrix foo = new DenseMatrix("1 3; 5 7; 3 5"); assertEquals(3, foo.rows); assertEquals(2, foo.cols); assertTrue(foo.equals(new DenseMatrix(new double[][] {{1, 3}, {5, 7}, {3, 5}}))); assertEquals(5.0, foo.get(1, 0)); assertEquals(7.0, foo.get(1, 1)); }
@Test public void testFastMultiply() throws Exception { DenseMatrix a = new DenseMatrix(N, M, generateRandomIntArray(N, M)); DenseMatrix b = new DenseMatrix(M, N, generateRandomIntArray(M, N)); long startTime = System.nanoTime(); DenseMatrix result = a.fastMultiply(b); long estimatedTime = System.nanoTime() - startTime; System.out.println("Execution time(ms) fast multiply " + (estimatedTime / 1000000)); int[][] correct = new int[N][N]; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { for (int k = 0; k < M; k++) { correct[i][j] += a.get(i, k) * b.get(k, j); } } } for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { assertTrue(result.get(i, j) == correct[i][j]); } } }