24 #include <boost/shared_ptr.hpp> 25 #include <boost/assign/list_of.hpp> 26 #include <boost/make_shared.hpp> 33 class SymbolicConditional;
58 Base(boost::assign::cref_list_of<1>(j)) {}
62 Base(boost::assign::cref_list_of<2>(j1)(j2)) {}
66 Base(boost::assign::cref_list_of<3>(j1)(j2)(j3)) {}
70 Base(boost::assign::cref_list_of<4>(j1)(j2)(j3)(j4)) {}
74 Base(boost::assign::cref_list_of<5>(j1)(j2)(j3)(j4)(j5)) {}
78 Base(boost::assign::cref_list_of<6>(j1)(j2)(j3)(j4)(j5)(j6)) {}
93 bool equals(
const This& other,
double tol = 1e-9)
const;
101 template<
typename KEYITERATOR>
107 template<
typename KEYITERATOR>
110 result->keys_.assign(beginKey, endKey);
116 template<
class CONTAINER>
123 template<
class CONTAINER>
125 return FromIteratorsShared(keys.begin(), keys.end());
134 bool empty()
const {
return keys_.empty(); }
138 std::pair<boost::shared_ptr<SymbolicConditional>, boost::shared_ptr<SymbolicFactor> >
139 eliminate(
const Ordering& keys)
const;
145 friend class boost::serialization::access;
146 template<
class ARCHIVE>
147 void serialize(ARCHIVE & ar,
const unsigned int ) {
148 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
Base);
153 class SymbolicFactorGraph;
160 GTSAM_EXPORT std::pair<boost::shared_ptr<SymbolicConditional>, boost::shared_ptr<SymbolicFactor> >
SymbolicFactor(Key j1, Key j2)
Construct binary factor.
Definition: SymbolicFactor.h:61
This is the base class for all factor types.
Definition: Factor.h:54
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:57
Template to create a binary predicate.
Definition: Testable.h:110
boost::shared_ptr< This > shared_ptr
Overriding the shared_ptr typedef.
Definition: SymbolicFactor.h:48
SymbolicFactor()
Default constructor for I/O.
Definition: SymbolicFactor.h:54
SymbolicFactor represents a symbolic factor that specifies graph topology but is not associated with ...
Definition: SymbolicFactor.h:39
static SymbolicFactor::shared_ptr FromKeysShared(const CONTAINER &keys)
Constructor from a collection of keys - compatible with boost::assign::list_of and boost::assign::cre...
Definition: SymbolicFactor.h:124
static SymbolicFactor FromKeys(const CONTAINER &keys)
Constructor from a collection of keys - compatible with boost::assign::list_of and boost::assign::cre...
Definition: SymbolicFactor.h:117
A helper that implements the traits interface for GTSAM types.
Definition: Testable.h:150
SymbolicFactor(Key j1, Key j2, Key j3, Key j4)
Construct 4-way factor.
Definition: SymbolicFactor.h:69
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
SymbolicFactor(Key j1, Key j2, Key j3)
Construct ternary factor.
Definition: SymbolicFactor.h:65
SymbolicConditional is a conditional with keys but no probability data, produced by symbolic eliminat...
Definition: SymbolicConditional.h:36
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
The base class for all factors.
static SymbolicFactor::shared_ptr FromIteratorsShared(KEYITERATOR beginKey, KEYITERATOR endKey)
Constructor from a collection of keys.
Definition: SymbolicFactor.h:108
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
SymbolicFactor(const Factor &factor)
Create symbolic version of any factor.
Definition: SymbolicFactor.h:81
Concept check for values that can be used in unit tests.
SymbolicFactor(Key j)
Construct unary factor.
Definition: SymbolicFactor.h:57
bool empty() const
Whether the factor is empty (involves zero variables).
Definition: SymbolicFactor.h:134
static SymbolicFactor FromIterators(KEYITERATOR beginKey, KEYITERATOR endKey)
Constructor from a collection of keys.
Definition: SymbolicFactor.h:102
SymbolicFactor(Key j1, Key j2, Key j3, Key j4, Key j5)
Construct 5-way factor.
Definition: SymbolicFactor.h:73
SymbolicFactor(Key j1, Key j2, Key j3, Key j4, Key j5, Key j6)
Construct 6-way factor.
Definition: SymbolicFactor.h:77
Definition: Ordering.h:34
SymbolicFactor::shared_ptr clone() const
Copy this object as its actual derived type.
Definition: SymbolicFactor.h:86