An Interface for Lie group actions

LieGroups.AbstractLeftGroupActionType β€” Type
AbstractLeftGroupActionType <: AbstractGroupActionType

A type representing a (smooth) group action $Οƒ: \mathcal G Γ— \mathcal M β†’ \mathcal M$ of a LieGroup $\mathcal G$ acting (from the left) on an AbstractManifold $\mathcal M$. with the following properties

  1. $Οƒ(\mathrm{e}, p) = p$ holds for all $p ∈ \mathcal M$
  2. $Οƒ(g, Οƒ(h, p)) = Οƒ(g∘h, p)$ holds for all $g,h ∈ \mathcal G$, $p ∈ \mathcal M$

where $∘$ denotes the group operation of the LieGroup $\mathcal G$. See also [HN12, Definition 9.1.11].

The type of action can be seen a bit better when writing the action as a family $Οƒ_g(p)$: we obtain from the second property as

\[ Οƒ_g(Οƒ_h(p)) = Οƒ_{gh}(p)\]

and see that $g$ appears on the left.

To emphasize the side the group operation is acting from, we sometimes write $Οƒ^{\mathrm{L}}$. If the action is clear from context we write $Οƒ(g, p) = g β‹… p$.

One notable example of a left action is the inverse of an action of AbstractRightGroupActionType $Οƒ^{\mathrm{R}}$, which is given by $Ο„_g = (Οƒ^{\mathrm{R}}_g)^{-1} = Οƒ^{\mathrm{R}}_{g^{-1}}$. We obtain

\[Ο„_g(Ο„_h(p)) = Οƒ^{\mathrm{R}}_{g^{-1}}(Οƒ^{\mathrm{R}}_{h^{-1}}(p)) = Οƒ^{\mathrm{R}}_{h^{-1}g^{-1}}(p) = Οƒ^{\mathrm{R}}_{(gh)^{-1}}(p) Ο„_{gh}(p).\]

Note

In function definitions we follow the idea of the family of actions and use the order (M, g, p) in function signatures.

source
LieGroups.AbstractRightGroupActionType β€” Type
AbstractRightGroupActionType <: AbstractGroupActionType

A type representing a (smooth) group action $Οƒ: \mathcal M Γ— \mathcal G β†’ \mathcal M$ of a LieGroup $\mathcal G$ acting (from the right) on an AbstractManifold $\mathcal M$. with the following properties

  1. $Οƒ(p, \mathrm{e}) = p$ holds for all $p ∈ \mathcal M$
  2. $Οƒ(Οƒ(p, g), h) = Οƒ(p, g∘h)$ holds for all $g,h ∈ \mathcal G$, $p ∈ \mathcal M$

where $∘$ denotes the group operation of the LieGroup $\mathcal G$. See also [HN12, Remark 9.1.12].

The type of action can be seen a bit better when writing the action as a family $Οƒ_g(p)$: we obtain from the second property as

\[ Οƒ_g(Οƒ_h(p)) = Οƒ_{hg}(p)\]

and see that $g$ appears on the right.

To emphasize the side the group operation is acting from, we sometimes write $Οƒ^{\mathrm{R}}$. If the action is clear from context we write $Οƒ(p, g) = p β‹… g$.

One notable example of a right action is the inverse of an action of AbstractLeftGroupActionType $Οƒ^{\mathrm{L}}$, which is given by $Ο„_g = (Οƒ^{\mathrm{L}}_g)^{-1} = Οƒ^{\mathrm{L}}_{g^{-1}}$. We obtain

\[Ο„_g(Ο„_h(p)) = Οƒ^{\mathrm{L}}_{g^{-1}}(Οƒ^{\mathrm{L}}_{h^{-1}}(p)) = Οƒ^{\mathrm{L}}_{g^{-1}h^{-1}}(p) = Οƒ^{\mathrm{L}}_{(hg)^{-1}}(p) Ο„_{hg}(p).\]

Note

In function definitions we follow the idea of the family of actions and use the order (M, g, p) in function signatures.

source
LieGroups.GroupAction β€” Type
GroupAction{T<:GroupActionType, L<:LieGroup, M<:AbstractManifold}

Specify a group action of AbstractGroupActionType T of a LieGroup G acting on M.

Let $\mathcal M$ be a AbstractManifold and $\mathcal G$ be a LieGroup with group operation $∘$.

A (smooth) action of the group $\mathcal G$ on the manifold $\mathcal M$ is a map

\[Οƒ: \mathcal G Γ— \mathcal M β†’ \mathcal M\]

with the properties

  • $Οƒ(\mathrm{e}, p) = p$ holds for all $p ∈ \mathcal M$
  • $Οƒ(g, Οƒ(h, p)) = Οƒ(g∘h, p)$ holds for all $g,h ∈ \mathcal G$, $p ∈ \mathcal M$

Fields

  • type::T: The type of the group action.
  • group::L: The group acting.
  • manifold::M: The manifold the group acts upon.

See [HN12, Section 9.1.3] for more details.

source

Functions for Lie group actions

Base.inv β€” Method
inv(::AbstractGroupActionType)

return the inverse group operation action, that is, use the type representing the inverse operation.

source
LieGroups.diff_apply! β€” Method
diff_apply(A::GroupAction{T, L, M}, g, p, X)
diff_apply!(A::GroupAction{T, L, M}, Y, g, p, X)

Compute the differential $D_p Οƒ_g(p): T_p\mathcal M β†’ T_{Οƒ_g(p)}\mathcal M$, where for a left group action we have $Οƒ_g(p) = Οƒ(g,p)$, for a right action $Οƒ_g(p) = Οƒ(p, g)$.

source
LieGroups.diff_apply β€” Method
diff_apply(A::GroupAction{T, L, M}, g, p, X)
diff_apply!(A::GroupAction{T, L, M}, Y, g, p, X)

Compute the differential $D_p Οƒ_g(p): T_p\mathcal M β†’ T_{Οƒ_g(p)}\mathcal M$, where for a left group action we have $Οƒ_g(p) = Οƒ(g,p)$, for a right action $Οƒ_g(p) = Οƒ(p, g)$.

source
LieGroups.diff_group_apply! β€” Method
diff_group_apply(A::GroupAction{T, L, M}, g, p, X)
diff_group_apply!(A::GroupAction{T, L, M}, Y, g, p, X)

Compute the differential $D_g Οƒ_g(p): \mathfrak g β†’ \mathfrak g$, where we use the short hand notation $Οƒ_p(g) = Οƒ(g,p)$ for a left action, and for a right action $Οƒ_p(g) = Οƒ(p, g)$.

source
LieGroups.diff_group_apply β€” Method
diff_group_apply(A::GroupAction{T, L, M}, g, p, X)
diff_group_apply!(A::GroupAction{T, L, M}, Y, g, p, X)

Compute the differential $D_g Οƒ_g(p): \mathfrak g β†’ \mathfrak g$, where we use the short hand notation $Οƒ_p(g) = Οƒ(g,p)$ for a left action, and for a right action $Οƒ_p(g) = Οƒ(p, g)$.

source
LieGroups.switch β€” Method
switch(T::AbstractGroupActionType)

Return the object representing an AbstractGroupActionType related to a group operation action that switched the side, that is it turns a left action type into its corresponding right action type.

source
LieGroups.switch β€” Method
 switch(A::GroupAction{T})

Return the group operation action representing the similar GroupAction of AbstractGroupActionType T but acting from the other side. It switches left to right and vice versa. This is done by returning the group action with the β€œswitched” type of T.

source
Manifolds.apply! β€” Method
apply(A::GroupAction{T, L, M}, g, p)
apply!(A::GroupAction{T, L, M}, q, g, p)

Apply the group action induced by $g ∈ \mathcal G$ to $p ∈ \mathcal M$, where the kind of group action is indicated by the AbstractGroupActionType T. This can be performed in-place of q.

source
Manifolds.apply β€” Method
apply(A::GroupAction{T, L, M}, g, p)
apply!(A::GroupAction{T, L, M}, q, g, p)

Apply the group action induced by $g ∈ \mathcal G$ to $p ∈ \mathcal M$, where the kind of group action is indicated by the AbstractGroupActionType T. This can be performed in-place of q.

source

Generic Lie group actions

LieGroups.InverseLeftGroupOperationAction β€” Type
InverseLeftGroupOperationAction <: AbstractRightGroupActionType

A type for the AbstractLeftGroupActionType when acting on the group itself given by the inverse of a LeftGroupOperationAction $Οƒ_h$ as

\[Ο„_h(g) \coloneqq Οƒ_h^{-1}(g) = Οƒ(h^{-1},g) = h^{-1}∘g\]

Note that while in naming it is the inverse of the left action, it's properties yield that is is an AbstractRightGroupActionType, since

\[Ο„_g(Ο„_h(p)) = Οƒ^{\mathrm{L}}_{g^{-1}}(Οƒ^{\mathrm{L}}_{h^{-1}}(p)) = Οƒ^{\mathrm{L}}_{g^{-1}h^{-1}}(p) = Οƒ^{\mathrm{L}}_{(hg)^{-1}}(p) Ο„_{hg}(p).\]

for its inverse $(Οƒ_h)^{-1}$ see InverseLeftGroupOperationAction.

Note

Some literature also calls this by itself the right group operation action.

source
LieGroups.InverseRightGroupOperationAction β€” Type
InverseRightGroupOperationAction <: AbstractLeftGroupActionType

A type for the AbstractLeftGroupActionType when acting on the group itself given by the inverse of a RightGroupOperationAction $Οƒ_h$ as

\[Ο„_h(g) \coloneqq Οƒ_h^{-1}(g) = Οƒ(h^{-1},g) = g∘h^{-1}\]

Note that while in naming it is the inverse of the right action, it's properties yield that is is an AbstractLeftGroupActionType, since

\[Ο„_g(Ο„_h(p)) = Οƒ^{\mathrm{R}}_{g^{-1}}(Οƒ^{\mathrm{R}}_{h^{-1}}(p)) = Οƒ^{\mathrm{R}}_{h^{-1}g^{-1}}(p) = Οƒ^{\mathrm{R}}_{(gh)^{-1}}(p) Ο„_{gh}(p).\]

for its inverse $(Οƒ_h)^{-1}$ see InverseLeftGroupOperationAction.

source

Literature

[HN12]
J.Β Hilgert and K.-H.Β Neeb. Structure and Geometry of Lie Groups (Springer Monographs in Mathematics, 2012).