Accord.Tests.Math.NonnegativeMatrixFactorizationTest.NonNegativeMatrixFactorizationConstructorTest C# (CSharp) Method

NonNegativeMatrixFactorizationConstructorTest() private method

private NonNegativeMatrixFactorizationConstructorTest ( ) : void
return void
        public void NonNegativeMatrixFactorizationConstructorTest()
        {
            Accord.Math.Tools.SetupGenerator(0);

            double[,] X =
            {
                { 1,     0,     5 },
                { 1,     2,     1 },
                { 0,     6,     1 },
                { 2,     6,     5 },
                { 2,     1,     1 },
                { 5,     1,     1 }
            };


            var nmf = new NonnegativeMatrixFactorization(X, 3);

            var H = nmf.RightNonnegativeFactors;
            var W = nmf.LeftNonnegativeFactors;

            var R = Matrix.Multiply(W, H).Transpose();
            Assert.IsTrue(R.IsEqual(X, 0.05));
        }