28 class SymbolicFactorGraph;
29 class SymbolicConditional;
30 class SymbolicBayesNet;
31 class SymbolicEliminationTree;
32 class SymbolicBayesTree;
33 class SymbolicJunctionTree;
45 static std::pair<boost::shared_ptr<ConditionalType>, boost::shared_ptr<FactorType> >
73 template<
typename ITERATOR>
77 template<
class CONTAINER>
81 template<
class DERIVEDFACTOR>
92 bool equals(
const This& fg,
double tol = 1
e-9)
const;
96 const std::string&
s =
"SymbolicFactorGraph",
107 void push_factor(
Key key);
122 friend class boost::serialization::access;
123 template<
class ARCHIVE>
125 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base);
void print(const Matrix &A, const string &s, ostream &stream)
Typedefs for easier changing of types.
virtual ~SymbolicFactorGraph()
Destructor.
SymbolicFactorGraph(const FactorGraph< DERIVEDFACTOR > &graph)
Variable elimination algorithms for factor graphs.
SymbolicBayesNet BayesNetType
Type of Bayes net from sequential elimination.
SymbolicFactorGraph FactorGraphType
Type of the factor graph (e.g. GaussianFactorGraph)
SymbolicFactorGraph(ITERATOR firstFactor, ITERATOR lastFactor)
GaussianFactorGraph factors(list_of(factor1)(factor2)(factor3))
NonlinearFactorGraph graph
static const KeyFormatter DefaultKeyFormatter
FactorGraph< SymbolicFactor > Base
Typedef to base factor graph type.
const KeyFormatter & formatter
const Symbol key1('v', 1)
SymbolicFactor FactorType
Type of factors in factor graph.
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
void serialize(ARCHIVE &ar, const unsigned int)
static std::pair< boost::shared_ptr< ConditionalType >, boost::shared_ptr< FactorType > > DefaultEliminate(const FactorGraphType &factors, const Ordering &keys)
The default dense elimination function.
SymbolicConditional ConditionalType
Type of conditionals from elimination.
boost::shared_ptr< This > shared_ptr
shared_ptr to this class
const Symbol key3('v', 3)
const Symbol key2('v', 2)
const Symbol key4('v', 4)
EliminateableFactorGraph< This > BaseEliminateable
Typedef to base elimination class.
SymbolicJunctionTree JunctionTreeType
SymbolicFactorGraph This
Typedef to this class.
void print(const std::string &s="SymbolicFactorGraph", const KeyFormatter &formatter=DefaultKeyFormatter) const override
print
SymbolicFactorGraph(const CONTAINER &factors)
SymbolicBayesTree BayesTreeType
Type of Bayes tree.
std::pair< boost::shared_ptr< SymbolicConditional >, boost::shared_ptr< SymbolicFactor > > EliminateSymbolic(const SymbolicFactorGraph &factors, const Ordering &keys)
std::uint64_t Key
Integer nonlinear key type.
SymbolicEliminationTree EliminationTreeType
Type of elimination tree.