iSAM smoother test
							parent
							
								
									4951a25453
								
							
						
					
					
						commit
						10a8ac34ec
					
				| 
						 | 
				
			
			@ -464,7 +464,7 @@ TEST( BayesTree, removeTop2 )
 | 
			
		|||
  CHECK(assert_equal((FactorGraph<SymbolicFactor>)expected, factors));
 | 
			
		||||
	SymbolicBayesTree::Cliques expectedOrphans;
 | 
			
		||||
  expectedOrphans += bayesTree["T"], bayesTree["X"];
 | 
			
		||||
  // CHECK(assert_equal(expectedOrphans, orphans)); fails !
 | 
			
		||||
	CHECK(assert_equal(expectedOrphans, orphans));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* ************************************************************************* */
 | 
			
		||||
| 
						 | 
				
			
			@ -502,6 +502,32 @@ TEST( BayesTree, iSAM )
 | 
			
		|||
  CHECK(assert_equal(expected,bayesTree));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* ************************************************************************* */
 | 
			
		||||
TEST( BayesTree, iSAM_smoother )
 | 
			
		||||
{
 | 
			
		||||
	// Create smoother with 7 nodes
 | 
			
		||||
	GaussianFactorGraph smoother = createSmoother(7);
 | 
			
		||||
 | 
			
		||||
	// iSAM
 | 
			
		||||
	GaussianBayesTree bayesTree;
 | 
			
		||||
	BOOST_FOREACH(boost::shared_ptr<GaussianFactor> factor, (const GaussianFactorGraph)smoother) {
 | 
			
		||||
		GaussianFactorGraph factorGraph;
 | 
			
		||||
		factorGraph.push_back(factor);
 | 
			
		||||
		bayesTree.update(factorGraph);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// expected
 | 
			
		||||
	Ordering ordering;
 | 
			
		||||
	for (int t = 1; t <= 7; t++)
 | 
			
		||||
		ordering.push_back(symbol('x', t));
 | 
			
		||||
	// eliminate using the "natural" ordering
 | 
			
		||||
	GaussianBayesNet chordalBayesNet = smoother.eliminate(ordering);
 | 
			
		||||
	// Create the Bayes tree
 | 
			
		||||
	GaussianBayesTree expectedBayesTree(chordalBayesNet);
 | 
			
		||||
 | 
			
		||||
	CHECK(assert_equal(expectedBayesTree, bayesTree));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* ************************************************************************* */
 | 
			
		||||
int main() {
 | 
			
		||||
	TestResult tr;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue