Cⁿ monoid actions #
In this file we define Cⁿ actions (e.g. by Lie groups or monoids) on manifolds: we say
ContMDiffSMul I I' n G M if G acts multiplicatively on M and the action map
fun p : G × M ↦ p.1 • p.2 is Cⁿ. We also provide API for additive actions using @[to_additive].
We also define ContMDiffConstSMul I n Γ M, stating that for each γ : Γ, the map
fun x : M ↦ γ • x is Cⁿ. Unlike ContMDiffSMul, this requires no topology or charted space
structure on Γ, so it applies for example to actions of discrete groups by Cⁿ maps, such as the
properly discontinuous actions used to construct quotient manifolds.
TODO: For actions of Lie groups the two classes are close: a continuous action of a Lie group G on
a finite-dimensional manifold M is C^n provided it is C^n in the second variable.)
We also provide ContMDiffSMul instances for scalar multiplication in normed spaces and for
the action of the monoid E →L[𝕜] E of continuous linear maps on any normed space E.
For a group G acting smoothly on M, we define Diffeomorph.smul, scalar multiplication by a
fixed g : G as a diffeomorphism of M (in analogy to Homeomorph.smul).
See also:
ContMDiffMul I n Gfor continuous differentiability of multiplicationG × G → Gin a single typeG,ContinuousSMul G Mfor continuity of an actionG × M → M,ContinuousConstSMul Γ Mfor continuity offun x ↦ γ • xfor eachγ : Γ.
Basic typeclass stating that the additive action of G on M is Cⁿ as a function G × M → M.
Unlike with ContMDiffAdd (the class stating that addition G × G → G within a single type G is
Cⁿ), we do not extend IsManifold because ContMDiffVAdd contains more
explicit arguments than IsManifold and so ContMDiffVAdd.toIsManifold could not be an instance
anyway: this means that in order for ContMDiffVAdd to be meaningful, smoothness of G and M
have to be required separately. For example, to state that G is a Cⁿ additive Lie group with a Cⁿ
additive action on a Cⁿ manifold M, one can use the typeclasses
[LieAddGroup I n G] [IsManifold I' n M] [ContMDiffVAdd I I' n G M].
Instances
Basic typeclass stating that the action of G on M is Cⁿ as a function G × M → M.
Unlike with ContMDiffMul (the class stating that multiplication G × G → G within a single type
G is Cⁿ), we do not extend IsManifold because ContMDiffSMul contains more
explicit arguments than IsManifold and so ContMDiffSMul.toIsManifold could not be an instance
anyway: this means that in order for ContMDiffSMul to be meaningful, smoothness of G and M
have to be required separately. For example, to state that G is a Cⁿ Lie group with a Cⁿ action on
a Cⁿ manifold M, one can use the typeclasses
[LieGroup I n G] [IsManifold I' n M] [ContMDiffSMul I I' n G M].
Instances
Typeclass stating that for each γ : Γ, the additive action fun x : M ↦ γ +ᵥ x is Cⁿ.
Unlike ContMDiffVAdd (which requires the action to be Cⁿ jointly as a map Γ × M → M), no
topology or manifold structure on Γ is required, so this class also covers additive actions of
discrete groups by Cⁿ maps.
For each
γ : Γ, the mapfun x : M ↦ γ +ᵥ xis Cⁿ.
Instances
Typeclass stating that for each γ : Γ, the scalar multiplication fun x : M ↦ γ • x is Cⁿ.
Unlike ContMDiffSMul (which requires the action to be Cⁿ jointly as a map Γ × M → M), no
topology or manifold structure on Γ is required, so this class also covers actions of discrete
groups by Cⁿ maps, e.g. the properly discontinuous actions used to construct quotient manifolds.
For each
γ : Γ, the mapfun x : M ↦ γ • xis Cⁿ.
Instances
If an action is Cⁿ for some n, it is also continuous. This has to be a theorem instead of an
instance because ContMDiffSMul depends on parameters I, I' and n that ContinuousSMul
doesn't.
For any G in which multiplication is Cⁿ, the action of G on itself via left multiplication
is Cⁿ too.
If G acts continuously differentiably on G' and G' acts continuously differentiably on
M, then G acts continuously differentiably on M.
If an action is continuously differentiable, then post-composing this action with a continuously differentiable homomorphism gives again a continuously differentiable action.
The scalar multiplication 𝕜 × E → E of any normed vector space E over 𝕜 is smooth.
The monoid E →L[𝕜] E of continuous linear endomorphisms of E acts smoothly on E.
If an action is Cⁿ for some n, it is also continuous. This has to be a theorem instead of an
instance because ContMDiffConstSMul depends on parameters I and n that ContinuousConstSMul
doesn't.
If the action on M by any element of Γ' is continuously differentiable, and Γ acts on Γ'
such that Γ, Γ' and M form a scalar tower, then the induced action on M by any element of
Γ is continuously differentiable as well.
If the action on M by any element of Γ is continuously differentiable, then post-composing
this action with any homomorphism f : Γ' →* Γ makes again the action on M by any element of Γ'
continuously differentiable .
The diffeomorphism given by scalar multiplication by an element of a group G acting
Cⁿ-differentiably on a manifold M is a diffeomorphism from M to itself. Its inverse is scalar
multiplication by g⁻¹.
Equations
- Diffeomorph.smul I I' n g = { toEquiv := MulAction.toPerm g, contMDiff_toFun := ⋯, contMDiff_invFun := ⋯ }
Instances For
The diffeomorphism given by affine-addition of an element of an additive group G acting
Cⁿ-differentiably on a manifold M is a diffeomorphism from M to itself. Its inverse is
addition of -g.
Equations
- Diffeomorph.vadd I I' n g = { toEquiv := AddAction.toPerm g, contMDiff_toFun := ⋯, contMDiff_invFun := ⋯ }