Fixed bug in COLAMD ordering (unordered branch)

release/4.3a0
Richard Roberts 2013-07-23 03:53:00 +00:00
parent a28b9152e6
commit aef3ba5e56
2 changed files with 5 additions and 3 deletions

View File

@ -102,7 +102,9 @@ namespace gtsam {
gttic(Fill_Ordering);
// Convert elimination ordering in p to an ordering
OrderingUnordered result;
result.assign(p.begin(), p.end() - 1);
result.resize(nVars);
for(size_t j = 0; j < nVars; ++j)
result[j] = keys[p[j]];
gttoc(Fill_Ordering);
return result;

View File

@ -230,7 +230,7 @@ void getAllCliques(const SymbolicBayesTreeUnordered::sharedClique& subtree, Symb
}
/* ************************************************************************* */
TEST_UNSAFE( BayesTree, shortcutCheck )
TEST( BayesTree, shortcutCheck )
{
const Key _A_=6, _B_=5, _C_=4, _D_=3, _E_=2, _F_=1, _G_=0;
SymbolicFactorGraphUnordered chain = list_of
@ -244,7 +244,7 @@ TEST_UNSAFE( BayesTree, shortcutCheck )
SymbolicBayesTreeUnordered bayesTree = *chain.eliminateMultifrontal(
OrderingUnordered(list_of(_G_)(_F_)(_E_)(_D_)(_C_)(_B_)(_A_)));
//bayesTree.print("BayesTree");
bayesTree.print("BayesTree");
//bayesTree.saveGraph("BT1.dot");
SymbolicBayesTreeUnordered::sharedClique rootClique = bayesTree.roots().front();