Infer() public method

Do Flash inference for the given input
public Infer ( MathNet.Numerics.LinearAlgebra.Double.SparseMatrix input ) : Vector
input MathNet.Numerics.LinearAlgebra.Double.SparseMatrix
return Vector
        public void ErrorWhenLearningAfterInferenceMode()
        {
            var node = new SpatialNode2DGaussian();
            var mat = new SparseMatrix(4, 4, 4.0);
            var learnAfterInferFails = false;
            var learnAfterTBInferFails = false;
            node.Learn(mat);

            node.Infer(mat);
            try
            {
                node.Learn(mat);
            }
            catch (HtmRuleException e)
            {
                learnAfterInferFails = true;
                Debug.WriteLine(e.Message);
            }

            node.TimeInfer(mat);
            try
            {
                node.Learn(mat);
            }
            catch (HtmRuleException e)
            {
                learnAfterTBInferFails = true;
                Debug.WriteLine(e.Message);
            }

            Assert.IsTrue(learnAfterInferFails);
            Assert.IsTrue(learnAfterTBInferFails);
        }
        public void InferCorrectlyOnIdenticalMatricesWithMaxDistance0()
        {
            var node = new SpatialNode2DGaussian();
            var ones = new SparseMatrix(4, 5, 1.0);
            var twos = new SparseMatrix(4, 5, 2.0);
            var expectedLower = Math.Exp(-(ones.RowCount * ones.ColumnCount) / (2 * node.SquaredSigma)) - 0.0001;
            var expectedUpper = Math.Exp(-(ones.RowCount * ones.ColumnCount) / (2 * node.SquaredSigma)) + 0.0001;
            node.Learn(ones);
            node.Learn(twos);

            var output = node.Infer(ones);

            Assert.IsTrue(output[0] == 1.0 && output[1] > expectedLower && output[1] < expectedUpper);
        }
        public void InferEmptyVectorIfNoCoincidencesLearned()
        {
            var node = new SpatialNode2DGaussian(1.0);

            var output = node.Infer(new SparseMatrix(5, 5, 2.0));

            Assert.AreEqual(new SparseVector(1), output);

            output = node.TimeInfer(new SparseMatrix(5, 5, 2.0));

            Assert.AreEqual(new SparseVector(1), output);
        }