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.
|
|
template<int M = N> |
| std::enable_if_t< M !=Eigen::Dynamic, int > | dim () const |
| | Provided fixed dimension in dim() if needed.
|
|
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 |
| | expmap as required by manifold concept Applies exponential map to v and composes with *this
|
|
TangentVector | logmap (const Class &g) const |
| | logmap as required by manifold concept Applies logarithmic map to group element that takes *this to g
|
|
template<class C = Class, class = internal::ExpmapWithJacobian<C, TangentVector, ChartJacobian>> |
| Class | expmap (const TangentVector &v, ChartJacobian H1, ChartJacobian H2={}) const |
| | expmap with optional derivatives, when the class provides them
|
|
template<class C = Class, class = internal::LogmapWithJacobian<C, ChartJacobian>> |
| TangentVector | logmap (const Class &g, ChartJacobian H1, ChartJacobian H2={}) const |
| | logmap with optional derivatives, when the class provides them
|
|
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
|
|
template<class C = Class, class = decltype(C::ChartAtOrigin::Retract( std::declval<const TangentVector&>(), std::declval<ChartJacobian>()))> |
| Class | retract (const TangentVector &v, ChartJacobian H1, ChartJacobian H2={}) const |
| | retract with optional derivatives, when the chart provides them
|
|
template<class C = Class, class = decltype(C::ChartAtOrigin::Local( std::declval<const C&>(), std::declval<ChartJacobian>()))> |
| TangentVector | localCoordinates (const Class &g, ChartJacobian H1, ChartJacobian H2={}) const |
| | localCoordinates with optional derivatives, when the chart provides them
|
|
SOn | compose (const SOn &g, DynamicJacobian H1, DynamicJacobian H2) const |
|
SOn | between (const SOn &g, DynamicJacobian H1, DynamicJacobian H2) const |
|
GTSAM_EXPORT SOn | compose (const SOn &g, DynamicJacobian H1, DynamicJacobian H2) const |
|
GTSAM_EXPORT SOn | between (const SOn &g, DynamicJacobian H1, DynamicJacobian H2) const |
|
|
static constexpr int | Dim () |
| | Static method to get the dimension (compile-time or dynamic).
|
|
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.
|
|
template<class C = Class, class = decltype(C::ChartAtOrigin::Retract( std::declval<const TangentVector&>(), std::declval<ChartJacobian>()))> |
| static Class | Retract (const TangentVector &v, ChartJacobian H) |
| | Retract at origin with optional derivative, when the chart provides it.
|
|
template<class C = Class, class = decltype(C::ChartAtOrigin::Local( std::declval<const C&>(), std::declval<ChartJacobian>()))> |
| static TangentVector | LocalCoordinates (const Class &g, ChartJacobian H) |
| | LocalCoordinates at origin with optional derivative, when provided.
|