gtsam  4.0.0
gtsam
gtsam::Potentials Class Reference

Detailed Description

A base class for both DiscreteFactor and DiscreteConditional.

+ Inheritance diagram for gtsam::Potentials:

Public Member Functions

GTSAM_EXPORT Potentials ()
 Default constructor for I/O.
 
GTSAM_EXPORT Potentials (const DiscreteKeys &keys, const ADT &decisionTree)
 Constructor from Indices and ADT.
 
template<class SOURCE >
 Potentials (const DiscreteKeys &keys, SOURCE table)
 Constructor from Indices and (string or doubles)
 
GTSAM_EXPORT bool equals (const Potentials &other, double tol=1e-9) const
 
GTSAM_EXPORT void print (const std::string &s="Potentials: ", const KeyFormatter &formatter=DefaultKeyFormatter) const
 
size_t cardinality (Key j) const
 
- Public Member Functions inherited from gtsam::AlgebraicDecisionTree< Key >
 AlgebraicDecisionTree (const Super &add)
 
 AlgebraicDecisionTree (const Key &label, double y1, double y2)
 Create a new leaf function splitting on a variable.
 
 AlgebraicDecisionTree (const typename Super::LabelC &labelC, double y1, double y2)
 Create a new leaf function splitting on a variable.
 
 AlgebraicDecisionTree (const std::vector< typename Super::LabelC > &labelCs, const std::vector< double > &ys)
 Create from keys and vector table.
 
 AlgebraicDecisionTree (const std::vector< typename Super::LabelC > &labelCs, const std::string &table)
 Create from keys and string table.
 
 AlgebraicDecisionTree (Iterator begin, Iterator end, const Key &label)
 Create a new function splitting on a variable.
 
 AlgebraicDecisionTree (const AlgebraicDecisionTree< M > &other, const std::map< M, Key > &map)
 Convert.
 
AlgebraicDecisionTree operator+ (const AlgebraicDecisionTree &g) const
 sum
 
AlgebraicDecisionTree operator * (const AlgebraicDecisionTree &g) const
 product
 
AlgebraicDecisionTree operator/ (const AlgebraicDecisionTree &g) const
 division
 
AlgebraicDecisionTree sum (const Key &label, size_t cardinality) const
 sum out variable
 
AlgebraicDecisionTree sum (const typename Super::LabelC &labelC) const
 sum out variable
 
- Public Member Functions inherited from gtsam::DecisionTree< Key, double >
 DecisionTree (const double &y)
 Create a constant.
 
 DecisionTree (const Key &label, const double &y1, const double &y2)
 Create a new leaf function splitting on a variable.
 
 DecisionTree (const LabelC &label, const double &y1, const double &y2)
 Allow Label+Cardinality for convenience.
 
 DecisionTree (const std::vector< LabelC > &labelCs, const std::vector< double > &ys)
 Create from keys and a corresponding vector of values.
 
 DecisionTree (const std::vector< LabelC > &labelCs, const std::string &table)
 Create from keys and string table.
 
 DecisionTree (Iterator begin, Iterator end, const Key &label)
 Create DecisionTree from others.
 
 DecisionTree (const Key &label, const DecisionTree &f0, const DecisionTree &f1)
 Create DecisionTree from two others.
 
 DecisionTree (const DecisionTree< M, X > &other, const std::map< M, Key > &map, boost::function< double(const X &)> op)
 Convert from a different type.
 
 DecisionTree (const NodePtr &root)
 
NodePtr compose (Iterator begin, Iterator end, const Key &label) const
 
void print (const std::string &s="DecisionTree") const
 GTSAM-style print.
 
bool equals (const DecisionTree &other, double tol=1e-9) const
 
virtual ~DecisionTree ()
 Make virtual.
 
bool operator== (const DecisionTree &q) const
 equality
 
const double & operator() (const Assignment< Key > &x) const
 evaluate
 
DecisionTree apply (const Unary &op) const
 apply Unary operation "op" to f
 
DecisionTree apply (const DecisionTree &g, const Binary &op) const
 apply binary operation "op" to f and g
 
DecisionTree choose (const Key &label, size_t index) const
 create a new function where value(label)==index It's like "restrict" in Darwiche09book pg329, 330?
 
DecisionTree combine (const Key &label, size_t cardinality, const Binary &op) const
 combine subtrees on key with binary operation "op"
 
DecisionTree combine (const LabelC &labelC, const Binary &op) const
 combine with LabelC for convenience
 
void dot (std::ostream &os, bool showZero=true) const
 output to graphviz format, stream version
 
void dot (const std::string &name, bool showZero=true) const
 output to graphviz format, open a file
 

Public Types

typedef AlgebraicDecisionTree< KeyADT
 
- Public Types inherited from gtsam::AlgebraicDecisionTree< Key >
typedef DecisionTree< Key, double > Super
 
- Public Types inherited from gtsam::DecisionTree< Key, double >
typedef boost::function< double(const double &)> Unary
 Handy typedefs for unary and binary function types.
 
typedef boost::function< double(const double &, const double &)> Binary
 
typedef std::pair< Key, size_t > LabelC
 A label annotated with cardinality.
 
typedef Node::Ptr NodePtr
 ---------------------— Node base class ------------------------— More...
 

Protected Member Functions

 Potentials (const ADT &potentials)
 Constructor from ColumnIndex, and ADT.
 
- Protected Member Functions inherited from gtsam::DecisionTree< Key, double >
NodePtr create (It begin, It end, ValueIt beginY, ValueIt endY) const
 Internal recursive function to create from keys, cardinalities, and Y values.
 
NodePtr convert (const typename DecisionTree< M, X >::NodePtr &f, const std::map< M, Key > &map, boost::function< double(const X &)> op)
 Convert to a different type.
 
 DecisionTree ()
 Default constructor.
 

Static Protected Member Functions

static GTSAM_EXPORT double safe_div (const double &a, const double &b)
 

Protected Attributes

std::map< Key, size_t > cardinalities_
 Cardinality for each key, used in combine.
 

Additional Inherited Members

- Public Attributes inherited from gtsam::DecisionTree< Key, double >
NodePtr root_
 

The documentation for this class was generated from the following files: