Public Member Functions | Protected Types | Private Types | Private Member Functions | List of all members
gtsam::ProductLieGroup< G, H > Class Template Reference

#include <ProductLieGroup.h>

Inheritance diagram for gtsam::ProductLieGroup< G, H >:
Inheritance graph
[legend]

Public Member Functions

 ProductLieGroup ()
 Default constructor yields identity. More...
 
 ProductLieGroup (const G &g, const H &h)
 
 ProductLieGroup (const Base &base)
 

Protected Types

enum  { dimension1 = traits<G>::dimension }
 
enum  { dimension2 = traits<H>::dimension }
 

Private Types

typedef std::pair< G, HBase
 

Private Member Functions

 BOOST_CONCEPT_ASSERT ((IsLieGroup< G >))
 
 BOOST_CONCEPT_ASSERT ((IsLieGroup< H >))
 

Group

typedef multiplicative_group_tag group_flavor
 
ProductLieGroup operator* (const ProductLieGroup &other) const
 
ProductLieGroup inverse () const
 
ProductLieGroup compose (const ProductLieGroup &g) const
 
ProductLieGroup between (const ProductLieGroup &g) const
 
static ProductLieGroup identity ()
 

Manifold

enum  { dimension = dimension1 + dimension2 }
 
typedef Eigen::Matrix< double, dimension, 1 > TangentVector
 
typedef OptionalJacobian< dimension, dimensionChartJacobian
 
size_t dim () const
 
ProductLieGroup retract (const TangentVector &v, ChartJacobian H1=boost::none, ChartJacobian H2=boost::none) const
 
TangentVector localCoordinates (const ProductLieGroup &g, ChartJacobian H1=boost::none, ChartJacobian H2=boost::none) const
 
static size_t Dim ()
 

Lie Group

typedef Eigen::Matrix< double, dimension, dimensionJacobian
 
typedef Eigen::Matrix< double, dimension1, dimension1Jacobian1
 
typedef Eigen::Matrix< double, dimension2, dimension2Jacobian2
 
ProductLieGroup compose (const ProductLieGroup &other, ChartJacobian H1, ChartJacobian H2=boost::none) const
 
ProductLieGroup between (const ProductLieGroup &other, ChartJacobian H1, ChartJacobian H2=boost::none) const
 
ProductLieGroup inverse (ChartJacobian D) const
 
ProductLieGroup expmap (const TangentVector &v) const
 
TangentVector logmap (const ProductLieGroup &g) const
 
static ProductLieGroup Expmap (const TangentVector &v, ChartJacobian Hv=boost::none)
 
static TangentVector Logmap (const ProductLieGroup &p, ChartJacobian Hp=boost::none)
 
static TangentVector LocalCoordinates (const ProductLieGroup &p, ChartJacobian Hp=boost::none)
 

Detailed Description

template<typename G, typename H>
class gtsam::ProductLieGroup< G, H >

Template to construct the product Lie group of two other Lie groups Assumes Lie group structure for G and H

Definition at line 29 of file ProductLieGroup.h.

Member Typedef Documentation

template<typename G, typename H>
typedef std::pair<G, H> gtsam::ProductLieGroup< G, H >::Base
private

Definition at line 32 of file ProductLieGroup.h.

template<typename G, typename H>
typedef OptionalJacobian<dimension, dimension> gtsam::ProductLieGroup< G, H >::ChartJacobian

Definition at line 75 of file ProductLieGroup.h.

template<typename G, typename H>
typedef multiplicative_group_tag gtsam::ProductLieGroup< G, H >::group_flavor

Definition at line 50 of file ProductLieGroup.h.

template<typename G, typename H>
typedef Eigen::Matrix<double, dimension, dimension> gtsam::ProductLieGroup< G, H >::Jacobian
protected

Definition at line 98 of file ProductLieGroup.h.

template<typename G, typename H>
typedef Eigen::Matrix<double, dimension1, dimension1> gtsam::ProductLieGroup< G, H >::Jacobian1
protected

Definition at line 99 of file ProductLieGroup.h.

template<typename G, typename H>
typedef Eigen::Matrix<double, dimension2, dimension2> gtsam::ProductLieGroup< G, H >::Jacobian2
protected

Definition at line 100 of file ProductLieGroup.h.

template<typename G, typename H>
typedef Eigen::Matrix<double, dimension, 1> gtsam::ProductLieGroup< G, H >::TangentVector

Definition at line 74 of file ProductLieGroup.h.

Member Enumeration Documentation

template<typename G, typename H>
anonymous enum
protected
Enumerator
dimension1 

Definition at line 35 of file ProductLieGroup.h.

template<typename G, typename H>
anonymous enum
protected
Enumerator
dimension2 

Definition at line 36 of file ProductLieGroup.h.

template<typename G, typename H>
anonymous enum
Enumerator
dimension 

Definition at line 70 of file ProductLieGroup.h.

Constructor & Destructor Documentation

template<typename G, typename H>
gtsam::ProductLieGroup< G, H >::ProductLieGroup ( )
inline

Default constructor yields identity.

Definition at line 40 of file ProductLieGroup.h.

template<typename G, typename H>
gtsam::ProductLieGroup< G, H >::ProductLieGroup ( const G g,
const H h 
)
inline

Definition at line 43 of file ProductLieGroup.h.

template<typename G, typename H>
gtsam::ProductLieGroup< G, H >::ProductLieGroup ( const Base base)
inline

Definition at line 46 of file ProductLieGroup.h.

Member Function Documentation

template<typename G, typename H>
ProductLieGroup gtsam::ProductLieGroup< G, H >::between ( const ProductLieGroup< G, H > &  g) const
inline

Definition at line 63 of file ProductLieGroup.h.

template<typename G, typename H>
ProductLieGroup gtsam::ProductLieGroup< G, H >::between ( const ProductLieGroup< G, H > &  other,
ChartJacobian  H1,
ChartJacobian  H2 = boost::none 
) const
inline

Definition at line 116 of file ProductLieGroup.h.

template<typename G, typename H>
gtsam::ProductLieGroup< G, H >::BOOST_CONCEPT_ASSERT ( (IsLieGroup< G >)  )
private
template<typename G, typename H>
gtsam::ProductLieGroup< G, H >::BOOST_CONCEPT_ASSERT ( (IsLieGroup< H >)  )
private
template<typename G, typename H>
ProductLieGroup gtsam::ProductLieGroup< G, H >::compose ( const ProductLieGroup< G, H > &  g) const
inline

Definition at line 60 of file ProductLieGroup.h.

template<typename G, typename H>
ProductLieGroup gtsam::ProductLieGroup< G, H >::compose ( const ProductLieGroup< G, H > &  other,
ChartJacobian  H1,
ChartJacobian  H2 = boost::none 
) const
inline

Definition at line 103 of file ProductLieGroup.h.

template<typename G, typename H>
static size_t gtsam::ProductLieGroup< G, H >::Dim ( )
inlinestatic

Definition at line 71 of file ProductLieGroup.h.

template<typename G, typename H>
size_t gtsam::ProductLieGroup< G, H >::dim ( ) const
inline

Definition at line 72 of file ProductLieGroup.h.

template<typename G, typename H>
static ProductLieGroup gtsam::ProductLieGroup< G, H >::Expmap ( const TangentVector v,
ChartJacobian  Hv = boost::none 
)
inlinestatic

Definition at line 140 of file ProductLieGroup.h.

template<typename G, typename H>
ProductLieGroup gtsam::ProductLieGroup< G, H >::expmap ( const TangentVector v) const
inline

Definition at line 167 of file ProductLieGroup.h.

template<typename G, typename H>
static ProductLieGroup gtsam::ProductLieGroup< G, H >::identity ( )
inlinestatic

Definition at line 51 of file ProductLieGroup.h.

template<typename G, typename H>
ProductLieGroup gtsam::ProductLieGroup< G, H >::inverse ( ) const
inline

Definition at line 57 of file ProductLieGroup.h.

template<typename G, typename H>
ProductLieGroup gtsam::ProductLieGroup< G, H >::inverse ( ChartJacobian  D) const
inline

Definition at line 129 of file ProductLieGroup.h.

template<typename G, typename H>
TangentVector gtsam::ProductLieGroup< G, H >::localCoordinates ( const ProductLieGroup< G, H > &  g,
ChartJacobian  H1 = boost::none,
ChartJacobian  H2 = boost::none 
) const
inline

Definition at line 84 of file ProductLieGroup.h.

template<typename G, typename H>
static TangentVector gtsam::ProductLieGroup< G, H >::LocalCoordinates ( const ProductLieGroup< G, H > &  p,
ChartJacobian  Hp = boost::none 
)
inlinestatic

Definition at line 164 of file ProductLieGroup.h.

template<typename G, typename H>
static TangentVector gtsam::ProductLieGroup< G, H >::Logmap ( const ProductLieGroup< G, H > &  p,
ChartJacobian  Hp = boost::none 
)
inlinestatic

Definition at line 151 of file ProductLieGroup.h.

template<typename G, typename H>
TangentVector gtsam::ProductLieGroup< G, H >::logmap ( const ProductLieGroup< G, H > &  g) const
inline

Definition at line 170 of file ProductLieGroup.h.

template<typename G, typename H>
ProductLieGroup gtsam::ProductLieGroup< G, H >::operator* ( const ProductLieGroup< G, H > &  other) const
inline

Definition at line 53 of file ProductLieGroup.h.

template<typename G, typename H>
ProductLieGroup gtsam::ProductLieGroup< G, H >::retract ( const TangentVector v,
ChartJacobian  H1 = boost::none,
ChartJacobian  H2 = boost::none 
) const
inline

Definition at line 77 of file ProductLieGroup.h.


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


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