|
|
| DiscreteFactorGraph () |
| | Default constructor.
|
| |
|
template<typename ITERATOR > |
| | DiscreteFactorGraph (ITERATOR firstFactor, ITERATOR lastFactor) |
| | Construct from iterator over factors.
|
| |
|
template<class CONTAINER > |
| | DiscreteFactorGraph (const CONTAINER &factors) |
| | Construct from container of factors (shared_ptr or plain objects)
|
| |
|
template<class DERIVEDFACTOR > |
| | DiscreteFactorGraph (const FactorGraph< DERIVEDFACTOR > &graph) |
| | Implicit copy/downcast constructor to override explicit template container constructor.
|
| |
|
virtual | ~DiscreteFactorGraph () |
| | Destructor.
|
| |
|
template<class SOURCE > |
| void | add (const DiscreteKey &j, SOURCE table) |
| |
|
template<class SOURCE > |
| void | add (const DiscreteKey &j1, const DiscreteKey &j2, SOURCE table) |
| |
|
template<class SOURCE > |
| void | add (const DiscreteKeys &keys, SOURCE table) |
| | add shared discreteFactor immediately from arguments
|
| |
|
KeySet | keys () const |
| | Return the set of variables involved in the factors (set union)
|
| |
|
DecisionTreeFactor | product () const |
| | return product of all factors as a single factor
|
| |
|
double | operator() (const DiscreteFactor::Values &values) const |
| | Evaluates the factor graph given values, returns the joint probability of the factor graph given specific instantiation of values.
|
| |
| void | print (const std::string &s="DiscreteFactorGraph", const KeyFormatter &formatter=DefaultKeyFormatter) const override |
| | print More...
|
| |
| DiscreteFactor::sharedValues | optimize () const |
| | Solve the factor graph by performing variable elimination in COLAMD order using the dense elimination function specified in function, followed by back-substitution resulting from elimination. More...
|
| |
|
|
bool | equals (const This &fg, double tol=1e-9) const |
| |
|
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.
|
| |
| boost::shared_ptr< BayesNetType > | eliminateSequential (OptionalOrderingType orderingType=boost::none, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Do sequential elimination of all variables to produce a Bayes net. More...
|
| |
| boost::shared_ptr< BayesNetType > | eliminateSequential (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Do sequential elimination of all variables to produce a Bayes net. More...
|
| |
| boost::shared_ptr< BayesTreeType > | eliminateMultifrontal (OptionalOrderingType orderingType=boost::none, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Do multifrontal elimination of all variables to produce a Bayes tree. More...
|
| |
| boost::shared_ptr< BayesTreeType > | eliminateMultifrontal (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Do multifrontal elimination of all variables to produce a Bayes tree. More...
|
| |
| std::pair< boost::shared_ptr< BayesNetType >, boost::shared_ptr< FactorGraphType > > | eliminatePartialSequential (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Do sequential elimination of some variables, in ordering provided, to produce a Bayes net and a remaining factor graph. More...
|
| |
| std::pair< boost::shared_ptr< BayesNetType >, boost::shared_ptr< FactorGraphType > > | eliminatePartialSequential (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Do sequential elimination of the given variables in an ordering computed by COLAMD to produce a Bayes net and a remaining factor graph. More...
|
| |
| std::pair< boost::shared_ptr< BayesTreeType >, boost::shared_ptr< FactorGraphType > > | eliminatePartialMultifrontal (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Do multifrontal elimination of some variables, in ordering provided, to produce a Bayes tree and a remaining factor graph. More...
|
| |
| std::pair< boost::shared_ptr< BayesTreeType >, boost::shared_ptr< FactorGraphType > > | eliminatePartialMultifrontal (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Do multifrontal elimination of the given variables in an ordering computed by COLAMD to produce a Bayes net and a remaining factor graph. More...
|
| |
| boost::shared_ptr< BayesNetType > | marginalMultifrontalBayesNet (boost::variant< const Ordering &, const KeyVector & > variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Compute the marginal of the requested variables and return the result as a Bayes net. More...
|
| |
| boost::shared_ptr< BayesNetType > | marginalMultifrontalBayesNet (boost::variant< const Ordering &, const KeyVector & > variables, const Ordering &marginalizedVariableOrdering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Compute the marginal of the requested variables and return the result as a Bayes net. More...
|
| |
| boost::shared_ptr< BayesTreeType > | marginalMultifrontalBayesTree (boost::variant< const Ordering &, const KeyVector & > variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Compute the marginal of the requested variables and return the result as a Bayes tree. More...
|
| |
| boost::shared_ptr< BayesTreeType > | marginalMultifrontalBayesTree (boost::variant< const Ordering &, const KeyVector & > variables, const Ordering &marginalizedVariableOrdering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Compute the marginal of the requested variables and return the result as a Bayes tree. More...
|
| |
|
boost::shared_ptr< FactorGraphType > | marginal (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex=boost::none) const |
| | Compute the marginal factor graph of the requested variables.
|
| |
|
|
typedef DiscreteFactorGraph | This |
| | Typedef to this class.
|
| |
|
typedef FactorGraph< DiscreteFactor > | Base |
| | Typedef to base factor graph type.
|
| |
|
typedef EliminateableFactorGraph< This > | BaseEliminateable |
| | Typedef to base elimination class.
|
| |
|
typedef boost::shared_ptr< This > | shared_ptr |
| | shared_ptr to this class
|
| |
|
typedef KeyVector | Indices |
| | A map from keys to values.
|
| |
|
typedef Assignment< Key > | Values |
| |
|
typedef boost::shared_ptr< Values > | sharedValues |
| |
|
typedef DiscreteFactor | FactorType |
| | factor type
|
| |
|
typedef boost::shared_ptr< DiscreteFactor > | sharedFactor |
| | Shared pointer to a factor.
|
| |
|
typedef sharedFactor | value_type |
| |
|
typedef FastVector< sharedFactor >::iterator | iterator |
| |
|
typedef FastVector< sharedFactor >::const_iterator | const_iterator |
| |
|
typedef EliminationTraits< FactorGraphType > | EliminationTraitsType |
| | Typedef to the specific EliminationTraits for this graph.
|
| |
|
typedef EliminationTraitsType::ConditionalType | ConditionalType |
| | Conditional type stored in the Bayes net produced by elimination.
|
| |
|
typedef EliminationTraitsType::BayesNetType | BayesNetType |
| | Bayes net type produced by sequential elimination.
|
| |
|
typedef EliminationTraitsType::EliminationTreeType | EliminationTreeType |
| | Elimination tree type that can do sequential elimination of this graph.
|
| |
|
typedef EliminationTraitsType::BayesTreeType | BayesTreeType |
| | Bayes tree type produced by multifrontal elimination.
|
| |
|
typedef EliminationTraitsType::JunctionTreeType | JunctionTreeType |
| | Junction tree type that can do multifrontal elimination of this graph.
|
| |
|
typedef std::pair< boost::shared_ptr< ConditionalType >, boost::shared_ptr< _FactorType > > | EliminationResult |
| | The pair of conditional and remaining factor produced by a single dense elimination step on a subgraph.
|
| |
|
typedef std::function< EliminationResult(const FactorGraphType &, const Ordering &)> | Eliminate |
| | The function type that does a single dense elimination step on a subgraph.
|
| |
|
typedef boost::optional< const VariableIndex & > | OptionalVariableIndex |
| | Typedef for an optional variable index as an argument to elimination functions.
|
| |
|
typedef boost::optional< Ordering::OrderingType > | OptionalOrderingType |
| | Typedef for an optional ordering type.
|
| |