template<typename Action>
struct gtsam::group_action::Diffeomorphism< Action >
Diffeomorphism: The map m -> m, defined by fixing g0.
(Also known as the translation map L_g or R_g). For Left Action: m -> g0 * m For Right Action: m -> m * g0
Inherits from Action to allow for Empty Base Optimization (EBO). If Action is stateless, this struct will have the same size as G.
|
|
| Diffeomorphism (const G &g) |
|
| Diffeomorphism (const G &g, const Action &a) |
| | Constructor with explicit action instance.
|
|
M | operator() (const M &m) const |
| | Apply the diffeomorphism to a manifold point.
|
|
template<typename A = Action, typename = std::enable_if_t< std::is_invocable_r_v<M, const A&, const G&, const M&, OptionalJacobian<DimM, DimG>, OptionalJacobian<DimM, DimM>> || std::is_invocable_r_v<M, const A&, const M&, const G&, OptionalJacobian<DimM, DimM>, OptionalJacobian<DimM, DimG>>>> |
| M | operator() (const M &m, OptionalJacobian< DimM, DimM > H) const |
| template<typename A = Action, typename = std::enable_if_t< std::is_invocable_r_v<M, const A&, const G&, const M&, OptionalJacobian<DimM, DimG>, OptionalJacobian<DimM, DimM>> || std::is_invocable_r_v<M, const A&, const M&, const G&, OptionalJacobian<DimM, DimM>, OptionalJacobian<DimM, DimG>>>> |
| traits< M >::TangentVector | pushforward (const M &m, const typename traits< M >::TangentVector &v, OptionalJacobian< DimM, DimM > H={}) const |
| | Push-forward a tangent vector through the diffeomorphism.
|
template<typename Action>
template<typename A = Action, typename = std::enable_if_t< std::is_invocable_r_v<M, const A&, const G&, const M&, OptionalJacobian<DimM, DimG>, OptionalJacobian<DimM, DimM>> || std::is_invocable_r_v<M, const A&, const M&, const G&, OptionalJacobian<DimM, DimM>, OptionalJacobian<DimM, DimG>>>>
Push-forward a tangent vector through the diffeomorphism.
Given a tangent vector v at m, this returns the translated vector in the tangent space at φ_g0(m) using the Jacobian of the action. This is the standard way to transport vectors between tangent spaces induced by the group action.