28 class SymbolicFactorGraph;
29 class SymbolicConditional;
30 class SymbolicBayesNet;
31 class SymbolicEliminationTree;
32 class SymbolicBayesTree;
33 class SymbolicJunctionTree;
46 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 = 1e-9)
const;
96 const std::string& s =
"SymbolicFactorGraph",
97 const KeyFormatter& formatter = DefaultKeyFormatter)
const override {
107 void push_factor(
Key key);
110 void push_factor(
Key key1,
Key key2);
113 void push_factor(
Key key1,
Key key2,
Key key3);
116 void push_factor(
Key key1,
Key key2,
Key key3,
Key key4);
122 friend class boost::serialization::access;
123 template<
class ARCHIVE>
124 void serialize(ARCHIVE & ar,
const unsigned int ) {
125 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
Base);
Typedefs for easier changing of types.
Variable elimination algorithms for factor graphs.
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:112
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition: Matrix.cpp:155
std::pair< boost::shared_ptr< SymbolicConditional >, boost::shared_ptr< SymbolicFactor > > EliminateSymbolic(const SymbolicFactorGraph &factors, const Ordering &keys)
Dense elimination function for symbolic factors.
Definition: SymbolicFactor.cpp:31
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:69
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
Template to create a binary predicate.
Definition: Testable.h:111
A helper that implements the traits interface for GTSAM types.
Definition: Testable.h:151
A factor graph is a bipartite graph with factor nodes connected to variable nodes.
Definition: FactorGraph.h:93
Traits class for eliminateable factor graphs, specifies the types that result from elimination,...
Definition: EliminateableFactorGraph.h:36
EliminateableFactorGraph is a base class for factor graphs that contains elimination algorithms.
Definition: EliminateableFactorGraph.h:57
Definition: Ordering.h:34
Symbolic Bayes Net.
Definition: SymbolicBayesNet.h:30
A Bayes tree that represents the connectivity between variables but is not associated with any probab...
Definition: SymbolicBayesTree.h:51
SymbolicConditional is a conditional with keys but no probability data, produced by symbolic eliminat...
Definition: SymbolicConditional.h:38
Definition: SymbolicEliminationTree.h:29
SymbolicFactor represents a symbolic factor that specifies graph topology but is not associated with ...
Definition: SymbolicFactor.h:39
SymbolicFactor FactorType
Type of factors in factor graph.
Definition: SymbolicFactorGraph.h:38
SymbolicFactorGraph FactorGraphType
Type of the factor graph (e.g. GaussianFactorGraph)
Definition: SymbolicFactorGraph.h:39
SymbolicEliminationTree EliminationTreeType
Type of elimination tree.
Definition: SymbolicFactorGraph.h:42
SymbolicBayesNet BayesNetType
Type of Bayes net from sequential elimination.
Definition: SymbolicFactorGraph.h:41
static std::pair< boost::shared_ptr< ConditionalType >, boost::shared_ptr< FactorType > > DefaultEliminate(const FactorGraphType &factors, const Ordering &keys)
The default dense elimination function.
Definition: SymbolicFactorGraph.h:47
SymbolicJunctionTree JunctionTreeType
Type of Junction tree.
Definition: SymbolicFactorGraph.h:44
SymbolicBayesTree BayesTreeType
Type of Bayes tree.
Definition: SymbolicFactorGraph.h:43
SymbolicConditional ConditionalType
Type of conditionals from elimination.
Definition: SymbolicFactorGraph.h:40
Symbolic Factor Graph.
Definition: SymbolicFactorGraph.h:58
SymbolicFactorGraph()
Construct empty factor graph.
Definition: SymbolicFactorGraph.h:70
SymbolicFactorGraph(const FactorGraph< DERIVEDFACTOR > &graph)
Implicit copy/downcast constructor to override explicit template container constructor.
Definition: SymbolicFactorGraph.h:82
void print(const std::string &s="SymbolicFactorGraph", const KeyFormatter &formatter=DefaultKeyFormatter) const override
print
Definition: SymbolicFactorGraph.h:95
EliminateableFactorGraph< This > BaseEliminateable
Typedef to base elimination class.
Definition: SymbolicFactorGraph.h:63
boost::shared_ptr< This > shared_ptr
shared_ptr to this class
Definition: SymbolicFactorGraph.h:64
SymbolicFactorGraph This
Typedef to this class.
Definition: SymbolicFactorGraph.h:61
SymbolicFactorGraph(ITERATOR firstFactor, ITERATOR lastFactor)
Construct from iterator over factors.
Definition: SymbolicFactorGraph.h:74
virtual ~SymbolicFactorGraph()
Destructor.
Definition: SymbolicFactorGraph.h:85
FactorGraph< SymbolicFactor > Base
Typedef to base factor graph type.
Definition: SymbolicFactorGraph.h:62
SymbolicFactorGraph(const CONTAINER &factors)
Construct from container of factors (shared_ptr or plain objects)
Definition: SymbolicFactorGraph.h:78
Definition: SymbolicJunctionTree.h:49