template<typename G>
class gtsam::TangentLieGroup< G >
Tangent Lie group TG = G ⋉ 𝔤, with dimension 2 dim(G).
Elements are pairs (g,v), with product (g1,v1)(g2,v2) = (g1 g2, v1 + Ad_g1 v2). This dedicated class exposes the tangent structure directly, allowing its repeated-block Jacobians and adjoints to be assembled without a generic semidirect-action layer. Standard Lie-group operations and their Jacobians are inherited from LieGroup; this class supplies the tangent-group law, charts, adjoints, and specialized kernels.
|
|
| TangentLieGroup (const G &g, const BaseTangent &v) |
|
| TangentLieGroup (const Base &base) |
|
constexpr size_t | dim () const |
|
TangentLieGroup | operator* (const TangentLieGroup &other) const |
|
TangentLieGroup | inverse () const |
|
TangentLieGroup | retract (const TangentVector &xi, ChartJacobian H1={}, ChartJacobian H2={}) const |
|
TangentVector | localCoordinates (const TangentLieGroup &other, ChartJacobian H1={}, ChartJacobian H2={}) const |
|
Jacobian | AdjointMap () const |
|
void | print (const std::string &s="") const |
|
bool | equals (const TangentLieGroup &other, double tol=1e-9) const |
|
This | between (const This &g) const |
|
This | between (const This &g, ChartJacobian H1, ChartJacobian H2={}) const |
|
SOn | between (const SOn &g, DynamicJacobian H1, DynamicJacobian H2) const |
|
This | compose (const This &g) const |
|
This | compose (const This &g, ChartJacobian H1, ChartJacobian H2={}) const |
|
SOn | compose (const SOn &g, DynamicJacobian H1, DynamicJacobian H2) const |
|
This | expmap (const TangentVector &v) const |
| | expmap as required by manifold concept Applies exponential map to v and composes with *this
|
|
This | expmap (const TangentVector &v, ChartJacobian H1, ChartJacobian H2={}) const |
| | expmap with optional derivatives, when the class provides them
|
|
This | inverse (ChartJacobian H) const |
|
TangentVector | logmap (const This &g) const |
| | logmap as required by manifold concept Applies logarithmic map to group element that takes *this to g
|
|
TangentVector | logmap (const This &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 TangentLieGroup< G > & | derived () const |
|
TangentLieGroup< G > | inverse (ChartJacobian H) const |
|
TangentLieGroup< G > | expmap (const TangentVector &v) const |
| | expmap as required by manifold concept Applies exponential map to v and composes with *this
|
|
TangentVector | logmap (const TangentLieGroup< G > &g) const |
| | logmap as required by manifold concept Applies logarithmic map to group element that takes *this to g
|
|
TangentLieGroup< G > | retract (const TangentVector &v) const |
| | retract as required by manifold concept: applies v at *this
|
|
TangentVector | localCoordinates (const TangentLieGroup< G > &g) const |
| | localCoordinates as required by manifold concept: finds tangent vector between *this and g
|
|
|
static TangentLieGroup | Identity () |
|
static TangentLieGroup | Expmap (const TangentVector &xi, ChartJacobian H={}) |
|
static TangentLieGroup | Expmap (const Eigen::Ref< const BaseTangent > &u, const Eigen::Ref< const BaseTangent > &v, SplitJacobian H1={}, SplitJacobian H2={}) |
|
static TangentVector | Logmap (const TangentLieGroup &p, ChartJacobian H={}) |
|
static TangentVector | LocalCoordinates (const TangentLieGroup &p, ChartJacobian H={}) |
|
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 TangentLieGroup< G > | Retract (const TangentVector &v) |
| | Retract at origin: possible in Lie group because it has an identity.
|
|
static TangentVector | LocalCoordinates (const TangentLieGroup< G > &g) |
| | LocalCoordinates at origin: possible in Lie group because it has an identity.
|
|
|
using | This = TangentLieGroup<G> |
|
using | Base = std::pair<G, typename traits<G>::TangentVector> |
|
using | LieBase = LieGroup<This, internal::dimensionProduct(2, n)> |
|
using | BaseTangent = typename traits<G>::TangentVector |
|
using | BaseJacobian = typename traits<G>::Jacobian |
|
using | TangentVector = typename LieBase::TangentVector |
|
using | Jacobian = typename LieBase::Jacobian |
|
using | ChartJacobian = typename LieBase::ChartJacobian |
|
using | ChartAtOrigin = internal::ChartAtIdentity<This, dimension> |
|
using | SplitJacobian = OptionalJacobian<Eigen::Dynamic, Eigen::Dynamic> |
|
using | group_flavor = multiplicative_group_tag |
|
typedef OptionalJacobian< N, N > | ChartJacobian |
|
typedef Eigen::Matrix< double, N, N > | Jacobian |
|
typedef Eigen::Matrix< double, N, 1 > | TangentVector |