Skip to content

Generic TangentGroup TG from action-parameterized ProductLieGroup#2570

Open
AlessandroFornasier wants to merge 30 commits into
borglab:developfrom
AlessandroFornasier:develop
Open

Generic TangentGroup TG from action-parameterized ProductLieGroup#2570
AlessandroFornasier wants to merge 30 commits into
borglab:developfrom
AlessandroFornasier:develop

Conversation

@AlessandroFornasier

Copy link
Copy Markdown

Tangent Lie group TG = G ⋉ 𝔤 on top of the action-parameterized ProductLieGroup.

Stacked on #2494, will be rebased once #2494 is merged.

Adds the tangent group of a Lie group, TangentLieGroup<G>, built as a semidirect ProductLieGroup<G, g, AdjointAction<G>> where G acts on its own Lie algebra g by the adjoint action φ(g,ξ) = Ad_g·ξ.

Changes

  • TangentLieGroup.h: AdjointAction<G> and the TangentLieGroup<G> alias. Element (g, ξ), group law (g₁,ξ₁)·(g₂,ξ₂) = (g₁g₂, ξ₁ + Ad_{g₁}ξ₂), dimension 2·dim(G).
  • ProductLieGroup: static algebra adjoint adjointMap(ξ) for semidirect products. It recurses through the base group's adjointMap, so tangent groups of products work as expected.

Tests

  • testTangentLieGroup: group axioms/concepts, Exp/Log round-trip and Jacobians, the left-Jacobian transport block, and the Ad/ad block structure, on TG(SO3), TG(SE3), TG(Gal3).
  • testActionProductLieGroup: an SE(3) ⋉ ℝ⁴ example (defined inline in the test) reconstructing Gal(3), cross-checked against the native Gal3 compose/between/inverse/Exp/Log/Adjoint, retract/local, and the static algebra adjoint.

@AlessandroFornasier

Copy link
Copy Markdown
Author

@dellaert @rohan-bansal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants