gtsam 4.2
gtsam
Loading...
Searching...
No Matches
gtsam::Domain Class Reference

Detailed Description

The Domain class represents a constraint that restricts the possible values a particular variable, with given key, can take on.

Inheritance diagram for gtsam::Domain:

Public Member Functions

 Domain (const DiscreteKey &dkey)
 Domain (const DiscreteKey &dkey, size_t v)
Key key () const
 The one key.
DiscreteKey discreteKey () const
void insert (size_t value)
 Insert a value, non const :-(.
void erase (size_t value)
 Erase a value, non const :-(.
size_t nrValues () const
bool isSingleton () const
size_t firstValue () const
void print (const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const override
 print
bool equals (const DiscreteFactor &other, double tol) const override
 equals
std::string base1Str () const
bool contains (size_t value) const
double operator() (const DiscreteValues &values) const override
 Calculate value.
DecisionTreeFactor toDecisionTreeFactor () const override
 Convert into a decisiontree.
DecisionTreeFactor operator* (const DecisionTreeFactor &f) const override
 Multiply into a decisiontree.
bool ensureArcConsistency (Key j, Domains *domains) const override
boost::optional< Domain > checkAllDiff (const KeyVector keys, const Domains &domains) const
 Check for a value in domain that does not occur in any other connected domain.
Constraint::shared_ptr partiallyApply (const DiscreteValues &values) const override
 Partially apply known values.
Constraint::shared_ptr partiallyApply (const Domains &domains) const override
 Partially apply known values, domain version.
Public Member Functions inherited from gtsam::Constraint
 Constraint ()
 Default constructor for I/O.
 ~Constraint () override
 Virtual destructor.
std::string markdown (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const override
 Render as markdown table.
std::string html (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const override
 Render as html table.
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.
virtual ~DiscreteFactor ()
 Virtual destructor.
double error (const DiscreteValues &values) const
 Error is just -log(value).
double error (const HybridValues &c) const override
 All factor types need to implement an error function.
Public Member Functions inherited from gtsam::Factor
virtual ~Factor ()=default
 Default destructor.
bool empty () const
 Whether the factor is empty (involves zero variables).
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
virtual void printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print only keys
bool equals (const This &other, double tol=1e-9) const
 check equality
KeyVectorkeys ()
iterator begin ()
 Iterator at beginning of involved variable keys.
iterator end ()
 Iterator at end of involved variable keys.

Public Types

typedef boost::shared_ptr< Domain > shared_ptr
 allowed values
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.
using Values = DiscreteValues
 backwards compatibility
using Names = DiscreteValues::Names
 Translation table from values to strings.
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::Constraint
 Constraint (Key j)
 Construct unary constraint factor.
 Constraint (Key j1, Key j2)
 Construct binary constraint factor.
 Constraint (const KeyVector &js)
 Construct n-way constraint factor.
template<class KeyIterator>
 Constraint (KeyIterator beginKey, KeyIterator endKey)
 construct from container
 Factor ()
 Default constructor for I/O.
template<typename CONTAINER>
 Factor (const CONTAINER &keys)
 Construct factor from container of keys.
template<typename ITERATOR>
 Factor (ITERATOR first, ITERATOR last)
 Construct factor from iterator keys.
template<typename CONTAINER>
static Factor FromKeys (const CONTAINER &keys)
 Construct factor from container of keys.
template<typename ITERATOR>
static Factor FromIterators (ITERATOR first, ITERATOR last)
 Construct factor from iterator keys.
Protected Attributes inherited from gtsam::Factor
KeyVector keys_
 The keys involved in this factor.

Member Function Documentation

◆ checkAllDiff()

boost::optional< Domain > gtsam::Domain::checkAllDiff ( const KeyVector keys,
const Domains & domains ) const

Check for a value in domain that does not occur in any other connected domain.

If found, return a a new singleton domain... Called in AllDiff::ensureArcConsistency

Parameters
keysconnected domains through alldiff
keysother domains

◆ ensureArcConsistency()

bool gtsam::Domain::ensureArcConsistency ( Key j,
Domains * domains ) const
overridevirtual

Implements gtsam::Constraint.

◆ equals()

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

equals

Implements gtsam::DiscreteFactor.

◆ operator()()

double gtsam::Domain::operator() ( const DiscreteValues & values) const
overridevirtual

Calculate value.

Implements gtsam::DiscreteFactor.

◆ operator*()

DecisionTreeFactor gtsam::Domain::operator* ( const DecisionTreeFactor & f) const
overridevirtual

Multiply into a decisiontree.

Implements gtsam::DiscreteFactor.

◆ partiallyApply() [1/2]

Constraint::shared_ptr gtsam::Domain::partiallyApply ( const DiscreteValues & values) const
overridevirtual

Partially apply known values.

Implements gtsam::Constraint.

◆ partiallyApply() [2/2]

Constraint::shared_ptr gtsam::Domain::partiallyApply ( const Domains & domains) const
overridevirtual

Partially apply known values, domain version.

Implements gtsam::Constraint.

◆ print()

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

print

Reimplemented from gtsam::DiscreteFactor.

◆ toDecisionTreeFactor()

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

Convert into a decisiontree.

Implements gtsam::DiscreteFactor.


The documentation for this class was generated from the following files:
  • /tmp/gtsam-4.2-docs.H5EUbA/src/gtsam_unstable/discrete/Domain.h
  • /tmp/gtsam-4.2-docs.H5EUbA/src/gtsam_unstable/discrete/Domain.cpp