Accord.Tests.Math.SingularValueDecompositionTest.SingularValueDecompositionConstructorTest6 C# (CSharp) Method

SingularValueDecompositionConstructorTest6() private method

private SingularValueDecompositionConstructorTest6 ( ) : void
return void
        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));
        }