Diffeomorphisms #
This file implements diffeomorphisms.
Definitions #
Diffeomorph I I' M M' n:n-times continuously differentiable diffeomorphism betweenMandM'with respect to I and I'; we do not introduce a separate definition for the casen = ∞; we use notation instead.Diffeomorph.toHomeomorph: reinterpret a diffeomorphism as a homeomorphism.ContinuousLinearEquiv.toDiffeomorph: reinterpret a continuous equivalence as a diffeomorphism.ModelWithCorners.transDiffeomorph: compose a givenModelWithCornerswith a diffeomorphism between the old and the new target spaces. Useful, e.g, to turn any finite dimensional manifold into a manifold modelled on a Euclidean space.Diffeomorph.toTransDiffeomorph: the identity diffeomorphism betweenMwith modelIandMwith modelI.trans_diffeomorph e.
Notations #
M ≃ₘ^n⟮I, I'⟯ M':=Diffeomorph I J M N nM ≃ₘ⟮I, I'⟯ M':=Diffeomorph I J M N ⊤E ≃ₘ^n[𝕜] E':=E ≃ₘ^n⟮𝓘(𝕜, E), 𝓘(𝕜, E')⟯ E'E ≃ₘ[𝕜] E':=E ≃ₘ⟮𝓘(𝕜, E), 𝓘(𝕜, E')⟯ E'
Implementation notes #
This notion of diffeomorphism is needed although there is already a notion of structomorphism
because structomorphisms do not allow the model spaces H and H' of the two manifolds to be
different, i.e. for a structomorphism one has to impose H = H' which is often not the case in
practice.
Keywords #
diffeomorphism, manifold
n-times continuously differentiable diffeomorphism between M and M' with respect to I
and I'.
- toFun : M → M'
- invFun : M' → M
- left_inv : Function.LeftInverse self.invFun self.toFun
- right_inv : Function.RightInverse self.invFun self.toFun
- contMDiff_toFun : ContMDiff I I' n ⇑self.toEquiv
- contMDiff_invFun : ContMDiff I' I n ⇑self.symm
Instances For
n-times continuously differentiable diffeomorphism between M and M' with respect to I
and I'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Infinitely differentiable diffeomorphism between M and M' with respect to I and I'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
n-times continuously differentiable diffeomorphism between E and E'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Infinitely differentiable diffeomorphism between E and E'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Interpret a diffeomorphism as a ContMDiffMap.
Equations
- ↑Φ = { val := ⇑Φ, property := ⋯ }
Instances For
Equations
- Diffeomorph.instCoeDiffeomorphContMDiffMap = { coe := Diffeomorph.toContMDiffMap }
Coercion to function fun h : M ≃ₘ^n⟮I, I'⟯ M' ↦ (h : M → M') is injective.
Equations
- ⋯ = ⋯
Identity map as a diffeomorphism.
Equations
- Diffeomorph.refl I M n = { toEquiv := Equiv.refl M, contMDiff_toFun := ⋯, contMDiff_invFun := ⋯ }
Instances For
Composition of two diffeomorphisms.
Equations
- Diffeomorph.trans h₁ h₂ = { toEquiv := h₁.trans h₂.toEquiv, contMDiff_toFun := ⋯, contMDiff_invFun := ⋯ }
Instances For
Inverse of a diffeomorphism.
Equations
- Diffeomorph.symm h = { toEquiv := h.symm, contMDiff_toFun := ⋯, contMDiff_invFun := ⋯ }
Instances For
A diffeomorphism is a homeomorphism.
Equations
- Diffeomorph.toHomeomorph h = { toEquiv := h.toEquiv, continuous_toFun := ⋯, continuous_invFun := ⋯ }
Instances For
Product of two diffeomorphisms.
Equations
- Diffeomorph.prodCongr h₁ h₂ = { toEquiv := Equiv.prodCongr h₁.toEquiv h₂.toEquiv, contMDiff_toFun := ⋯, contMDiff_invFun := ⋯ }
Instances For
M × N is diffeomorphic to N × M.
Equations
- Diffeomorph.prodComm I J M N n = { toEquiv := Equiv.prodComm M N, contMDiff_toFun := ⋯, contMDiff_invFun := ⋯ }
Instances For
(M × N) × N' is diffeomorphic to M × (N × N').
Equations
- Diffeomorph.prodAssoc I J J' M N N' n = { toEquiv := Equiv.prodAssoc M N N', contMDiff_toFun := ⋯, contMDiff_invFun := ⋯ }
Instances For
A continuous linear equivalence between normed spaces is a diffeomorphism.
Equations
- ContinuousLinearEquiv.toDiffeomorph e = { toEquiv := LinearEquiv.toEquiv e.toLinearEquiv, contMDiff_toFun := ⋯, contMDiff_invFun := ⋯ }
Instances For
Apply a diffeomorphism (e.g., a continuous linear equivalence) to the model vector space.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
The identity diffeomorphism between a manifold with model I and the same manifold
with model I.trans_diffeomorph e.
Equations
- Diffeomorph.toTransDiffeomorph I M e = { toEquiv := Equiv.refl M, contMDiff_toFun := ⋯, contMDiff_invFun := ⋯ }