template<typename G, int N>
class gtsam::PowerLieGroup< G, N >
Template to construct the N-fold power of a Lie group Represents the group G^N = G x G x ... x G (N times) Assumes Lie group structure for fixed-size G and fixed N >= 1.
|
|
| PowerLieGroup () |
| | Default constructor yields identity.
|
|
| PowerLieGroup (const Base &elements) |
| | Construct from array of group elements.
|
|
| PowerLieGroup (const std::initializer_list< G > &elements) |
| | Construct from initializer list.
|
|
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
|
|
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
|
|
TangentVector | logmap (const Class &g, ChartJacobian H1, ChartJacobian H2={}) const |
| | logmap with optional derivatives, when the class provides them
|
|
size_t | dim () const |
| | Return manifold dimension.
|
|
PowerLieGroup< G, N > | operator* (const PowerLieGroup< G, N > &other) const |
| | Group multiplication.
|
|
PowerLieGroup< G, N > | retract (const TangentVector &v, ChartJacobian H1={}, ChartJacobian H2={}) const |
| | Retract to manifold.
|
|
TangentVector | localCoordinates (const PowerLieGroup< G, N > &g, ChartJacobian H1={}, ChartJacobian H2={}) const |
| | Local coordinates on manifold.
|
|
Jacobian | AdjointMap () const |
| | Adjoint map.
|
|
void | print (const std::string &s="") const |
| | Print for debugging.
|
|
bool | equals (const PowerLieGroup< G, N > &other, double tol=1e-9) const |
| | Equality with tolerance.
|
|
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 PowerLieGroup< G, N > & | derived () const |
|
PowerLieGroup< G, N > | inverse (ChartJacobian H) const |
|
PowerLieGroup< G, N > | expmap (const TangentVector &v) const |
| | expmap as required by manifold concept Applies exponential map to v and composes with *this
|
|
TangentVector | logmap (const PowerLieGroup< G, N > &g) const |
| | logmap as required by manifold concept Applies logarithmic map to group element that takes *this to g
|
|
PowerLieGroup< G, N > | retract (const TangentVector &v) const |
| | retract as required by manifold concept: applies v at *this
|
|
TangentVector | localCoordinates (const PowerLieGroup< G, N > &g) const |
| | localCoordinates as required by manifold concept: finds tangent vector between *this and g
|
|
|
static constexpr int | Dim () |
| | Static method to get the dimension (compile-time or dynamic).
|
|
static PowerLieGroup | Identity () |
| | Identity element.
|
|
static constexpr int | Dim () |
| | Static method to get the dimension (compile-time or dynamic).
|
|
static PowerLieGroup< G, N > | Expmap (const TangentVector &v, ChartJacobian Hv={}) |
| | Exponential map.
|
|
static TangentVector | Logmap (const PowerLieGroup< G, N > &p, ChartJacobian Hp={}) |
| | Logarithmic map.
|
|
static TangentVector | LocalCoordinates (const PowerLieGroup< G, N > &p, ChartJacobian Hp={}) |
| | Local coordinates (same as Logmap).
|
|
static constexpr int | Dim () |
| | Static method to get the dimension (compile-time or dynamic).
|
|
static PowerLieGroup< G, N > | Retract (const TangentVector &v) |
| | Retract at origin: possible in Lie group because it has an identity.
|
|
static TangentVector | LocalCoordinates (const PowerLieGroup< G, N > &g) |
| | LocalCoordinates at origin: possible in Lie group because it has an identity.
|
|
|
const PowerLieGroup< G, N > & | derived () const |
| | Downcast to the derived storage type.
|
|
size_t | componentCount () const |
| | Runtime component count.
|
|
void | checkMatchingCounts (const PowerLieGroup< G, N > &other, const char *operation) const |
| | Validate matching component counts for binary operations.
|
|
static size_t | totalDimension (size_t count) |
| | Total tangent dimension for a given component count.
|
|
static Eigen::Index | offset (size_t i) |
| | Starting offset of one component inside the concatenated tangent.
|
|
static void | checkDynamicTangentSize (const TangentVector &v, size_t count, const char *operation) |
| | Validate tangent size for dynamic-count groups.
|
|
static traits< G >::TangentVector | tangentSegment (const TangentVector &v, size_t i) |
| | Extract one component tangent from the concatenated tangent.
|
|
static PowerLieGroup< G, N > | makeResult (size_t count) |
| | Create a result object with the requested component count.
|
|
static JacobianStorage | makeJacobianStorage (size_t count) |
| | Create per-component Jacobian storage.
|
|
static void | assignTangentSegment (TangentVector &v, size_t i, const typename traits< G >::TangentVector &vi) |
| | Write one component tangent into the concatenated tangent.
|
|
static void | assignJacobianBlock (MatrixType &H, size_t i, const BaseJacobian &block) |
| | Write one component block into a block-diagonal Jacobian.
|
|
static void | fillJacobianBlocks (ChartJacobian H, const JacobianStorage &jacobians, size_t count) |
| | Assemble a block-diagonal Jacobian from per-component blocks.
|
|
static TangentVector | zeroTangent (size_t count) |
| | Create a zero tangent with the requested runtime size.
|
|
static Jacobian | zeroJacobian (size_t count) |
| | Create a zero Jacobian with the requested runtime size.
|
|
static constexpr bool | isDynamic |
|
static constexpr int | n |