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 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.
See also:
ContMDiffMul I n Gfor continuous differentiability of multiplicationG × G → Gin a single typeG,ContinuousSMul G Mfor continuity of an actionG × M → M.
Unlike for continuous actions, we do not currently have a class ContMDiffConstSMul. If there are
interesting examples satisfying ContMDiffConstSMul but not ContMDiffSMul, this can be added
later. (Note that such examples may be harder to find: in fact, 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.)
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
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.