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__":