28class DecisionTreeFactor;
29class DiscreteConditional;
59 template<
typename CONTAINER>
75 const std::string& s =
"DiscreteFactor\n",
76 const KeyFormatter& formatter = DefaultKeyFormatter)
const override {
117 const Names& names = {})
const = 0;
128 const Names& names = {})
const = 0;
154std::vector<double>
expNormalize(
const std::vector<double> &logProbs);
Concept check for values that can be used in unit tests.
The base class for all factors.
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition: Matrix.cpp:156
std::vector< double > expNormalize(const std::vector< double > &logProbs)
Normalize a set of log probabilities.
Definition: DiscreteFactor.cpp:42
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
A helper that implements the traits interface for GTSAM types.
Definition: Testable.h:151
A discrete probabilistic factor.
Definition: DecisionTreeFactor.h:45
Base class for discrete probabilistic factors The most general one is the derived DecisionTreeFactor.
Definition: DiscreteFactor.h:38
virtual std::string html(const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const =0
Render as html table.
Factor Base
Our base class.
Definition: DiscreteFactor.h:45
void print(const std::string &s="DiscreteFactor\n", const KeyFormatter &formatter=DefaultKeyFormatter) const override
print
Definition: DiscreteFactor.h:74
boost::shared_ptr< DiscreteFactor > shared_ptr
shared_ptr to this class
Definition: DiscreteFactor.h:44
virtual ~DiscreteFactor()
Virtual destructor.
Definition: DiscreteFactor.h:63
DiscreteValues::Names Names
Translation table from values to strings.
Definition: DiscreteFactor.h:106
virtual bool equals(const DiscreteFactor &lf, double tol=1e-9) const =0
equals
DiscreteFactor This
This class.
Definition: DiscreteFactor.h:43
virtual DecisionTreeFactor operator*(const DecisionTreeFactor &) const =0
Multiply in a DecisionTreeFactor and return the result as DecisionTreeFactor.
virtual double operator()(const DiscreteValues &) const =0
Find value for given assignment of values to variables.
virtual std::string markdown(const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const =0
Render as markdown table.
DiscreteFactor(const CONTAINER &keys)
Construct from container of keys.
Definition: DiscreteFactor.h:60
DiscreteFactor()
Default constructor creates empty factor.
Definition: DiscreteFactor.h:55
A map from keys to values.
Definition: DiscreteValues.h:34
std::map< Key, std::vector< std::string > > Names
Translation table from values to strings.
Definition: DiscreteValues.h:95
HybridValues represents a collection of DiscreteValues and VectorValues.
Definition: HybridValues.h:38