Public Types | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
gtsam::NonlinearEquality< VALUE > Class Template Reference

#include <NonlinearEquality.h>

Inheritance diagram for gtsam::NonlinearEquality< VALUE >:
Inheritance graph
[legend]

Public Types

typedef boost::function< bool(const T &, const T &)> CompareFunction
 
typedef VALUE T
 
- Public Types inherited from gtsam::NoiseModelFactor1< VALUE >
typedef VALUE X
 
- Public Types inherited from gtsam::NoiseModelFactor
typedef boost::shared_ptr< Thisshared_ptr
 
- Public Types inherited from gtsam::NonlinearFactor
typedef boost::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

 NonlinearEquality ()
 
 ~NonlinearEquality () override
 
- Public Member Functions inherited from gtsam::NoiseModelFactor1< VALUE >
 NoiseModelFactor1 ()
 
 ~NoiseModelFactor1 () override
 
Key key () const
 
 NoiseModelFactor1 (const SharedNoiseModel &noiseModel, Key key1)
 
Vector unwhitenedError (const Values &x, boost::optional< std::vector< Matrix > & > H=boost::none) const override
 
- 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
 
boost::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
 
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)
 
virtual ~NonlinearFactor ()
 
virtual bool active (const Values &) const
 
shared_ptr rekey (const std::map< Key, Key > &rekey_mapping) const
 
shared_ptr rekey (const KeyVector &new_keys) const
 
- Public Member Functions inherited from gtsam::Factor
virtual ~Factor ()=default
 Default destructor. 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...
 
KeyVectorkeys ()
 
iterator begin ()
 
iterator end ()
 

Public Attributes

CompareFunction compare_
 

Private Types

typedef NoiseModelFactor1< VALUE > Base
 
typedef NonlinearEquality< VALUE > This
 

Private Member Functions

template<class ARCHIVE >
void serialize (ARCHIVE &ar, const unsigned int)
 

Private Attributes

bool allow_error_
 
double error_gain_
 
T feasible_
 

Friends

class boost::serialization::access
 

Standard Constructors

 NonlinearEquality (Key j, const T &feasible, const CompareFunction &_compare=boost::bind(traits< T >::Equals, _1, _2, 1e-9))
 
 NonlinearEquality (Key j, const T &feasible, double error_gain, const CompareFunction &_compare=boost::bind(traits< T >::Equals, _1, _2, 1e-9))
 

Testable

void print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
 print More...
 
bool equals (const NonlinearFactor &f, double tol=1e-9) const override
 

Standard Interface

double error (const Values &c) const override
 
Vector evaluateError (const T &xj, boost::optional< Matrix & > H=boost::none) const override
 
GaussianFactor::shared_ptr linearize (const Values &x) const override
 
gtsam::NonlinearFactor::shared_ptr clone () const override
 

Additional Inherited Members

- Protected Types inherited from gtsam::NoiseModelFactor1< VALUE >
typedef NoiseModelFactor Base
 
typedef NoiseModelFactor1< VALUE > This
 
- Protected Types inherited from gtsam::NoiseModelFactor
typedef NonlinearFactor Base
 
typedef NoiseModelFactor This
 
- Protected Types inherited from gtsam::NonlinearFactor
typedef Factor Base
 
typedef NonlinearFactor This
 
- 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)
 
bool equals (const This &other, double tol=1e-9) const
 check equality More...
 
- 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::NoiseModelFactor
SharedNoiseModel noiseModel_
 
- Protected Attributes inherited from gtsam::Factor
KeyVector keys_
 The keys involved in this factor. More...
 

Detailed Description

template<class VALUE>
class gtsam::NonlinearEquality< VALUE >

An equality factor that forces either one variable to a constant, or a set of variables to be equal to each other.

Depending on flag, throws an error at linearization if the constraints are not met.

Switchable implementation:

Definition at line 45 of file NonlinearEquality.h.

Member Typedef Documentation

template<class VALUE>
typedef NoiseModelFactor1<VALUE> gtsam::NonlinearEquality< VALUE >::Base
private

Definition at line 65 of file NonlinearEquality.h.

template<class VALUE>
typedef boost::function<bool(const T&, const T&)> gtsam::NonlinearEquality< VALUE >::CompareFunction

Function that compares two values

Definition at line 72 of file NonlinearEquality.h.

template<class VALUE>
typedef VALUE gtsam::NonlinearEquality< VALUE >::T

Definition at line 48 of file NonlinearEquality.h.

template<class VALUE>
typedef NonlinearEquality<VALUE> gtsam::NonlinearEquality< VALUE >::This
private

Definition at line 62 of file NonlinearEquality.h.

Constructor & Destructor Documentation

template<class VALUE>
gtsam::NonlinearEquality< VALUE >::NonlinearEquality ( )
inline

default constructor - only for serialization

Definition at line 77 of file NonlinearEquality.h.

template<class VALUE>
gtsam::NonlinearEquality< VALUE >::~NonlinearEquality ( )
inlineoverride

Definition at line 80 of file NonlinearEquality.h.

template<class VALUE>
gtsam::NonlinearEquality< VALUE >::NonlinearEquality ( Key  j,
const T feasible,
const CompareFunction _compare = boost::bind(traits<T>::Equals,_1,_2,1e-9) 
)
inline

Constructor - forces exact evaluation

Definition at line 89 of file NonlinearEquality.h.

template<class VALUE>
gtsam::NonlinearEquality< VALUE >::NonlinearEquality ( Key  j,
const T feasible,
double  error_gain,
const CompareFunction _compare = boost::bind(traits<T>::Equals,_1,_2,1e-9) 
)
inline

Constructor - allows inexact evaluation

Definition at line 99 of file NonlinearEquality.h.

Member Function Documentation

template<class VALUE>
gtsam::NonlinearFactor::shared_ptr gtsam::NonlinearEquality< VALUE >::clone ( ) const
inlineoverridevirtual
Returns
a deep copy of this factor

Reimplemented from gtsam::NonlinearFactor.

Definition at line 171 of file NonlinearEquality.h.

template<class VALUE>
bool gtsam::NonlinearEquality< VALUE >::equals ( const NonlinearFactor f,
double  tol = 1e-9 
) const
inlineoverridevirtual

Check if two factors are equal

Reimplemented from gtsam::NonlinearFactor.

Definition at line 118 of file NonlinearEquality.h.

template<class VALUE>
double gtsam::NonlinearEquality< VALUE >::error ( const Values c) const
inlineoverridevirtual

actual error function calculation

Implements gtsam::NonlinearFactor.

Definition at line 129 of file NonlinearEquality.h.

template<class VALUE>
Vector gtsam::NonlinearEquality< VALUE >::evaluateError ( const T xj,
boost::optional< Matrix & >  H = boost::none 
) const
inlineoverridevirtual

error function

Implements gtsam::NoiseModelFactor1< VALUE >.

Definition at line 140 of file NonlinearEquality.h.

template<class VALUE>
GaussianFactor::shared_ptr gtsam::NonlinearEquality< VALUE >::linearize ( const Values c) const
inlineoverridevirtual

linearize to a GaussianFactor

Implements gtsam::NonlinearFactor.

Definition at line 161 of file NonlinearEquality.h.

template<class VALUE>
void gtsam::NonlinearEquality< VALUE >::print ( const std::string &  s = "",
const KeyFormatter formatter = DefaultKeyFormatter 
) const
inlineoverridevirtual

print

Reimplemented from gtsam::Factor.

Definition at line 110 of file NonlinearEquality.h.

template<class VALUE>
template<class ARCHIVE >
void gtsam::NonlinearEquality< VALUE >::serialize ( ARCHIVE &  ar,
const unsigned  int 
)
inlineprivate

Definition at line 185 of file NonlinearEquality.h.

Friends And Related Function Documentation

template<class VALUE>
friend class boost::serialization::access
friend

Serialization function

Definition at line 183 of file NonlinearEquality.h.

Member Data Documentation

template<class VALUE>
bool gtsam::NonlinearEquality< VALUE >::allow_error_
private

Definition at line 56 of file NonlinearEquality.h.

template<class VALUE>
CompareFunction gtsam::NonlinearEquality< VALUE >::compare_

Definition at line 73 of file NonlinearEquality.h.

template<class VALUE>
double gtsam::NonlinearEquality< VALUE >::error_gain_
private

Definition at line 59 of file NonlinearEquality.h.

template<class VALUE>
T gtsam::NonlinearEquality< VALUE >::feasible_
private

Definition at line 53 of file NonlinearEquality.h.


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


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:58:18