Public Types | Public Member Functions | Private Attributes | List of all members
gtsam::Domain Class Reference

#include <Domain.h>

Inheritance diagram for gtsam::Domain:
Inheritance graph
[legend]

Public Types

typedef std::shared_ptr< Domainshared_ptr
 allowed values More...
 
- Public Types inherited from gtsam::Constraint
typedef std::shared_ptr< Constraintshared_ptr
 
- Public Types inherited from gtsam::DiscreteFactor
typedef Factor Base
 Our base class. More...
 
typedef std::shared_ptr< DiscreteFactorshared_ptr
 shared_ptr to this class More...
 
typedef DiscreteFactor This
 This class. More...
 
using Values = DiscreteValues
 backwards compatibility More...
 
using Names = DiscreteValues::Names
 Translation table from values to strings. More...
 
- Public Types inherited from gtsam::Factor
typedef KeyVector::const_iterator const_iterator
 Const iterator over keys. More...
 
typedef KeyVector::iterator iterator
 Iterator over keys. More...
 

Public Member Functions

std::string base1Str () const
 
std::optional< DomaincheckAllDiff (const KeyVector keys, const Domains &domains) const
 
bool contains (size_t value) const
 
DiscreteKey discreteKey () const
 
 Domain (const DiscreteKey &dkey)
 
 Domain (const DiscreteKey &dkey, size_t v)
 
bool ensureArcConsistency (Key j, Domains *domains) const override
 
bool equals (const DiscreteFactor &other, double tol) const override
 equals More...
 
void erase (size_t value)
 Erase a value, non const :-(. More...
 
AlgebraicDecisionTree< KeyerrorTree () const override
 Compute error for each assignment and return as a tree. More...
 
size_t firstValue () const
 
void insert (size_t value)
 Insert a value, non const :-(. More...
 
bool isSingleton () const
 
Key key () const
 The one key. More...
 
size_t nrValues () const
 
double operator() (const DiscreteValues &values) const override
 Calculate value. More...
 
DecisionTreeFactor operator* (const DecisionTreeFactor &f) const override
 Multiply into a decisiontree. More...
 
Constraint::shared_ptr partiallyApply (const DiscreteValues &values) const override
 Partially apply known values. More...
 
Constraint::shared_ptr partiallyApply (const Domains &domains) const override
 Partially apply known values, domain version. More...
 
void print (const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const override
 print More...
 
DecisionTreeFactor toDecisionTreeFactor () const override
 Convert into a decisiontree. More...
 
- Public Member Functions inherited from gtsam::Constraint
 Constraint ()
 Default constructor for I/O. More...
 
 ~Constraint () override
 Virtual destructor. More...
 
std::string markdown (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const override
 Render as markdown table. More...
 
std::string html (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const Names &names={}) const override
 Render as html table. More...
 
- Public Member Functions inherited from gtsam::DiscreteFactor
 DiscreteFactor ()
 
template<typename CONTAINER >
 DiscreteFactor (const CONTAINER &keys, const std::map< Key, size_t > cardinalities={})
 
DiscreteKeys discreteKeys () const
 Return all the discrete keys associated with this factor. More...
 
std::map< Key, size_tcardinalities () const
 
size_t cardinality (Key j) const
 
virtual double error (const DiscreteValues &values) const
 Error is just -log(value) More...
 
double error (const HybridValues &c) const override
 
- Public Member Functions inherited from gtsam::Factor
virtual ~Factor ()=default
 Default destructor. More...
 
bool empty () const
 Whether the factor is empty (involves zero variables). More...
 
Key front () const
 First key. More...
 
Key back () const
 Last key. More...
 
const_iterator find (Key key) const
 find More...
 
const KeyVectorkeys () const
 Access the factor's involved variable keys. More...
 
const_iterator begin () const
 
const_iterator end () const
 
size_t size () const
 
virtual void printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print only keys More...
 
bool equals (const This &other, double tol=1e-9) const
 check equality More...
 
KeyVectorkeys ()
 
iterator begin ()
 
iterator end ()
 

Private Attributes

size_t cardinality_
 
std::set< size_tvalues_
 Cardinality. More...
 

Additional Inherited Members

- Protected Member Functions inherited from gtsam::Constraint
 Constraint (const KeyVector &js)
 Construct n-way constraint factor. More...
 
 Constraint (Key j)
 Construct unary constraint factor. More...
 
 Constraint (Key j1, Key j2)
 Construct binary constraint factor. More...
 
template<class KeyIterator >
 Constraint (KeyIterator beginKey, KeyIterator endKey)
 construct from container More...
 
- Protected Member Functions inherited from gtsam::Factor
 Factor ()
 
template<typename CONTAINER >
 Factor (const CONTAINER &keys)
 
template<typename ITERATOR >
 Factor (ITERATOR first, ITERATOR last)
 
- Static Protected Member Functions inherited from gtsam::Factor
template<typename CONTAINER >
static Factor FromKeys (const CONTAINER &keys)
 
template<typename ITERATOR >
static Factor FromIterators (ITERATOR first, ITERATOR last)
 
- Protected Attributes inherited from gtsam::DiscreteFactor
std::map< Key, size_tcardinalities_
 Map of Keys and their cardinalities. More...
 
- Protected Attributes inherited from gtsam::Factor
KeyVector keys_
 The keys involved in this factor. More...
 

Detailed Description

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

Definition at line 20 of file Domain.h.

Member Typedef Documentation

◆ shared_ptr

typedef std::shared_ptr<Domain> gtsam::Domain::shared_ptr

allowed values

Definition at line 25 of file Domain.h.

Constructor & Destructor Documentation

◆ Domain() [1/2]

gtsam::Domain::Domain ( const DiscreteKey dkey)
inline

Definition at line 28 of file Domain.h.

◆ Domain() [2/2]

gtsam::Domain::Domain ( const DiscreteKey dkey,
size_t  v 
)
inline

Definition at line 35 of file Domain.h.

Member Function Documentation

◆ base1Str()

string gtsam::Domain::base1Str ( ) const

Definition at line 26 of file Domain.cpp.

◆ checkAllDiff()

std::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

Definition at line 63 of file Domain.cpp.

◆ contains()

bool gtsam::Domain::contains ( size_t  value) const
inline

Definition at line 82 of file Domain.h.

◆ discreteKey()

DiscreteKey gtsam::Domain::discreteKey ( ) const
inline

Definition at line 44 of file Domain.h.

◆ ensureArcConsistency()

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

Implements gtsam::Constraint.

Definition at line 53 of file Domain.cpp.

◆ equals()

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

equals

Implements gtsam::DiscreteFactor.

Definition at line 63 of file Domain.h.

◆ erase()

void gtsam::Domain::erase ( size_t  value)
inline

Erase a value, non const :-(.

Definition at line 50 of file Domain.h.

◆ errorTree()

AlgebraicDecisionTree<Key> gtsam::Domain::errorTree ( ) const
inlineoverridevirtual

Compute error for each assignment and return as a tree.

Reimplemented from gtsam::DiscreteFactor.

Definition at line 73 of file Domain.h.

◆ firstValue()

size_t gtsam::Domain::firstValue ( ) const
inline

Definition at line 56 of file Domain.h.

◆ insert()

void gtsam::Domain::insert ( size_t  value)
inline

Insert a value, non const :-(.

Definition at line 47 of file Domain.h.

◆ isSingleton()

bool gtsam::Domain::isSingleton ( ) const
inline

Definition at line 54 of file Domain.h.

◆ key()

Key gtsam::Domain::key ( ) const
inline

The one key.

Definition at line 41 of file Domain.h.

◆ nrValues()

size_t gtsam::Domain::nrValues ( ) const
inline

Definition at line 52 of file Domain.h.

◆ operator()()

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

Calculate value.

Implements gtsam::DiscreteFactor.

Definition at line 33 of file Domain.cpp.

◆ operator*()

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

Multiply into a decisiontree.

Implements gtsam::DiscreteFactor.

Definition at line 47 of file Domain.cpp.

◆ partiallyApply() [1/2]

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

Partially apply known values.

Implements gtsam::Constraint.

Definition at line 80 of file Domain.cpp.

◆ partiallyApply() [2/2]

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

Partially apply known values, domain version.

Implements gtsam::Constraint.

Definition at line 88 of file Domain.cpp.

◆ print()

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

print

Reimplemented from gtsam::DiscreteFactor.

Definition at line 18 of file Domain.cpp.

◆ toDecisionTreeFactor()

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

Convert into a decisiontree.

Implements gtsam::DiscreteFactor.

Definition at line 38 of file Domain.cpp.

Member Data Documentation

◆ cardinality_

size_t gtsam::Domain::cardinality_
private

Definition at line 21 of file Domain.h.

◆ values_

std::set<size_t> gtsam::Domain::values_
private

Cardinality.

Definition at line 22 of file Domain.h.


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


gtsam
Author(s):
autogenerated on Fri Nov 1 2024 03:51:16