Public Types | List of all members
gtsam::SymbolicFactorGraph Class Reference

#include <SymbolicFactorGraph.h>

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

Public Types

typedef FactorGraph< SymbolicFactorBase
 Typedef to base factor graph type. More...
 
typedef EliminateableFactorGraph< ThisBaseEliminateable
 Typedef to base elimination class. More...
 
typedef std::shared_ptr< Thisshared_ptr
 shared_ptr to this class More...
 
typedef SymbolicFactorGraph This
 Typedef to this class. More...
 
- Public Types inherited from gtsam::FactorGraph< SymbolicFactor >
typedef FastVector< sharedFactor >::const_iterator const_iterator
 
typedef SymbolicFactor FactorType
 factor type More...
 
typedef FastVector< sharedFactor >::iterator iterator
 
typedef std::shared_ptr< SymbolicFactorsharedFactor
 Shared pointer to a factor. More...
 
typedef sharedFactor value_type
 
- Public Types inherited from gtsam::EliminateableFactorGraph< SymbolicFactorGraph >
typedef EliminationTraitsType::BayesNetType BayesNetType
 Bayes net type produced by sequential elimination. More...
 
typedef EliminationTraitsType::BayesTreeType BayesTreeType
 Bayes tree type produced by multifrontal elimination. More...
 
typedef EliminationTraitsType::ConditionalType ConditionalType
 Conditional type stored in the Bayes net produced by elimination. More...
 
typedef std::function< EliminationResult(const FactorGraphType &, const Ordering &)> Eliminate
 The function type that does a single dense elimination step on a subgraph. More...
 
typedef std::pair< std::shared_ptr< ConditionalType >, std::shared_ptr< _FactorType > > EliminationResult
 
typedef EliminationTraits< FactorGraphTypeEliminationTraitsType
 Typedef to the specific EliminationTraits for this graph. More...
 
typedef EliminationTraitsType::EliminationTreeType EliminationTreeType
 Elimination tree type that can do sequential elimination of this graph. More...
 
typedef EliminationTraitsType::JunctionTreeType JunctionTreeType
 Junction tree type that can do multifrontal elimination of this graph. More...
 
typedef std::optional< Ordering::OrderingTypeOptionalOrderingType
 Typedef for an optional ordering type. More...
 
typedef std::optional< std::reference_wrapper< const VariableIndex > > OptionalVariableIndex
 

Standard Constructors

 SymbolicFactorGraph ()
 
template<typename ITERATOR >
 SymbolicFactorGraph (ITERATOR firstFactor, ITERATOR lastFactor)
 
template<class CONTAINER >
 SymbolicFactorGraph (const CONTAINER &factors)
 
template<class DERIVEDFACTOR >
 SymbolicFactorGraph (const FactorGraph< DERIVEDFACTOR > &graph)
 
 SymbolicFactorGraph (std::initializer_list< std::shared_ptr< SymbolicFactor >> sharedFactors)
 
 SymbolicFactorGraph (SymbolicFactor &&c)
 Construct from a single factor. More...
 
SymbolicFactorGraphoperator() (SymbolicFactor &&c)
 Add a single factor and return a reference. This allows for chaining, e.g., SymbolicFactorGraph bn = SymbolicFactorGraph(SymbolicFactor(...))(SymbolicFactor(...));. More...
 

Testable

bool equals (const This &fg, double tol=1e-9) const
 
void print (const std::string &s="SymbolicFactorGraph", const KeyFormatter &formatter=DefaultKeyFormatter) const override
 print More...
 

Standard Interface

void push_factor (Key key)
 
void push_factor (Key key1, Key key2)
 
void push_factor (Key key1, Key key2, Key key3)
 
void push_factor (Key key1, Key key2, Key key3, Key key4)
 

Additional Inherited Members

- Public Member Functions inherited from gtsam::FactorGraph< SymbolicFactor >
 FactorGraph (std::initializer_list< std::shared_ptr< DERIVEDFACTOR >> sharedFactors)
 
virtual ~FactorGraph ()=default
 
void reserve (size_t size)
 
IsDerived< DERIVEDFACTOR > push_back (std::shared_ptr< DERIVEDFACTOR > factor)
 Add a factor directly using a shared_ptr. More...
 
IsDerived< DERIVEDFACTOR > push_back (const DERIVEDFACTOR &factor)
 
IsDerived< DERIVEDFACTOR > emplace_shared (Args &&... args)
 Emplace a shared pointer to factor of given type. More...
 
IsDerived< DERIVEDFACTOR > add (std::shared_ptr< DERIVEDFACTOR > factor)
 add is a synonym for push_back. More...
 
std::enable_if< std::is_base_of< FactorType, DERIVEDFACTOR >::value, This >::typeoperator+= (std::shared_ptr< DERIVEDFACTOR > factor)
 Append factor to factor graph. More...
 
std::enable_if< std::is_base_of< FactorType, DERIVEDFACTOR >::value, This >::typeoperator, (std::shared_ptr< DERIVEDFACTOR > factor)
 Overload comma operator to allow for append chaining. More...
 
HasDerivedElementType< ITERATOR > push_back (ITERATOR firstFactor, ITERATOR lastFactor)
 
HasDerivedValueType< ITERATOR > push_back (ITERATOR firstFactor, ITERATOR lastFactor)
 Push back many factors with an iterator (factors are copied) More...
 
HasDerivedElementType< CONTAINER > push_back (const CONTAINER &container)
 
HasDerivedValueType< CONTAINER > push_back (const CONTAINER &container)
 Push back non-pointer objects in a container (factors are copied). More...
 
void add (const FACTOR_OR_CONTAINER &factorOrContainer)
 
Thisoperator+= (const FACTOR_OR_CONTAINER &factorOrContainer)
 
std::enable_if< std::is_base_of< This, typename CLIQUE::FactorGraphType >::value >::type push_back (const BayesTree< CLIQUE > &bayesTree)
 
FactorIndices add_factors (const CONTAINER &factors, bool useEmptySlots=false)
 
bool equals (const This &fg, double tol=1e-9) const
 Check equality up to tolerance. More...
 
size_t size () const
 
bool empty () const
 
const sharedFactor at (size_t i) const
 
sharedFactorat (size_t i)
 
std::shared_ptr< F > at (size_t i)
 
const std::shared_ptr< F > at (size_t i) const
 Const version of templated at method. More...
 
const sharedFactor operator[] (size_t i) const
 
sharedFactoroperator[] (size_t i)
 
const_iterator begin () const
 
const_iterator end () const
 
sharedFactor front () const
 
sharedFactor back () const
 
double error (const HybridValues &values) const
 
iterator begin ()
 
iterator end ()
 
virtual void resize (size_t size)
 
void remove (size_t i)
 
void replace (size_t index, sharedFactor factor)
 
iterator erase (iterator item)
 
iterator erase (iterator first, iterator last)
 
void dot (std::ostream &os, const KeyFormatter &keyFormatter=DefaultKeyFormatter, const DotWriter &writer=DotWriter()) const
 Output to graphviz format, stream version. More...
 
std::string dot (const KeyFormatter &keyFormatter=DefaultKeyFormatter, const DotWriter &writer=DotWriter()) const
 Output to graphviz format string. More...
 
void saveGraph (const std::string &filename, const KeyFormatter &keyFormatter=DefaultKeyFormatter, const DotWriter &writer=DotWriter()) const
 output to file with graphviz format. More...
 
size_t nrFactors () const
 
KeySet keys () const
 
KeyVector keyVector () const
 
bool exists (size_t idx) const
 
- Public Member Functions inherited from gtsam::EliminateableFactorGraph< SymbolicFactorGraph >
std::shared_ptr< BayesTreeTypeeliminateMultifrontal (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesTreeTypeeliminateMultifrontal (OptionalOrderingType orderingType={}, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::pair< std::shared_ptr< BayesTreeType >, std::shared_ptr< FactorGraphType > > eliminatePartialMultifrontal (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::pair< std::shared_ptr< BayesTreeType >, std::shared_ptr< FactorGraphType > > eliminatePartialMultifrontal (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::pair< std::shared_ptr< BayesNetType >, std::shared_ptr< FactorGraphType > > eliminatePartialSequential (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::pair< std::shared_ptr< BayesNetType >, std::shared_ptr< FactorGraphType > > eliminatePartialSequential (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesNetTypeeliminateSequential (const Ordering &ordering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesNetTypeeliminateSequential (OptionalOrderingType orderingType={}, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< FactorGraphTypemarginal (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesNetTypemarginalMultifrontalBayesNet (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesNetTypemarginalMultifrontalBayesNet (const KeyVector &variables, const Ordering &marginalizedVariableOrdering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesNetTypemarginalMultifrontalBayesNet (const Ordering &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesNetTypemarginalMultifrontalBayesNet (const Ordering &variables, const Ordering &marginalizedVariableOrdering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesTreeTypemarginalMultifrontalBayesTree (const KeyVector &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesTreeTypemarginalMultifrontalBayesTree (const KeyVector &variables, const Ordering &marginalizedVariableOrdering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesTreeTypemarginalMultifrontalBayesTree (const Ordering &variables, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
std::shared_ptr< BayesTreeTypemarginalMultifrontalBayesTree (const Ordering &variables, const Ordering &marginalizedVariableOrdering, const Eliminate &function=EliminationTraitsType::DefaultEliminate, OptionalVariableIndex variableIndex={}) const
 
- Protected Member Functions inherited from gtsam::FactorGraph< SymbolicFactor >
bool isEqual (const FactorGraph &other) const
 Check exact equality of the factor pointers. Useful for derived ==. More...
 
 FactorGraph ()
 
 FactorGraph (ITERATOR firstFactor, ITERATOR lastFactor)
 
 FactorGraph (const CONTAINER &factors)
 
- Protected Attributes inherited from gtsam::FactorGraph< SymbolicFactor >
FastVector< sharedFactorfactors_
 

Detailed Description

Symbolic Factor Graph

Definition at line 61 of file SymbolicFactorGraph.h.

Member Typedef Documentation

◆ Base

Typedef to base factor graph type.

Definition at line 68 of file SymbolicFactorGraph.h.

◆ BaseEliminateable

Typedef to base elimination class.

Definition at line 69 of file SymbolicFactorGraph.h.

◆ shared_ptr

typedef std::shared_ptr<This> gtsam::SymbolicFactorGraph::shared_ptr

shared_ptr to this class

Definition at line 70 of file SymbolicFactorGraph.h.

◆ This

Typedef to this class.

Definition at line 67 of file SymbolicFactorGraph.h.

Constructor & Destructor Documentation

◆ SymbolicFactorGraph() [1/6]

gtsam::SymbolicFactorGraph::SymbolicFactorGraph ( )
inline

Construct empty factor graph

Definition at line 76 of file SymbolicFactorGraph.h.

◆ SymbolicFactorGraph() [2/6]

template<typename ITERATOR >
gtsam::SymbolicFactorGraph::SymbolicFactorGraph ( ITERATOR  firstFactor,
ITERATOR  lastFactor 
)
inline

Construct from iterator over factors

Definition at line 80 of file SymbolicFactorGraph.h.

◆ SymbolicFactorGraph() [3/6]

template<class CONTAINER >
gtsam::SymbolicFactorGraph::SymbolicFactorGraph ( const CONTAINER &  factors)
inlineexplicit

Construct from container of factors (shared_ptr or plain objects)

Definition at line 84 of file SymbolicFactorGraph.h.

◆ SymbolicFactorGraph() [4/6]

template<class DERIVEDFACTOR >
gtsam::SymbolicFactorGraph::SymbolicFactorGraph ( const FactorGraph< DERIVEDFACTOR > &  graph)
inline

Implicit copy/downcast constructor to override explicit template container constructor

Definition at line 88 of file SymbolicFactorGraph.h.

◆ SymbolicFactorGraph() [5/6]

gtsam::SymbolicFactorGraph::SymbolicFactorGraph ( std::initializer_list< std::shared_ptr< SymbolicFactor >>  sharedFactors)
inline

Constructor that takes an initializer list of shared pointers. FactorGraph fg = {make_shared<MyFactor>(), ...};

Definition at line 94 of file SymbolicFactorGraph.h.

◆ SymbolicFactorGraph() [6/6]

gtsam::SymbolicFactorGraph::SymbolicFactorGraph ( SymbolicFactor &&  c)
inline

Construct from a single factor.

Definition at line 99 of file SymbolicFactorGraph.h.

Member Function Documentation

◆ equals()

bool gtsam::SymbolicFactorGraph::equals ( const This fg,
double  tol = 1e-9 
) const

Definition at line 36 of file SymbolicFactorGraph.cpp.

◆ operator()()

SymbolicFactorGraph& gtsam::SymbolicFactorGraph::operator() ( SymbolicFactor &&  c)
inline

Add a single factor and return a reference. This allows for chaining, e.g., SymbolicFactorGraph bn = SymbolicFactorGraph(SymbolicFactor(...))(SymbolicFactor(...));.

Definition at line 109 of file SymbolicFactorGraph.h.

◆ print()

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

print

Reimplemented from gtsam::FactorGraph< SymbolicFactor >.

Definition at line 122 of file SymbolicFactorGraph.h.

◆ push_factor() [1/4]

void gtsam::SymbolicFactorGraph::push_factor ( Key  key)

Push back unary factor

Definition at line 42 of file SymbolicFactorGraph.cpp.

◆ push_factor() [2/4]

void gtsam::SymbolicFactorGraph::push_factor ( Key  key1,
Key  key2 
)

Push back binary factor

Definition at line 47 of file SymbolicFactorGraph.cpp.

◆ push_factor() [3/4]

void gtsam::SymbolicFactorGraph::push_factor ( Key  key1,
Key  key2,
Key  key3 
)

Push back ternary factor

Definition at line 52 of file SymbolicFactorGraph.cpp.

◆ push_factor() [4/4]

void gtsam::SymbolicFactorGraph::push_factor ( Key  key1,
Key  key2,
Key  key3,
Key  key4 
)

Push back 4-way factor

Definition at line 57 of file SymbolicFactorGraph.cpp.


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


gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:16:31