gtsam 4.1.1
gtsam
|
A Bayes net made from linear-Discrete densities.
Public Member Functions | |
Standard Constructors | |
DiscreteBayesNet () | |
Construct empty factor graph. | |
template<typename ITERATOR > | |
DiscreteBayesNet (ITERATOR firstConditional, ITERATOR lastConditional) | |
Construct from iterator over conditionals. | |
template<class CONTAINER > | |
DiscreteBayesNet (const CONTAINER &conditionals) | |
Construct from container of factors (shared_ptr or plain objects) | |
template<class DERIVEDCONDITIONAL > | |
DiscreteBayesNet (const FactorGraph< DERIVEDCONDITIONAL > &graph) | |
Implicit copy/downcast constructor to override explicit template container constructor. | |
virtual | ~DiscreteBayesNet () |
Destructor. | |
Testable | |
bool | equals (const This &bn, double tol=1e-9) const |
Check equality. | |
Standard Interface | |
void | add (const Signature &s) |
Add a DiscreteCondtional. | |
double | evaluate (const DiscreteConditional::Values &values) const |
DiscreteFactor::sharedValues | optimize () const |
Solve the DiscreteBayesNet by back-substitution. | |
DiscreteFactor::sharedValues | sample () const |
Do ancestral sampling. | |
Public Member Functions inherited from gtsam::BayesNet< DiscreteConditional > | |
void | print (const std::string &s="BayesNet", const KeyFormatter &formatter=DefaultKeyFormatter) const override |
print out graph More... | |
void | saveGraph (const std::string &s, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const |
Public Member Functions inherited from gtsam::FactorGraph< DiscreteConditional > | |
virtual | ~FactorGraph ()=default |
Default destructor. | |
void | reserve (size_t size) |
Reserve space for the specified number of factors if you know in advance how many there will be (works like FastVector::reserve). | |
IsDerived< DERIVEDFACTOR > | push_back (boost::shared_ptr< DERIVEDFACTOR > factor) |
Add a factor directly using a shared_ptr. | |
IsDerived< DERIVEDFACTOR > | push_back (const DERIVEDFACTOR &factor) |
Add a factor by value, will be copy-constructed (use push_back with a shared_ptr to avoid the copy). | |
IsDerived< DERIVEDFACTOR > | emplace_shared (Args &&... args) |
Emplace a shared pointer to factor of given type. | |
IsDerived< DERIVEDFACTOR > | add (boost::shared_ptr< DERIVEDFACTOR > factor) |
add is a synonym for push_back. | |
std::enable_if< std::is_base_of< FactorType, DERIVEDFACTOR >::value, boost::assign::list_inserter< RefCallPushBack< This > > >::type | operator+= (boost::shared_ptr< DERIVEDFACTOR > factor) |
+= works well with boost::assign list inserter. | |
HasDerivedElementType< ITERATOR > | push_back (ITERATOR firstFactor, ITERATOR lastFactor) |
Push back many factors with an iterator over shared_ptr (factors are not copied) | |
HasDerivedValueType< ITERATOR > | push_back (ITERATOR firstFactor, ITERATOR lastFactor) |
Push back many factors with an iterator (factors are copied) | |
HasDerivedElementType< CONTAINER > | push_back (const CONTAINER &container) |
Push back many factors as shared_ptr's in a container (factors are not copied) | |
HasDerivedValueType< CONTAINER > | push_back (const CONTAINER &container) |
Push back non-pointer objects in a container (factors are copied). | |
void | add (const FACTOR_OR_CONTAINER &factorOrContainer) |
Add a factor or container of factors, including STL collections, BayesTrees, etc. | |
boost::assign::list_inserter< CRefCallPushBack< This > > | operator+= (const FACTOR_OR_CONTAINER &factorOrContainer) |
Add a factor or container of factors, including STL collections, BayesTrees, etc. | |
std::enable_if< std::is_base_of< This, typenameCLIQUE::FactorGraphType >::value >::type | push_back (const BayesTree< CLIQUE > &bayesTree) |
Push back a BayesTree as a collection of factors. More... | |
FactorIndices | add_factors (const CONTAINER &factors, bool useEmptySlots=false) |
Add new factors to a factor graph and returns a list of new factor indices, optionally finding and reusing empty factor slots. | |
bool | equals (const This &fg, double tol=1e-9) const |
Check equality. | |
size_t | size () const |
return the number of factors (including any null factors set by remove() ). | |
bool | empty () const |
Check if the graph is empty (null factors set by remove() will cause this to return false). | |
const sharedFactor | at (size_t i) const |
Get a specific factor by index (this checks array bounds and may throw an exception, as opposed to operator[] which does not). | |
sharedFactor & | at (size_t i) |
Get a specific factor by index (this checks array bounds and may throw an exception, as opposed to operator[] which does not). | |
const sharedFactor | operator[] (size_t i) const |
Get a specific factor by index (this does not check array bounds, as opposed to at() which does). | |
sharedFactor & | operator[] (size_t i) |
Get a specific factor by index (this does not check array bounds, as opposed to at() which does). | |
const_iterator | begin () const |
Iterator to beginning of factors. | |
const_iterator | end () const |
Iterator to end of factors. | |
sharedFactor | front () const |
Get the first factor. | |
sharedFactor | back () const |
Get the last factor. | |
iterator | begin () |
non-const STL-style begin() | |
iterator | end () |
non-const STL-style end() | |
void | resize (size_t size) |
Directly resize the number of factors in the graph. More... | |
void | remove (size_t i) |
delete factor without re-arranging indexes by inserting a nullptr pointer | |
void | replace (size_t index, sharedFactor factor) |
replace a factor by index | |
iterator | erase (iterator item) |
Erase factor and rearrange other factors to take up the empty space. | |
iterator | erase (iterator first, iterator last) |
Erase factors and rearrange other factors to take up the empty space. | |
size_t | nrFactors () const |
return the number of non-null factors | |
KeySet | keys () const |
Potentially slow function to return all keys involved, sorted, as a set. | |
KeyVector | keyVector () const |
Potentially slow function to return all keys involved, sorted, as a vector. | |
bool | exists (size_t idx) const |
MATLAB interface utility: Checks whether a factor index idx exists in the graph and is a live pointer. | |
Public Types | |
typedef FactorGraph< DiscreteConditional > | Base |
typedef DiscreteBayesNet | This |
typedef DiscreteConditional | ConditionalType |
typedef boost::shared_ptr< This > | shared_ptr |
typedef boost::shared_ptr< ConditionalType > | sharedConditional |
Public Types inherited from gtsam::BayesNet< DiscreteConditional > | |
typedef boost::shared_ptr< DiscreteConditional > | sharedConditional |
A shared pointer to a conditional. | |
Public Types inherited from gtsam::FactorGraph< DiscreteConditional > | |
typedef DiscreteConditional | FactorType |
factor type | |
typedef boost::shared_ptr< DiscreteConditional > | sharedFactor |
Shared pointer to a factor. | |
typedef sharedFactor | value_type |
typedef FastVector< sharedFactor >::iterator | iterator |
typedef FastVector< sharedFactor >::const_iterator | const_iterator |
Friends | |
class | boost::serialization::access |
Serialization function. | |
Additional Inherited Members | |
Protected Member Functions inherited from gtsam::BayesNet< DiscreteConditional > | |
BayesNet () | |
Default constructor as an empty BayesNet. | |
BayesNet (ITERATOR firstConditional, ITERATOR lastConditional) | |
Construct from iterator over conditionals. | |
Protected Member Functions inherited from gtsam::FactorGraph< DiscreteConditional > | |
FactorGraph () | |
Default constructor. | |
FactorGraph (ITERATOR firstFactor, ITERATOR lastFactor) | |
Constructor from iterator over factors (shared_ptr or plain objects) | |
FactorGraph (const CONTAINER &factors) | |
Construct from container of factors (shared_ptr or plain objects) | |
Protected Attributes inherited from gtsam::FactorGraph< DiscreteConditional > | |
FastVector< sharedFactor > | factors_ |
concept check, makes sure FACTOR defines print and equals More... | |