public void testMatrixMultiply() throws Throwable { double a[][] = { {1, 0, 2}, {-1, 3, 1} }; double b[][] = { {3, 1}, {2, 1}, {1, 0} }; double c[][] = { {5, 1}, {4, 2} }; Matrix matrixA = new Matrix(a); Matrix matrixB = new Matrix(b); Matrix matrixC = new Matrix(c); Matrix result = matrixA.clone(); result = MatrixMath.multiply(matrixA, matrixB); TestCase.assertTrue(result.equals(matrixC)); double a2[][] = { {1, 2, 3, 4}, {5, 6, 7, 8} }; double b2[][] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12} }; double c2[][] = { {70, 80, 90}, {158, 184, 210} }; matrixA = new Matrix(a2); matrixB = new Matrix(b2); matrixC = new Matrix(c2); result = MatrixMath.multiply(matrixA, matrixB); TestCase.assertTrue(result.equals(matrixC)); result = matrixB.clone(); try { MatrixMath.multiply(matrixB, matrixA); TestCase.assertTrue(false); } catch (MatrixError e) { } }
public void testVectorLength() throws Throwable { double vectorData[] = {1.0, 2.0, 3.0, 4.0}; Matrix vector = Matrix.createRowMatrix(vectorData); TestCase.assertEquals(5, (int) MatrixMath.vectorLength(vector)); Matrix nonVector = new Matrix(2, 2); try { MatrixMath.vectorLength(nonVector); TestCase.assertTrue(false); } catch (MatrixError e) { } }