public void MatrixNxNConstructorFromMatrix() { var values = new int[, ] { { 1, 2 }, { 3, 4 } }; var matrix1 = new MatrixNxN <int>(values); Assert.AreEqual(matrix1.Zip(Enumerable.Cast <int>(matrix1), (a, b) => a == b).Count(a => !a), 0); var matrix2 = new MatrixNxN <int>(matrix1); Assert.IsTrue(matrix2.Equals(matrix1)); }
public void MatrixInverse() { var values = new double[, ] { { 1, 2 }, { 3, 4 } }; var expected = new double[, ] { { -2, 1 }, { 1.5, -0.5 } }; var matrix = new MatrixNxN <double>(values).Inverse(); var expectedMatrix = new MatrixNxN <double>(expected); Assert.IsTrue(matrix.Equals(expectedMatrix)); }