Fix python tests (and expose HybridBayesNet.error)
							parent
							
								
									a5951d8d34
								
							
						
					
					
						commit
						8357fc7e02
					
				|  | @ -143,6 +143,7 @@ class HybridBayesNet { | |||
|   // Standard interface: | ||||
|   double logProbability(const gtsam::HybridValues& values) const; | ||||
|   double evaluate(const gtsam::HybridValues& values) const; | ||||
|   double error(const gtsam::HybridValues& values) const; | ||||
| 
 | ||||
|   gtsam::HybridGaussianFactorGraph toFactorGraph( | ||||
|       const gtsam::VectorValues& measurements) const; | ||||
|  |  | |||
|  | @ -211,14 +211,15 @@ class TestHybridGaussianFactorGraph(GtsamTestCase): | |||
| 
 | ||||
|         # Convert to factor graph with given measurements. | ||||
|         fg = bayesNet.toFactorGraph(measurements) | ||||
|         self.assertEqual(fg.size(), 4) | ||||
|         self.assertEqual(fg.size(), 3) | ||||
| 
 | ||||
|         # Check ratio between unnormalized posterior and factor graph is the same for all modes: | ||||
|         for mode in [1, 0]: | ||||
|             values.insert_or_assign(M(0), mode) | ||||
|             self.assertAlmostEqual(bayesNet.evaluate(values) / | ||||
|                                    fg.error(values), | ||||
|                                    0.025178994744461187) | ||||
|                                    np.exp(-fg.error(values)), | ||||
|                                    0.6366197723675815) | ||||
|             self.assertAlmostEqual(bayesNet.error(values), fg.error(values)) | ||||
| 
 | ||||
|         # Test elimination. | ||||
|         posterior = fg.eliminateSequential() | ||||
|  | @ -292,7 +293,7 @@ class TestHybridGaussianFactorGraph(GtsamTestCase): | |||
| 
 | ||||
|         # Convert to factor graph using measurements. | ||||
|         fg = bayesNet.toFactorGraph(measurements) | ||||
|         self.assertEqual(fg.size(), 6) | ||||
|         self.assertEqual(fg.size(), 4) | ||||
| 
 | ||||
|         # Calculate ratio between Bayes net probability and the factor graph: | ||||
|         expected_ratio = self.calculate_ratio(bayesNet, fg, values) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue