gtsam  4.1.0
gtsam
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...
 
class  gtsam::TransformCovariance< T >
 Functor for transforming covariance of T. 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