Accord.Tests.Statistics.Models.Fields.ForwardBackwardAlgorithmTest.LogForwardBackwardTest C# (CSharp) Method

LogForwardBackwardTest() private method

private LogForwardBackwardTest ( ) : void
return void
        public void LogForwardBackwardTest()
        {
            HiddenMarkovModel hmm = Accord.Tests.Statistics.Models.Markov.
                ForwardBackwardAlgorithmTest.CreateModel1();

            MarkovDiscreteFunction function = new MarkovDiscreteFunction(hmm);

            //                     G  G  C  A
            int[] observations = { 2, 2, 1, 0 };

            double fwdLogLikelihood;
            double[,] fwd = Accord.Statistics.Models.Fields.
                ForwardBackwardAlgorithm.LogForward(function.Factors[0], observations, 0, out fwdLogLikelihood);

            double bwdLogLikelihood;
            double[,] bwd = Accord.Statistics.Models.Fields.
                ForwardBackwardAlgorithm.LogBackward(function.Factors[0], observations, 0, out bwdLogLikelihood);

            Assert.AreEqual(fwdLogLikelihood, bwdLogLikelihood, 1e-10); // -5.5614629361549142
            Assert.AreEqual(-5.5614629361549142, fwdLogLikelihood, 1e-10);
            Assert.IsFalse(double.IsNaN(fwdLogLikelihood));
        }