Loading [MathJax]/extensions/tex2jax.js
gtsam  4.0.0
gtsam
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Lie.h File Reference

Base class and basic functions for Lie types. More...

Go to the source code of this file.

Classes

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. More...
 
struct  gtsam::lie_group_tag
 tag to assert a type is a Lie group More...
 
struct  gtsam::internal::LieGroupTraits< Class >
 A helper class that implements the traits interface for GTSAM lie groups. More...
 
struct  gtsam::internal::LieGroup< Class >
 Both LieGroupTraits and Testable. More...
 
class  gtsam::IsLieGroup< T >
 Lie Group Concept. More...
 

Namespaces

 gtsam
 Global functions in a separate testing namespace.
 

Macros

#define GTSAM_CONCEPT_LIE_INST(T)   template class gtsam::IsLieGroup<T>;
 Macros for using the LieConcept. More...
 
#define GTSAM_CONCEPT_LIE_TYPE(T)   typedef gtsam::IsLieGroup<T> _gtsam_IsLieGroup_##T;
 

Functions

template<class Class >
Class gtsam::between_default (const Class &l1, const Class &l2)
 These core global functions can be specialized by new Lie types for better performance. More...
 
template<class Class >
Vector gtsam::logmap_default (const Class &l0, const Class &lp)
 Log map centered at l0, s.t. More...
 
template<class Class >
Class gtsam::expmap_default (const Class &t, const Vector &d)
 Exponential map centered at l0, s.t. More...
 
template<class T >
gtsam::BCH (const T &X, const T &Y)
 Three term approximation of the Baker-Campbell-Hausdorff formula In non-commutative Lie groups, when composing exp(Z) = exp(X)exp(Y) it is not true that Z = X+Y. More...
 
template<class T >
Matrix gtsam::wedge (const Vector &x)
 Declaration of wedge (see Murray94book) used to convert from n exponential coordinates to n*n element of the Lie algebra.
 
template<class T >
gtsam::expm (const Vector &x, int K=7)
 Exponential map given exponential coordinates class T needs a wedge<> function and a constructor from Matrix. More...
 
template<typename T >
gtsam::interpolate (const T &X, const T &Y, double t)
 Linear interpolation between X and Y by coefficient t in [0, 1].
 

Detailed Description

Base class and basic functions for Lie types.

Author
Richard Roberts
Alex Cunningham
Frank Dellaert
Mike Bosse
Duy Nguyen Ta

Macro Definition Documentation

◆ GTSAM_CONCEPT_LIE_INST

#define GTSAM_CONCEPT_LIE_INST (   T)    template class gtsam::IsLieGroup<T>;

Macros for using the LieConcept.

  • An instantiation for use inside unit tests
  • A typedef for use inside generic algorithms

NOTE: intentionally not in the gtsam namespace to allow for classes not in the gtsam namespace to be more easily enforced as testable