public _nMatrix GetDiagonalizedMatrix(int n) { var givens = new GivensRotationMatrix(); double a = 0, b = 0; _nMatrix res = null; for (int i = 0; i < n - 1; i++) { a = matrix.GetValueAt(i + 1, i + 1); b = matrix.GetValueAt(i + 1, i + 2); var givensMatrix = givens.ReturnGivensMatrix(a, b, i + 1, n); res = matrix.MultiplyByAnotherMatrix(givensMatrix); } return(res); }
public void AssertTransposeTest1() { var transpose = matrix.ReturnTranspose(matrix); Assert.AreEqual(transpose.GetValueAt(1, 1), matrix.GetValueAt(1, 1)); Assert.AreEqual(transpose.GetValueAt(2, 2), matrix.GetValueAt(2, 2)); Assert.AreEqual(transpose.GetValueAt(3, 3), matrix.GetValueAt(3, 3)); Assert.AreEqual(transpose.GetValueAt(4, 4), matrix.GetValueAt(4, 4)); Assert.AreEqual(transpose.GetValueAt(5, 5), matrix.GetValueAt(5, 5)); Assert.AreEqual(transpose.GetValueAt(6, 6), matrix.GetValueAt(6, 6)); Assert.AreEqual(transpose.GetValueAt(2, 1), matrix.GetValueAt(1, 2)); Assert.AreEqual(transpose.GetValueAt(3, 1), matrix.GetValueAt(1, 3)); Assert.AreEqual(transpose.GetValueAt(4, 1), matrix.GetValueAt(1, 4)); Assert.AreEqual(transpose.GetValueAt(5, 1), matrix.GetValueAt(1, 5)); Assert.AreEqual(transpose.GetValueAt(6, 1), matrix.GetValueAt(1, 6)); //Assert.AreEqual(transpose.GetValueAt(1, 2), 419m); //Assert.AreEqual(transpose.GetValueAt(3, 2), 326m); //Assert.AreEqual(transpose.GetValueAt(4, 2), 3796m); //Assert.AreEqual(transpose.GetValueAt(5, 2), 1976m); //Assert.AreEqual(transpose.GetValueAt(6, 2), 2746m); //Assert.AreEqual(transpose.GetValueAt(1, 3), 1827m); //Assert.AreEqual(transpose.GetValueAt(2, 3), 6400m); //Assert.AreEqual(transpose.GetValueAt(4, 3), 13006m); //Assert.AreEqual(transpose.GetValueAt(5, 3), 9616m); //Assert.AreEqual(transpose.GetValueAt(6, 3), 9416m); //Assert.AreEqual(transpose.GetValueAt(1, 4), 279m); //Assert.AreEqual(transpose.GetValueAt(2, 4), 886m); //Assert.AreEqual(transpose.GetValueAt(3, 4), 407m); //Assert.AreEqual(transpose.GetValueAt(5, 4), 2137m); //Assert.AreEqual(transpose.GetValueAt(6, 4), 2557m); //Assert.AreEqual(transpose.GetValueAt(1, 5), 2636m); //Assert.AreEqual(transpose.GetValueAt(2, 5), 9442m); //Assert.AreEqual(transpose.GetValueAt(3, 5), 1322m); //Assert.AreEqual(transpose.GetValueAt(4, 5), 17082m); //Assert.AreEqual(transpose.GetValueAt(6, 5), 13002m); //Assert.AreEqual(transpose.GetValueAt(1, 6), 378m); //Assert.AreEqual(transpose.GetValueAt(2, 6), 1212m); //Assert.AreEqual(transpose.GetValueAt(3, 6), 485m); //Assert.AreEqual(transpose.GetValueAt(4, 6), 4925m); //Assert.AreEqual(transpose.GetValueAt(5, 6), 2485m); }