public void MatrixMultiplyByOwnTransposeMatrix() { Matrix m1 = Setup.GetTestMatrix1(); Matrix m2 = Setup.GetTestMatrix1Transposed(); Matrix expected = m1 * m2; Matrix test1 = Setup.GetTestMatrix1().MultiplyByOwnTranspose(); Matrix test2 = Matrix.MultiplyByOwnTranspose(Setup.GetTestMatrix1()); Assert.True(expected == test1); Assert.True(expected == test2); }
public void MatrixTransposePermanentlyTallMatrix() { Matrix testMatrix1 = Setup.GetTestMatrix1(); Matrix testMatrix1Transposed = Setup.GetTestMatrix1Transposed(); Matrix m1 = new Matrix(testMatrix1Transposed); Matrix m2 = Matrix.Transpose(m1); m1.Transpose(false); Assert.Equal(testMatrix1Transposed.Rows, m1.Columns); Assert.Equal(testMatrix1Transposed.Columns, m1.Rows); Assert.True(m1 == testMatrix1); Assert.Equal(1.0, m1[0, 0]); Assert.Equal(1.0, m1[0]); Assert.Equal(2.0, m1[0, 1]); Assert.Equal(2.0, m1[1]); Assert.Equal(3.0, m1[0, 2]); Assert.Equal(3.0, m1[2]); Assert.Equal(4.0, m1[1, 0]); Assert.Equal(4.0, m1[3]); Assert.Equal(5.0, m1[1, 1]); Assert.Equal(5.0, m1[4]); Assert.Equal(6.0, m1[1, 2]); Assert.Equal(6.0, m1[5]); Assert.True(m1 == m2); }