2 GTSAM Copyright 2010-2019, Georgia Tech Research Corporation, 
    3 Atlanta, Georgia 30332-0415 
    6 See LICENSE for the license information 
    8 Unit tests for Gaussian Bayes Nets. 
   19 from gtsam 
import GaussianBayesNet, GaussianConditional
 
   26 I_1x1 = np.eye(1, dtype=float)
 
   30     """Create a small Bayes Net for testing""" 
   38     """Tests for Gaussian Bayes nets.""" 
   41         """Test matrix method""" 
   43         R1 = np.array([[1.0, 1.0], [0.0, 1.0]])
 
   44         d1 = np.array([9.0, 5.0])
 
   45         np.testing.assert_equal(R, R1)
 
   46         np.testing.assert_equal(d, d1)
 
   49         """Test evaluate method""" 
   52         values.insert(_x_, np.array([9.0]))
 
   53         values.insert(_y_, np.array([5.0]))
 
   55             self.assertAlmostEqual(
 
   56                 bayesNet.at(i).logProbability(values),
 
   57                 np.log(bayesNet.at(i).evaluate(values)))
 
   58         self.assertAlmostEqual(bayesNet.logProbability(values),
 
   59                                np.log(bayesNet.evaluate(values)))
 
   62         """Test sample method""" 
   64         sample = bayesNet.sample()
 
   68         mean = bayesNet.optimize()
 
   72         rng = gtsam.MT19937(42)
 
   77         for _ 
in range(niters):
 
   78             val += conditional.sample(rng).at(_x_).item()
 
   79         self.assertAlmostEqual(val / niters, 9.0, 1)
 
   82 if __name__ == 
"__main__":