26#include <boost/shared_ptr.hpp>
43 typedef boost::shared_ptr<This> shared_ptr;
44 typedef boost::shared_ptr<ConditionalType> sharedConditional;
53 template <
typename ITERATOR>
55 :
Base(firstConditional, lastConditional) {}
58 template <
class CONTAINER>
60 :
Base(conditionals) {}
64 template <
class DERIVEDCONDITIONAL>
77 bool equals(
const This& bn,
double tol = 1e-9)
const;
89 emplace_shared<DiscreteDistribution>(key, spec);
93 template <
typename... Args>
94 void add(Args&&... args) {
95 emplace_shared<DiscreteConditional>(std::forward<Args>(args)...);
103 return evaluate(values);
147 using Base::evaluate;
148 using Base::logProbability;
152#ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V42
163 friend class boost::serialization::access;
164 template<
class ARCHIVE>
165 void serialize(ARCHIVE & ar,
const unsigned int ) {
166 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
Base);
std::pair< Key, size_t > DiscreteKey
Key type for discrete variables.
Definition: DiscreteKey.h:36
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
string html(const DiscreteValues &values, const KeyFormatter &keyFormatter, const DiscreteValues::Names &names)
Free version of html.
Definition: DiscreteValues.cpp:134
string markdown(const DiscreteValues &values, const KeyFormatter &keyFormatter, const DiscreteValues::Names &names)
Free version of markdown.
Definition: DiscreteValues.cpp:129
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
Point3 optimize(const NonlinearFactorGraph &graph, const Values &values, Key landmarkKey)
Optimize for triangulation.
Definition: triangulation.cpp:155
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 Bayes net made from discrete conditional distributions.
Definition: DiscreteBayesNet.h:38
DiscreteBayesNet(ITERATOR firstConditional, ITERATOR lastConditional)
Construct from iterator over conditionals.
Definition: DiscreteBayesNet.h:54
DiscreteBayesNet(const FactorGraph< DERIVEDCONDITIONAL > &graph)
Implicit copy/downcast constructor to override explicit template container constructor.
Definition: DiscreteBayesNet.h:65
DiscreteBayesNet(const CONTAINER &conditionals)
Construct from container of factors (shared_ptr or plain objects)
Definition: DiscreteBayesNet.h:59
DiscreteBayesNet()
Construct empty Bayes net.
Definition: DiscreteBayesNet.h:50
virtual ~DiscreteBayesNet()
Destructor.
Definition: DiscreteBayesNet.h:69
void add(Args &&... args)
Add a DiscreteCondtional.
Definition: DiscreteBayesNet.h:94
void add(const DiscreteKey &key, const std::string &spec)
Add a DiscreteDistribution using a table or a string.
Definition: DiscreteBayesNet.h:88
Discrete Conditional Density Derives from DecisionTreeFactor.
Definition: DiscreteConditional.h:40
DiscreteValues::Names Names
Translation table from values to strings.
Definition: DiscreteFactor.h:106
A map from keys to values.
Definition: DiscreteValues.h:34
A BayesNet is a tree of conditionals, stored in elimination order.
Definition: BayesNet.h:35
A factor graph is a bipartite graph with factor nodes connected to variable nodes.
Definition: FactorGraph.h:97
The Factor::error simply extracts the.