template<typename G, typename H, typename Action>
class gtsam::SemidirectLieGroup< G, H, Action >
Left semidirect product G ⋉ H induced by Action.
The group law is (g1,h1)(g2,h2) = (g1 g2, h1 Action(g1,h2)). H must be a fixed-size Eigen vector, and Action must be a default- constructible left GroupAction with an infinitesimal generator. Standard Lie-group operations and their Jacobians are inherited from LieGroup; this class supplies the semidirect law, action-specific charts, adjoints, and augmented-matrix exponential/logarithmic kernels.
|
|
| SemidirectLieGroup (const G &g, const H &h) |
|
| SemidirectLieGroup (const Base &base) |
|
size_t | dim () const |
|
SemidirectLieGroup | operator* (const SemidirectLieGroup &other) const |
|
SemidirectLieGroup | inverse () const |
|
SemidirectLieGroup | retract (const TangentVector &v, ChartJacobian H1={}, ChartJacobian H2={}) const |
|
TangentVector | localCoordinates (const SemidirectLieGroup &other, ChartJacobian H1={}, ChartJacobian H2={}) const |
|
Jacobian | AdjointMap () const |
|
void | print (const std::string &s="") const |
|
bool | equals (const SemidirectLieGroup &other, double tol=1e-9) const |
|
Class | between (const Class &g) const |
|
Class | between (const Class &g, ChartJacobian H1, ChartJacobian H2={}) const |
|
SOn | between (const SOn &g, DynamicJacobian H1, DynamicJacobian H2) const |
|
Class | compose (const Class &g) const |
|
Class | compose (const Class &g, ChartJacobian H1, ChartJacobian H2={}) const |
|
SOn | compose (const SOn &g, DynamicJacobian H1, DynamicJacobian H2) const |
|
Class | expmap (const TangentVector &v) const |
| | expmap as required by manifold concept Applies exponential map to v and composes with *this
|
|
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
|
|
Class | inverse (ChartJacobian H) const |
|
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::LogmapWithJacobian<C, ChartJacobian>> |
| TangentVector | logmap (const Class &g, ChartJacobian H1, ChartJacobian H2={}) const |
| | logmap with optional derivatives, when the class 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 |
|
std::enable_if_t< M !=Eigen::Dynamic, int > | dim () const |
| | Provided fixed dimension in dim() if needed.
|
|
const SemidirectLieGroup< G, H, Action > & | derived () const |
|
SemidirectLieGroup< G, H, Action > | inverse (ChartJacobian H) const |
|
SemidirectLieGroup< G, H, Action > | expmap (const TangentVector &v) const |
| | expmap as required by manifold concept Applies exponential map to v and composes with *this
|
|
TangentVector | logmap (const SemidirectLieGroup< G, H, Action > &g) const |
| | logmap as required by manifold concept Applies logarithmic map to group element that takes *this to g
|
|
SemidirectLieGroup< G, H, Action > | retract (const TangentVector &v) const |
| | retract as required by manifold concept: applies v at *this
|
|
TangentVector | localCoordinates (const SemidirectLieGroup< G, H, Action > &g) const |
| | localCoordinates as required by manifold concept: finds tangent vector between *this and g
|
|
|
static SemidirectLieGroup | Identity () |
|
static SemidirectLieGroup | Expmap (const TangentVector &xi, ChartJacobian D={}) |
|
static SemidirectLieGroup | Expmap (const Eigen::Ref< const typename traits< G >::TangentVector > &u, const Eigen::Ref< const typename traits< H >::TangentVector > &v, OptionalJacobian< Eigen::Dynamic, Eigen::Dynamic > H1={}, OptionalJacobian< Eigen::Dynamic, Eigen::Dynamic > H2={}) |
|
static TangentVector | Logmap (const SemidirectLieGroup &p, ChartJacobian D={}) |
|
static TangentVector | LocalCoordinates (const SemidirectLieGroup &p, ChartJacobian D={}) |
|
static Jacobian | adjointMap (const TangentVector &xi) |
|
static constexpr int | Dim () |
| | Static method to get the dimension (compile-time or dynamic).
|
|
static constexpr int | Dim () |
| | Static method to get the dimension (compile-time or dynamic).
|
|
static SemidirectLieGroup< G, H, Action > | Retract (const TangentVector &v) |
| | Retract at origin: possible in Lie group because it has an identity.
|
|
static TangentVector | LocalCoordinates (const SemidirectLieGroup< G, H, Action > &g) |
| | LocalCoordinates at origin: possible in Lie group because it has an identity.
|