Accord.Tests.Statistics.GenericHiddenMarkovModelTest2.ConstructorTest3 C# (CSharp) Method

ConstructorTest3() private method

private ConstructorTest3 ( ) : void
return void
        public void ConstructorTest3()
        {
            double[,] A = new double[,]
            {
                { 0.5, 0.5 },
                { 0.5, 0.5 }
            };

            double[] pi = new double[] { 1, 0 };

            MultivariateNormalDistribution[] emissions = 
            {
                new MultivariateNormalDistribution(new[] { 0.0, 0.1 }, new[,] { {1.0, 0.0}, {1.0, 5.1} }),
                new MultivariateNormalDistribution(new[] { 2.0, 0.0 }, new[,] { {1.1, 0.1}, {1.0, 6.0} }),
            };

            var hmm = new HiddenMarkovModel<MultivariateNormalDistribution, double[]>(A, emissions, pi);

            for (int i = 0; i < hmm.Emissions.Length; i++)
            {
                IDistribution b = hmm.Emissions[i];
                IDistribution e = emissions[i];

                Assert.AreEqual(b, e);
            }

            A = A.Log();
            pi = pi.Log();
            Assert.AreEqual(2, hmm.States);
            Assert.AreEqual(2, hmm.NumberOfInputs);
            Assert.AreEqual(2, hmm.Emissions.Length);
            Assert.IsTrue(A.IsEqual(hmm.LogTransitions));
            Assert.IsTrue(pi.IsEqual(hmm.LogInitial));
        }