GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Public Types | Public Member Functions | Static Public Member Functions | List of all members
gtsam::LieGroup< Class, N > Struct Template Reference

#include <Lie.h>

Public Types

enum  { dimension = N }
 
typedef OptionalJacobian< N, N > ChartJacobian
 
typedef Eigen::Matrix< double, N, N > Jacobian
 
typedef Eigen::Matrix< double, N, 1 > TangentVector
 

Public Member Functions

const Class & derived () const
 
Class compose (const Class &g) const
 
Class between (const Class &g) const
 
Class compose (const Class &g, ChartJacobian H1, ChartJacobian H2={}) const
 
Class between (const Class &g, ChartJacobian H1, ChartJacobian H2={}) const
 
Class inverse (ChartJacobian H) const
 
Class expmap (const TangentVector &v) const
 
TangentVector logmap (const Class &g) const
 
Class expmap (const TangentVector &v, ChartJacobian H1, ChartJacobian H2={}) const
 expmap with optional derivatives
 
TangentVector logmap (const Class &g, ChartJacobian H1, ChartJacobian H2={}) const
 logmap with optional derivatives
 
Class retract (const TangentVector &v) const
 retract as required by manifold concept: applies v at *this
 
TangentVector localCoordinates (const Class &g) const
 localCoordinates as required by manifold concept: finds tangent vector between *this and g
 
Class retract (const TangentVector &v, ChartJacobian H1, ChartJacobian H2={}) const
 retract with optional derivatives
 
TangentVector localCoordinates (const Class &g, ChartJacobian H1, ChartJacobian H2={}) const
 localCoordinates with optional derivatives
 
template<>
GTSAM_EXPORT SOn compose (const SOn &g, DynamicJacobian H1, DynamicJacobian H2) const
 
template<>
GTSAM_EXPORT SOn between (const SOn &g, DynamicJacobian H1, DynamicJacobian H2) const
 

Static Public Member Functions

static Class Retract (const TangentVector &v)
 Retract at origin: possible in Lie group because it has an identity.
 
static TangentVector LocalCoordinates (const Class &g)
 LocalCoordinates at origin: possible in Lie group because it has an identity.
 
static Class Retract (const TangentVector &v, ChartJacobian H)
 Retract at origin with optional derivative.
 
static TangentVector LocalCoordinates (const Class &g, ChartJacobian H)
 LocalCoordinates at origin with optional derivative.
 

Detailed Description

template<class Class, int N>
struct gtsam::LieGroup< Class, N >

A CRTP helper class that implements Lie group methods Prerequisites: methods operator*, inverse, and AdjointMap, as well as a ChartAtOrigin struct that will be used to define the manifold Chart To use, simply derive, but also say "using LieGroup<Class,N>::inverse" For derivative math, see doc/math.pdf

Member Function Documentation

◆ expmap()

template<class Class, int N>
Class gtsam::LieGroup< Class, N >::expmap ( const TangentVector &  v) const
inline

expmap as required by manifold concept Applies exponential map to v and composes with *this

◆ logmap()

template<class Class, int N>
TangentVector gtsam::LieGroup< Class, N >::logmap ( const Class &  g) const
inline

logmap as required by manifold concept Applies logarithmic map to group element that takes *this to g


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