gtsam 4.1.1
gtsam
gtsam::AllDiff Class Reference

Detailed Description

General AllDiff constraint Returns 1 if values for all keys are different, 0 otherwise DiscreteFactors are all awkward in that they have to store two types of keys: for each variable we have a Key and an Key.

In this factor, we keep the Indices locally, and the Indices are stored in IndexFactor.

+ Inheritance diagram for gtsam::AllDiff:

Public Member Functions

 AllDiff (const DiscreteKeys &dkeys)
 Constructor.
 
void print (const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const override
 print More...
 
bool equals (const DiscreteFactor &other, double tol) const override
 equals More...
 
double operator() (const Values &values) const override
 Calculate value = expensive ! More...
 
DecisionTreeFactor toDecisionTreeFactor () const override
 Convert into a decisiontree, can be very expensive ! More...
 
DecisionTreeFactor operator* (const DecisionTreeFactor &f) const override
 Multiply into a decisiontree. More...
 
bool ensureArcConsistency (size_t j, std::vector< Domain > &domains) const override
 
Constraint::shared_ptr partiallyApply (const Values &) const override
 Partially apply known values. More...
 
Constraint::shared_ptr partiallyApply (const std::vector< Domain > &) const override
 Partially apply known values, domain version. More...
 
- Public Member Functions inherited from gtsam::Constraint
 Constraint ()
 Default constructor for I/O.
 
 ~Constraint () override
 Virtual destructor.
 
- Public Member Functions inherited from gtsam::DiscreteFactor
 DiscreteFactor ()
 Default constructor creates empty factor.
 
template<typename CONTAINER >
 DiscreteFactor (const CONTAINER &keys)
 Construct from container of keys. More...
 
virtual ~DiscreteFactor ()
 Virtual destructor.
 
virtual bool empty () const
 Test whether the factor is empty.
 
- 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
 

Additional Inherited Members

- Public Types inherited from gtsam::Constraint
typedef boost::shared_ptr< Constraintshared_ptr
 
- Public Types inherited from gtsam::DiscreteFactor
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.
 
- Protected Member Functions inherited from gtsam::Constraint
 Constraint (const KeyVector &js)
 Construct n-way factor.
 
 Constraint (Key j)
 Construct unary factor.
 
 Constraint (Key j1, Key j2)
 Construct binary factor.
 
template<class KeyIterator >
 Constraint (KeyIterator beginKey, KeyIterator endKey)
 construct from container
 
- 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 Function Documentation

◆ ensureArcConsistency()

bool gtsam::AllDiff::ensureArcConsistency ( size_t  j,
std::vector< Domain > &  domains 
) const
overridevirtual

Implements gtsam::Constraint.

◆ equals()

bool gtsam::AllDiff::equals ( const DiscreteFactor other,
double  tol 
) const
inlineoverridevirtual

equals

Implements gtsam::DiscreteFactor.

◆ operator()()

double gtsam::AllDiff::operator() ( const Values values) const
overridevirtual

Calculate value = expensive !

Implements gtsam::DiscreteFactor.

◆ operator*()

DecisionTreeFactor gtsam::AllDiff::operator* ( const DecisionTreeFactor f) const
overridevirtual

Multiply into a decisiontree.

Implements gtsam::DiscreteFactor.

◆ partiallyApply() [1/2]

Constraint::shared_ptr gtsam::AllDiff::partiallyApply ( const std::vector< Domain > &  domains) const
overridevirtual

Partially apply known values, domain version.

Implements gtsam::Constraint.

◆ partiallyApply() [2/2]

Constraint::shared_ptr gtsam::AllDiff::partiallyApply ( const Values values) const
overridevirtual

Partially apply known values.

Implements gtsam::Constraint.

◆ print()

void gtsam::AllDiff::print ( const std::string &  s = "",
const KeyFormatter formatter = DefaultKeyFormatter 
) const
overridevirtual

print

Reimplemented from gtsam::DiscreteFactor.

◆ toDecisionTreeFactor()

DecisionTreeFactor gtsam::AllDiff::toDecisionTreeFactor ( ) const
overridevirtual

Convert into a decisiontree, can be very expensive !

Implements gtsam::DiscreteFactor.


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