public void SingularValueDecompositionConstructorTest6()
{
// Test using SVD assumption auto-correction feature in place
double[,] value1 =
{
{ 2.5, 2.4 },
{ 0.5, 0.7 },
{ 2.2, 2.9 },
{ 1.9, 2.2 },
{ 3.1, 3.0 },
{ 2.3, 2.7 },
{ 2.0, 1.6 },
{ 1.0, 1.1 },
{ 1.5, 1.6 },
{ 1.1, 0.9 }
};
double[,] value2 = value1.Transpose();
var cvalue1 = value1.Copy();
var cvalue2 = value2.Copy();
var target1 = new SingularValueDecomposition(cvalue1, true, true, true, true);
var target2 = new SingularValueDecomposition(cvalue2, true, true, true, true);
Assert.IsFalse(cvalue1.IsEqual(value1, 1e-5));
// Assert.IsFalse(cvalue2.IsEqual(value2, 1e-5));
Assert.IsTrue(target1.LeftSingularVectors.IsEqual(target2.RightSingularVectors));
Assert.IsTrue(target1.RightSingularVectors.IsEqual(target2.LeftSingularVectors));
Assert.IsTrue(target1.DiagonalMatrix.IsEqual(target2.DiagonalMatrix));
Assert.IsTrue(Matrix.IsEqual(target1.Reverse(), value1, 1e-5));
Assert.IsTrue(Matrix.IsEqual(target2.Reverse(), value2, 1e-5));
}