|
NLG | collectOriginalFactors (const GenericGraph &gfg, const GenericUnaryGraph &unaryFactors) const |
|
sharedSubNLG | makeSubNLG (const NLG &fg, const std::vector< size_t > &frontals, const std::vector< size_t > &sep, const std::shared_ptr< SubNLG > &parent) const |
|
void | partitionFactorsAndVariables (const GenericGraph &fg, const GenericUnaryGraph &unaryFactors, const std::vector< size_t > &keys, const std::vector< int > &partitionTable, const int numSubmaps, std::vector< GenericGraph > &frontalFactors, vector< GenericUnaryGraph > &frontalUnaryFactors, NLG &sepFactors, std::vector< std::vector< size_t > > &childFrontals, std::vector< std::vector< size_t > > &childSeps, std::vector< size_t > &localFrontals, typename SubNLG::Weeklinks &weeklinks) const |
|
void | processFactor (const typename GenericGraph::value_type &factor, const std::vector< int > &partitionTable, std::vector< GenericGraph > &frontalFactors, NLG &sepFactors, std::vector< std::set< size_t > > &childSeps, typename SubNLG::Weeklinks &weeklinks) const |
|
sharedSubNLG | recursivePartition (const GenericGraph &gfg, const GenericUnaryGraph &unaryFactors, const std::vector< size_t > &frontals, const std::vector< size_t > &sep, const int numNodeStopPartition, const int minNodesPerMap, const std::shared_ptr< SubNLG > &parent, WorkSpace &workspace, const bool verbose) const |
|
sharedSubNLG | recursivePartition (const GenericGraph &gfg, const GenericUnaryGraph &unaryFactors, const std::vector< size_t > &frontals, const std::vector< size_t > &sep, const std::shared_ptr< Cuts > &cuts, const std::shared_ptr< SubNLG > &parent, WorkSpace &workspace, const bool verbose) const |
|
template<class NLG, class SubNLG, class GenericGraph>
class gtsam::partition::NestedDissection< NLG, SubNLG, GenericGraph >
Apply nested dissection algorithm to nonlinear factor graphs
Definition at line 21 of file NestedDissection.h.
template<class NLG , class SubNLG , class GenericGraph >
void gtsam::partition::NestedDissection< NLG, SubNLG, GenericGraph >::partitionFactorsAndVariables |
( |
const GenericGraph & |
fg, |
|
|
const GenericUnaryGraph & |
unaryFactors, |
|
|
const std::vector< size_t > & |
keys, |
|
|
const std::vector< int > & |
partitionTable, |
|
|
const int |
numSubmaps, |
|
|
std::vector< GenericGraph > & |
frontalFactors, |
|
|
vector< GenericUnaryGraph > & |
frontalUnaryFactors, |
|
|
NLG & |
sepFactors, |
|
|
std::vector< std::vector< size_t > > & |
childFrontals, |
|
|
std::vector< std::vector< size_t > > & |
childSeps, |
|
|
std::vector< size_t > & |
localFrontals, |
|
|
typename SubNLG::Weeklinks & |
weeklinks |
|
) |
| const |
|
private |
given a factor graph and its partition {nodeMap}, split the factors between the child cliques ({frontalFactors}) and the current clique ({sepFactors}). Also split the variables between the child cliques ({childFrontals}) and the current clique ({localFrontals}). Those separator variables involved in {frontalFactors} are put into the correspoding ordering in {childSeps}.
Definition at line 117 of file NestedDissection-inl.h.