gtsam  4.0.0
gtsam
gtsam::ProductLieGroup< G, H > Class Template Reference

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.

+ Inheritance diagram for gtsam::ProductLieGroup< G, 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, dimension > ChartJacobian
 
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, dimension > Jacobian
 
typedef Eigen::Matrix< double, dimension1, dimension1 > Jacobian1
 
typedef Eigen::Matrix< double, dimension2, dimension2 > Jacobian2
 
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)
 

Public Member Functions

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

Protected Types

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

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