Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | List of all members
gtsam::ExpressionFactorN< T, Args > Class Template Reference

#include <ExpressionFactor.h>

Inheritance diagram for gtsam::ExpressionFactorN< T, Args >:
Inheritance graph
[legend]

Public Types

using ArrayNKeys = std::array< Key, NARY_EXPRESSION_SIZE >
 
- Public Types inherited from gtsam::ExpressionFactor< T >
typedef std::shared_ptr< ExpressionFactor< T > > shared_ptr
 
- Public Types inherited from gtsam::NoiseModelFactor
typedef std::shared_ptr< Thisshared_ptr
 
- Public Types inherited from gtsam::NonlinearFactor
typedef std::shared_ptr< Thisshared_ptr
 
- 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

virtual Expression< Texpression (const ArrayNKeys &keys) const
 
- Public Member Functions inherited from gtsam::ExpressionFactor< T >
gtsam::NonlinearFactor::shared_ptr clone () const override
 
bool equals (const NonlinearFactor &f, double tol) const override
 equals relies on Testable traits being defined for T More...
 
 ExpressionFactor (const SharedNoiseModel &noiseModel, const T &measurement, const Expression< T > &expression)
 
std::shared_ptr< GaussianFactorlinearize (const Values &x) const override
 
const Tmeasured () const
 
void print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
 print relies on Testable traits being defined for T More...
 
Vector unwhitenedError (const Values &x, OptionalMatrixVecType H=nullptr) const override
 
 ~ExpressionFactor () override
 Destructor. More...
 
- Public Member Functions inherited from gtsam::NoiseModelFactor
shared_ptr cloneWithNewNoiseModel (const SharedNoiseModel newNoise) const
 
size_t dim () const override
 
bool equals (const NonlinearFactor &f, double tol=1e-9) const override
 
double error (const Values &c) const override
 
std::shared_ptr< GaussianFactorlinearize (const Values &x) const override
 
const SharedNoiseModelnoiseModel () const
 access to the noise model More...
 
 NoiseModelFactor ()
 
template<typename CONTAINER >
 NoiseModelFactor (const SharedNoiseModel &noiseModel, const CONTAINER &keys)
 
void print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
 
Vector unweightedWhitenedError (const Values &c) const
 
Vector unwhitenedError (const Values &x, std::vector< Matrix > &H) const
 
double weight (const Values &c) const
 
Vector whitenedError (const Values &c) const
 
 ~NoiseModelFactor () override
 
- Public Member Functions inherited from gtsam::NonlinearFactor
 NonlinearFactor ()
 
template<typename CONTAINER >
 NonlinearFactor (const CONTAINER &keys)
 
double error (const HybridValues &c) const override
 
virtual bool active (const Values &) const
 
virtual shared_ptr rekey (const std::map< Key, Key > &rekey_mapping) const
 
virtual shared_ptr rekey (const KeyVector &new_keys) const
 
virtual bool sendable () const
 
- 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 ()
 

Static Public Attributes

static const std::size_t NARY_EXPRESSION_SIZE = sizeof...(Args)
 

Protected Member Functions

 ExpressionFactorN ()=default
 Default constructor, for serialization. More...
 
 ExpressionFactorN (const ArrayNKeys &keys, const SharedNoiseModel &noiseModel, const T &measurement)
 Constructor takes care of keys, but still need to call initialize. More...
 
- Protected Member Functions inherited from gtsam::ExpressionFactor< T >
 ExpressionFactor ()
 
 ExpressionFactor (const SharedNoiseModel &noiseModel, const T &measurement)
 Default constructor, for serialization. More...
 
void initialize (const Expression< T > &expression)
 Initialize with constructor arguments. More...
 
- Protected Member Functions inherited from gtsam::NoiseModelFactor
 NoiseModelFactor (const SharedNoiseModel &noiseModel)
 
- Protected Member Functions inherited from gtsam::Factor
 Factor ()
 
template<typename CONTAINER >
 Factor (const CONTAINER &keys)
 
template<typename ITERATOR >
 Factor (ITERATOR first, ITERATOR last)
 

Private Member Functions

Expression< Texpression () const override
 Return an expression that predicts the measurement given Values. More...
 

Additional Inherited Members

- Protected Types inherited from gtsam::ExpressionFactor< T >
typedef ExpressionFactor< TThis
 
- Protected Types inherited from gtsam::NoiseModelFactor
typedef NonlinearFactor Base
 
typedef NoiseModelFactor This
 
- Protected Types inherited from gtsam::NonlinearFactor
typedef Factor Base
 
typedef NonlinearFactor This
 
- 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::ExpressionFactor< T >
FastVector< intdims_
 dimensions of the Jacobian matrices More...
 
Expression< Texpression_
 the expression that is AD enabled More...
 
T measured_
 the measurement to be compared with the expression More...
 
- Protected Attributes inherited from gtsam::NoiseModelFactor
SharedNoiseModel noiseModel_
 
- Protected Attributes inherited from gtsam::Factor
KeyVector keys_
 The keys involved in this factor. More...
 
- Static Protected Attributes inherited from gtsam::ExpressionFactor< T >
static const int Dim = traits<T>::dimension
 

Detailed Description

template<typename T, typename... Args>
class gtsam::ExpressionFactorN< T, Args >

N-ary variadic template for ExpressionFactor meant as a base class for N-ary factors. Enforces an 'expression' method with N keys. Derived class (an N-factor!) needs to call 'initialize'.

Does not provide backward compatible 'evaluateError'.

Template Parameters
TType for measurements. The rest of template arguments are types for the N key-indexed Values.

Definition at line 249 of file ExpressionFactor.h.

Member Typedef Documentation

◆ ArrayNKeys

template<typename T, typename... Args>
using gtsam::ExpressionFactorN< T, Args >::ArrayNKeys = std::array<Key, NARY_EXPRESSION_SIZE>

Definition at line 252 of file ExpressionFactor.h.

Constructor & Destructor Documentation

◆ ExpressionFactorN() [1/2]

template<typename T, typename... Args>
gtsam::ExpressionFactorN< T, Args >::ExpressionFactorN ( )
protecteddefault

Default constructor, for serialization.

◆ ExpressionFactorN() [2/2]

template<typename T, typename... Args>
gtsam::ExpressionFactorN< T, Args >::ExpressionFactorN ( const ArrayNKeys keys,
const SharedNoiseModel noiseModel,
const T measurement 
)
inlineprotected

Constructor takes care of keys, but still need to call initialize.

Definition at line 273 of file ExpressionFactor.h.

Member Function Documentation

◆ expression() [1/2]

template<typename T, typename... Args>
virtual Expression<T> gtsam::ExpressionFactorN< T, Args >::expression ( const ArrayNKeys keys) const
inlinevirtual

Recreate expression from given keys_ and measured_, used in load Needed to deserialize a derived factor

Definition at line 263 of file ExpressionFactor.h.

◆ expression() [2/2]

template<typename T, typename... Args>
Expression<T> gtsam::ExpressionFactorN< T, Args >::expression ( ) const
inlineoverrideprivatevirtual

Return an expression that predicts the measurement given Values.

Reimplemented from gtsam::ExpressionFactor< T >.

Definition at line 282 of file ExpressionFactor.h.

Member Data Documentation

◆ NARY_EXPRESSION_SIZE

template<typename T, typename... Args>
const std::size_t gtsam::ExpressionFactorN< T, Args >::NARY_EXPRESSION_SIZE = sizeof...(Args)
static

Definition at line 251 of file ExpressionFactor.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:46:18