public void AddOperator() { // Arrange Matrix a = MatrixVectorData.ArrangeMatrixA_4_4(); Matrix b = MatrixVectorData.ArrangeMatrixB_4_4(); // Act a.Add(b); // Assert Assert.AreEqual(-19.8, a.GetValue(0, 0)); Assert.AreEqual(11.45, a.GetValue(1, 0)); Assert.AreEqual(double.PositiveInfinity, a.GetValue(2, 0)); Assert.AreEqual(double.NegativeInfinity, a.GetValue(3, 0)); Assert.AreEqual(1.1, a.GetValue(0, 1)); Assert.AreEqual(13.24, a.GetValue(1, 1)); Assert.AreEqual(2.34, a.GetValue(2, 1)); Assert.AreEqual(12, a.GetValue(3, 1)); Assert.AreEqual(double.NaN, a.GetValue(0, 2)); Assert.AreEqual(14.4, a.GetValue(1, 2)); Assert.AreEqual(-6.93, a.GetValue(2, 2)); Assert.AreEqual(double.NaN, a.GetValue(3, 2)); Assert.AreEqual(double.NegativeInfinity, a.GetValue(0, 3)); Assert.AreEqual(7.79, a.GetValue(1, 3)); Assert.AreEqual(14, a.GetValue(2, 3)); Assert.AreEqual(91.666666, a.GetValue(3, 3)); }
public void MatrixMultiplication() { // Arrange Matrix a = MatrixVectorData.ArrangeMatrixA_4_4(); Matrix b = MatrixVectorData.ArrangeMatrixB_4_4(); // Act Matrix c = Matrix.Multiplication(a, b, 1); // Assert Assert.AreEqual(154203.795, c.GetValue(0, 0)); Assert.AreEqual(226.256, c.GetValue(0, 1)); Assert.AreEqual(double.NaN, c.GetValue(0, 2)); Assert.AreEqual(double.NegativeInfinity, c.GetValue(0, 3)); Assert.AreEqual(59943.45, c.GetValue(1, 0)); Assert.AreEqual(147.216, c.GetValue(1, 1)); Assert.AreEqual(double.NaN, c.GetValue(1, 2)); Assert.AreEqual(double.NegativeInfinity, c.GetValue(1, 3)); Assert.AreEqual(double.NegativeInfinity, c.GetValue(2, 0)); Assert.AreEqual(double.NaN, c.GetValue(2, 1)); Assert.AreEqual(double.NaN, c.GetValue(2, 2)); Assert.AreEqual(double.NegativeInfinity, c.GetValue(2, 3)); Assert.AreEqual(double.NaN, c.GetValue(3, 0)); Assert.AreEqual(double.NaN, c.GetValue(3, 1)); Assert.AreEqual(double.NaN, c.GetValue(3, 2)); Assert.AreEqual(double.NaN, c.GetValue(3, 3)); }
public void AddMatrixStaticSameSize() { // Arrange Matrix a = MatrixVectorData.ArrangeMatrixA_4_4(); Matrix b = MatrixVectorData.ArrangeMatrixB_4_4(); // Act Matrix c = Matrix.Add(a, b); // Assert Assert.AreEqual(c.GetValue(0, 0), -19.8); Assert.AreEqual(c.GetValue(1, 0), 11.45); Assert.AreEqual(c.GetValue(2, 0), double.PositiveInfinity); Assert.AreEqual(c.GetValue(3, 0), double.NegativeInfinity); Assert.AreEqual(c.GetValue(0, 1), 1.1); Assert.AreEqual(c.GetValue(1, 1), 13.24); Assert.AreEqual(c.GetValue(2, 1), 2.34); Assert.AreEqual(c.GetValue(3, 1), 12); Assert.AreEqual(c.GetValue(0, 2), double.NaN); Assert.AreEqual(c.GetValue(1, 2), 14.4); Assert.AreEqual(c.GetValue(2, 2), -6.93); Assert.AreEqual(c.GetValue(3, 2), double.NaN); Assert.AreEqual(c.GetValue(0, 3), double.NegativeInfinity); Assert.AreEqual(c.GetValue(1, 3), 7.79); Assert.AreEqual(c.GetValue(2, 3), 14); Assert.AreEqual(c.GetValue(3, 3), 91.666666); }
public void SubtractMatrixUnevenSize() { // Arrange Matrix a = MatrixVectorData.ArrangeMatrixD_3_3(); Matrix b = MatrixVectorData.ArrangeMatrixB_4_4(); // Act a.Subtract(b); }
public void DotProductTwo() { // Arrange Matrix a = MatrixVectorData.ArrangeMatrixB_4_4(); Vector b = MatrixVectorData.ArrangeVectorC_4_Row(); // Act Vector c = Matrix.DotProduct(b, a); // Assert Assert.AreEqual(36000379.0275, c.GetValue(0)); Assert.AreEqual(48157.036, c.GetValue(1)); Assert.AreEqual(double.NaN, c.GetValue(2)); Assert.AreEqual(double.NegativeInfinity, c.GetValue(3)); }
public void DotProduct() { // Arrange Matrix a = MatrixVectorData.ArrangeMatrixB_4_4(); Vector b = MatrixVectorData.ArrangeVectorA_4_Column(); // Act Vector c = Matrix.DotProduct(a, b); // Assert Assert.AreEqual(double.NaN, c.GetValue(0)); Assert.AreEqual(4625.139, c.GetValue(1)); Assert.AreEqual(2620.19692, c.GetValue(2)); Assert.AreEqual(433633.3838666, c.GetValue(3)); }