gtsam 4.1.1
gtsam
gtsam::DiscreteFactor Class Referenceabstract

Detailed Description

Base class for discrete probabilistic factors The most general one is the derived DecisionTreeFactor.

+ Inheritance diagram for gtsam::DiscreteFactor:

Public Member Functions

Standard Constructors
 DiscreteFactor ()
 Default constructor creates empty factor.
 
template<typename CONTAINER >
 DiscreteFactor (const CONTAINER &keys)
 Construct from container of keys. More...
 
virtual ~DiscreteFactor ()
 Virtual destructor.
 
Testable
virtual bool equals (const DiscreteFactor &lf, double tol=1e-9) const =0
 equals More...
 
void print (const std::string &s="DiscreteFactor\n", const KeyFormatter &formatter=DefaultKeyFormatter) const override
 print More...
 
virtual bool empty () const
 Test whether the factor is empty.
 
Standard Interface
virtual double operator() (const Values &) const =0
 Find value for given assignment of values to variables. More...
 
virtual DecisionTreeFactor operator* (const DecisionTreeFactor &) const =0
 Multiply in a DecisionTreeFactor and return the result as DecisionTreeFactor. More...
 
virtual DecisionTreeFactor toDecisionTreeFactor () const =0
 
- Public Member Functions inherited from gtsam::Factor
virtual ~Factor ()=default
 Default destructor.
 
KeyVectorkeys ()
 
iterator begin ()
 Iterator at beginning of involved variable keys.
 
iterator end ()
 Iterator at end of involved variable keys.
 
virtual void printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print only keys More...
 
Key front () const
 First key.
 
Key back () const
 Last key.
 
const_iterator find (Key key) const
 find
 
const KeyVectorkeys () const
 Access the factor's involved variable keys.
 
const_iterator begin () const
 Iterator at beginning of involved variable keys.
 
const_iterator end () const
 Iterator at end of involved variable keys.
 
size_t size () const
 

Public Types

typedef DiscreteFactor This
 This class.
 
typedef boost::shared_ptr< DiscreteFactorshared_ptr
 shared_ptr to this class
 
typedef Factor Base
 Our base class.
 
typedef Assignment< KeyValues
 A map from keys to values TODO: Do we need this? Should we just use gtsam::Values? We just need another special DiscreteValue to represent labels, However, all other Lie's operators are undefined in this class. More...
 
typedef boost::shared_ptr< ValuessharedValues
 
- Public Types inherited from gtsam::Factor
typedef KeyVector::iterator iterator
 Iterator over keys.
 
typedef KeyVector::const_iterator const_iterator
 Const iterator over keys.
 

Additional Inherited Members

- Protected Member Functions inherited from gtsam::Factor
 Factor ()
 Default constructor for I/O.
 
template<typename CONTAINER >
 Factor (const CONTAINER &keys)
 Construct factor from container of keys. More...
 
template<typename ITERATOR >
 Factor (ITERATOR first, ITERATOR last)
 Construct factor from iterator keys. More...
 
bool equals (const This &other, double tol=1e-9) const
 check equality
 
- Static Protected Member Functions inherited from gtsam::Factor
template<typename CONTAINER >
static Factor FromKeys (const CONTAINER &keys)
 Construct factor from container of keys. More...
 
template<typename ITERATOR >
static Factor FromIterators (ITERATOR first, ITERATOR last)
 Construct factor from iterator keys. More...
 
- Protected Attributes inherited from gtsam::Factor
KeyVector keys_
 The keys involved in this factor.
 

Member Typedef Documentation

◆ Values

A map from keys to values TODO: Do we need this? Should we just use gtsam::Values? We just need another special DiscreteValue to represent labels, However, all other Lie's operators are undefined in this class.

The good thing is we can have a Hybrid graph of discrete/continuous variables together.. Another good thing is we don't need to have the special DiscreteKey which stores cardinality of a Discrete variable. It should be handled naturally in the new class DiscreteValue, as the varible's type (domain)

Constructor & Destructor Documentation

◆ DiscreteFactor()

template<typename CONTAINER >
gtsam::DiscreteFactor::DiscreteFactor ( const CONTAINER &  keys)
inline

Construct from container of keys.

This constructor is used internally from derived factor constructors, either from a container of keys or from a boost::assign::list_of.

Member Function Documentation

◆ equals()

virtual bool gtsam::DiscreteFactor::equals ( const DiscreteFactor lf,
double  tol = 1e-9 
) const
pure virtual

◆ operator()()

virtual double gtsam::DiscreteFactor::operator() ( const Values ) const
pure virtual

Find value for given assignment of values to variables.

Implemented in gtsam::DecisionTreeFactor, gtsam::DiscreteConditional, gtsam::AllDiff, gtsam::BinaryAllDiff, gtsam::Domain, and gtsam::SingleValue.

◆ operator*()

virtual DecisionTreeFactor gtsam::DiscreteFactor::operator* ( const DecisionTreeFactor ) const
pure virtual

◆ print()

void gtsam::DiscreteFactor::print ( const std::string &  s = "DiscreteFactor\n",
const KeyFormatter formatter = DefaultKeyFormatter 
) const
inlineoverridevirtual

print

Reimplemented from gtsam::Factor.

Reimplemented in gtsam::AllDiff, gtsam::BinaryAllDiff, gtsam::Domain, and gtsam::SingleValue.

◆ toDecisionTreeFactor()

virtual DecisionTreeFactor gtsam::DiscreteFactor::toDecisionTreeFactor ( ) const
pure virtual

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