Accord.Tests.Math.GoldfarbIdnaniTest.RunTest4 C# (CSharp) Method

RunTest4() private method

private RunTest4 ( ) : void
return void
        public void RunTest4()
        {

            double[,] D = 
            {
                {  5, -2, -1 },
                { -2,  4,  3 },
                { -1,  3,  5 },
            };

            double[] d = { -2, +35, +47 };


            double[,] A = 
            {
                { 0, 0, 0 }, 
                { 0, 0, 0 }, 
                { 0, 0, 0 }, 
            };

            double[] b = { 0, 0, 0 };


            GoldfarbIdnani target = new GoldfarbIdnani(D, d.Multiply(-1), A.Transpose(), b);

            Assert.IsTrue(target.Minimize());
            double actual = target.Value;

            Assert.AreEqual(-249.0, actual, 1e-6);
            Assert.IsFalse(double.IsNaN(actual));
            Assert.AreEqual(1, target.Iterations);
            Assert.AreEqual(0, target.Deletions);

            Assert.AreEqual(3, target.Solution[0], 1e-6);
            Assert.AreEqual(5, target.Solution[1], 1e-6);
            Assert.AreEqual(7, target.Solution[2], 1e-6);

            Assert.AreEqual(0, target.Lagrangian[0]);
            Assert.AreEqual(0, target.Lagrangian[1]);
            Assert.AreEqual(0, target.Lagrangian[2]);

            foreach (double v in target.Lagrangian)
                Assert.IsFalse(double.IsNaN(v));

            foreach (double v in target.Solution)
                Assert.IsFalse(double.IsNaN(v));
        }