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 AbstractLieGroup $\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 AbstractLieGroup $\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.

When writing about general group actions, the symbol $Ξ±$ is often used. The order of arguments then follows the same as the one of the left action. Most often we use the index notation $Ξ±_g(p)$. The definition of functions also follows this notation, i.e. we use e.g. apply(A, g, p)

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

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

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

A type representing a (smooth) group action $Ο„: \mathcal M Γ— \mathcal G β†’ \mathcal M$ of a AbstractLieGroup $\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 AbstractLieGroup $\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.

When writing about general group actions, the symbol $Ξ±$ is often used. In that case the order of arguments follows either the one from the left action, but most often we use the index notation. The definition of functions also follows this notation, i.e. we use e.g. apply(A, g, p)

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

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

source
LieGroups.ActionActsOnLeft β€” Type
ActionActsOnLeft <: AbstractActionActsOnType

An AbstractActionActsOnType representing that an action acts on the left.

This is meant in the following way: Given a GroupAction $Ξ±: \mathcal G Γ— \mathcal H β†’ \mathcal H$ where a Lie group $\mathcal G$ acts on another Lie group $\mathcal H$ with an arbitrary action.

Then, e.g. within the definition of the LeftSemidirectProductGroupOperation or RightSemidirectProductGroupOperation, we have two choices where the group action $α$ acts on, namely: Let $g ∈ \mathcal G$ and $h_1,h_2 ∈ \mathcal H$ be given, then this type represents the variant

\[Ξ±_g(h_1) β‹… h_2,\]

where $β‹…$ denotes the group operation on $\mathcal H$. The Left in the name of this type refers to the fact that the action is applied to the left element $h_1$.

Note that this is independent of both the type of action (left or right) and whether the semidirect product is a left or a right semidirect one.

For its practical use see the SemidirectProductGroupOperation.

source
LieGroups.ActionActsOnRight β€” Type
ActionActsOnRight <: AbstractActionActsOnType

An AbstractActionActsOnType representing that an action acts on the right.

This is meant in the following way: Given a GroupAction $Ξ±: \mathcal G Γ— \mathcal H β†’ \mathcal H$ where a Lie group $\mathcal G$ acts on another Lie group $\mathcal H$ with an arbitrary action.

Then, e.g. within the definition of the LeftSemidirectProductGroupOperation or RightSemidirectProductGroupOperation, we have two choices where the group action $α$ acts on, namely: Let $g ∈ \mathcal G$ and $h_1,h_2 ∈ \mathcal H$ be given, then this type represents the variant

\[h_1 β‹… Ξ±_g(h_2),\]

where $β‹…$ denotes the group operation on $\mathcal H$. The Right in the name of this type refers to the fact that the action is applied to the right element $h_2$.

Note that this is independent of both the type of action (left or right) and whether the semidirect product is a left or a right semidirect one.

For its practical use see the SemidirectProductGroupOperation.

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

Specify a group action of AbstractGroupActionType T of a AbstractLieGroup G acting on an AbstractManifold M.

Let $\mathcal M$ be a AbstractManifold and $\mathcal G$ be a AbstractLieGroup 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

Identity. $α(\mathrm{e}, p) = p$ holds for all $p ∈ \mathcal M$

Compatibility. If $Ξ±$ is a $AbstractLeftGroupActionType$ we usually denote it by $Οƒ$ and the compatibility reads

\[Οƒ_g(Οƒ_h(p)) = Οƒ_{g∘h}(p) \text{ holds for all} g,h ∈ \mathcal G \text{ and} p ∈ \mathcal M\]

If $Ξ±$ is a $AbstractRightGroupActionType$ we usually denote it by $Ο„$ and the compatibility reads

\[Ο„_g(Ο„_h(p)) = Ο„_{h∘g}(p)`` holds for all ``g,h ∈ \mathcal G \text{ for all} p ∈ \mathcal M\]

intuitively the left/right property of an action specifies on which side the β€œouter” group actions element $g$ gets β€œappended” in the composition.

Fields

See [HN12, Section 9.1.3] for more details.

Constructors

GroupAction(
    group::AbstractLieGroup, manifold::ManifoldsBase.AbstractManifold, type::AbstractGroupActionType
)

Generate a group action where the type of the action and what it acts on are keyword arguments. They default to the most common choice, that the ActionActsOnRight.

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.default_left_action β€” Method
default_left_action(G::AbstractLieGroup, M::AbstractManifold)

Return the default left action for a Lie group G acting on a manifold M.

source
LieGroups.default_right_action β€” Method
default_right_action(G::AbstractLieGroup, M::AbstractManifold)

Return the default right action for a Lie group G acting on a manifold M.

source
LieGroups.diff_apply! β€” Method
diff_apply(A::GroupAction, g, p, X)
diff_apply!(A::GroupAction, Y, g, p, X)

Compute the differential $\mathrm{D}_p Ξ±_g(p): T_p\mathcal M β†’ T_{Οƒ_g(p)}\mathcal M$.

source
LieGroups.diff_apply β€” Method
diff_apply(A::GroupAction, g, p, X)
diff_apply!(A::GroupAction, Y, g, p, X)

Compute the differential $\mathrm{D}_p Ξ±_g(p): T_p\mathcal M β†’ T_{Οƒ_g(p)}\mathcal M$.

source
LieGroups.diff_group_apply! β€” Method
diff_group_apply(A::GroupAction, g, p, X)
diff_group_apply!(A::GroupAction, Y, g, p, X)

Compute the differential $\mathrm{d}_{\mathcal 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) = Ο„(g,p)$.

source
LieGroups.diff_group_apply β€” Method
diff_group_apply(A::GroupAction, g, p, X)
diff_group_apply!(A::GroupAction, Y, g, p, X)

Compute the differential $\mathrm{d}_{\mathcal 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) = Ο„(g,p)$.

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}, g, p)
apply!(A::GroupAction{T}, 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}, g, p)
apply!(A::GroupAction{T}, 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)) = Οƒ_{g^{-1}}(Οƒ_{h^{-1}}(p)) = Οƒ_{g^{-1}h^{-1}}(p) = Οƒ_{(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)) = Ο„_{g^{-1}}(Ο„_{h^{-1}}(p)) = Ο„_{h^{-1}g^{-1}}(p) = Ο„_{(gh)^{-1}}(p) Οƒ_{gh}(p).\]

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

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

Specify that in a GroupAction with Lie group $\mathcal G$ and manifold $\mathcal M$, the group action is given by multiplication from the left:

Given an element $g ∈ \mathcal G$ and a point $p ∈ \mathcal M$, the family of actions $Οƒ_g: \mathcal M β†’ \mathcal M$ is given by

\[Οƒ_g(p) = g*p\]

where $*$ denotes the matrix(-vector) multiplication.

source

Literature

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