Loading...
Searching...
No Matches
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

namespace | gtsam
| Global functions in a separate testing namespace.

## Macros

#define | GTSAM_CONCEPT_LIE_INST(T)
| Macros for using the LieConcept.
#define | GTSAM_CONCEPT_LIE_TYPE(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.
template<class Class>
Vector | gtsam::logmap_default (const Class &l0, const Class &lp)
| Log map centered at l0, s.t.
template<class Class>
Class | gtsam::expmap_default (const Class &t, const Vector &d)
| Exponential map centered at l0, s.t.
template<class T>
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.
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>
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.
template<typename T>
T | gtsam::interpolate (const T &X, const T &Y, double t, typename MakeOptionalJacobian< T, T >::type Hx=boost::none, typename MakeOptionalJacobian< T, T >::type Hy=boost::none)
| Linear interpolation between X and Y by coefficient t.

## Detailed Description

Base class and basic functions for Lie types.

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

## Macro Definition Documentation

## GTSAM_CONCEPT_LIE_INST

#define GTSAM_CONCEPT_LIE_INST | ( |  | T | ) |

Value:
template class gtsam::IsLieGroup<T>;
gtsam::IsLieGroup
Lie Group Concept.
Definition Lie.h:260

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

## GTSAM_CONCEPT_LIE_TYPE

#define GTSAM_CONCEPT_LIE_TYPE | ( |  | T | ) |

Value:
using _gtsam_IsLieGroup_##T = gtsam::IsLieGroup<T>;