Documentation

TauCeti.Geometry.Manifold.DifferentialForm.Chart

Change of chart for rough differential forms #

The coordinate expression of a rough form in two overlapping preferred charts is related by the pullback along the coordinate change. Exterior differentiation within a manifold subset obeys the same transport law, provided the subset has unique derivatives and accumulates from its interior at the point. Consequently, reading mextDerivWithin in any preferred chart gives the flat exterior derivative of the coordinate expression. These identities allow naturality and iteration of the exterior derivative to be checked in a fixed chart, including at boundary and corner points. The unrestricted results are the specializations to the whole manifold.

The transport uses Mathlib's extDerivWithin_pullback, localized to the chart overlap.

References #

theorem TauCeti.RoughForm.inChartAt_chart_apply {E : Type u_1} {H : Type u_2} {M : Type u_3} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] {I : ModelWithCorners ℝ E H} [TopologicalSpace M] [ChartedSpace H M] [NormedAddCommGroup F] [NormedSpace ℝ F] {k : ℕ} [IsManifold I 1 M] (φ : RoughForm I M F k) (α : M) {x : M} (hx : x ∈ (extChartAt I α).source) (v : Fin k → E) :
(φ.inChartAt α (↑(extChartAt I α) x)) v = (φ x) fun (i : Fin k) => (tangentCoordChange I α x x) (v i)

Evaluating a chart expression at a chart image transports each argument through the actual tangent coordinate change.

theorem TauCeti.RoughForm.inChartAt_chart_eq_iff {E : Type u_1} {H : Type u_2} {M : Type u_3} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] {I : ModelWithCorners ℝ E H} [TopologicalSpace M] [ChartedSpace H M] [NormedAddCommGroup F] [NormedSpace ℝ F] {k : ℕ} [IsManifold I 1 M] {φ η : RoughForm I M F k} {α x : M} (hx : x ∈ (extChartAt I α).source) :
φ.inChartAt α (↑(extChartAt I α) x) = η.inChartAt α (↑(extChartAt I α) x) ↔ φ x = η x

Two rough forms have the same coordinate expression at the chart image of a point of the chart source exactly when they agree at that point.

theorem TauCeti.RoughForm.inChartAt_eq_compContinuousLinearMap {E : Type u_1} {H : Type u_2} {M : Type u_3} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] {I : ModelWithCorners ℝ E H} [TopologicalSpace M] [ChartedSpace H M] [NormedAddCommGroup F] [NormedSpace ℝ F] {k : ℕ} [IsManifold I 1 M] (φ : RoughForm I M F k) {x₀ x : M} {z : E} (hz : z ∈ (extChartAt I x₀).target) (hx : ↑(extChartAt I x₀).symm z ∈ (extChartAt I x).source) :
φ.inChartAt x₀ z = (φ.inChartAt x (↑(extChartAt I x) (↑(extChartAt I x₀).symm z))).compContinuousLinearMap (fderivWithin ℝ (↑(extChartAt I x) ∘ ↑(extChartAt I x₀).symm) (Set.range ↑I) z)

On an overlap of two preferred charts, a rough form read in the first chart is the pullback of its expression in the second chart by the coordinate change.

theorem TauCeti.RoughForm.extDerivWithin_inChartAt_set_eq {E : Type u_1} {H : Type u_2} {M : Type u_3} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] {I : ModelWithCorners ℝ E H} [TopologicalSpace M] [ChartedSpace H M] [NormedAddCommGroup F] [NormedSpace ℝ F] {k : ℕ} [IsManifold I 2 M] (φ : RoughForm I M F k) {s : Set M} (hs : UniqueMDiff[s]) {x₀ x : M} {z : E} (hz : z ∈ (extChartAt I x₀).target) (hx : ↑(extChartAt I x₀).symm z ∈ (extChartAt I x).source) (hys : ↑(extChartAt I x₀).symm z ∈ s) (hyc : ↑(extChartAt I x₀).symm z ∈ closure (interior s)) (hφ : DifferentiableWithinAt ℝ (φ.inChartAt x) (↑(extChartAt I x).symm ⁻¹' s ∩ Set.range ↑I) (↑(extChartAt I x) (↑(extChartAt I x₀).symm z))) :
extDerivWithin (φ.inChartAt x₀) (↑(extChartAt I x₀).symm ⁻¹' s ∩ Set.range ↑I) z = (extDerivWithin (φ.inChartAt x) (↑(extChartAt I x).symm ⁻¹' s ∩ Set.range ↑I) (↑(extChartAt I x) (↑(extChartAt I x₀).symm z))).compContinuousLinearMap (fderivWithin ℝ (↑(extChartAt I x) ∘ ↑(extChartAt I x₀).symm) (Set.range ↑I) z)

Change of preferred chart for exterior differentiation within a manifold subset. The subset has unique derivatives and accumulates from its interior at the point; it need not be open. The derivative of the coordinate change is taken within the full model range.

theorem TauCeti.RoughForm.differentiableWithinAt_inChartAt_of_differentiableWithinAt_inChartAt {E : Type u_1} {H : Type u_2} {M : Type u_3} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] {I : ModelWithCorners ℝ E H} [TopologicalSpace M] [ChartedSpace H M] [NormedAddCommGroup F] [NormedSpace ℝ F] {k : ℕ} [IsManifold I 2 M] (φ : RoughForm I M F k) {x₀ x : M} {z : E} (hz : z ∈ (extChartAt I x₀).target) (hx : ↑(extChartAt I x₀).symm z ∈ (extChartAt I x).source) (hφ : DifferentiableWithinAt ℝ (φ.inChartAt x₀) (Set.range ↑I) z) :
DifferentiableWithinAt ℝ (φ.inChartAt x) (Set.range ↑I) (↑(extChartAt I x) (↑(extChartAt I x₀).symm z))

If the coordinate expression of a rough form in the preferred chart at x₀ is differentiable within the model range at a chart point z, then so is its expression in the preferred chart at any x whose source contains the corresponding point of the manifold: by the change of chart, the second expression is the pullback of the first by a C² coordinate change.

theorem TauCeti.RoughForm.extDerivWithin_inChartAt_eq {E : Type u_1} {H : Type u_2} {M : Type u_3} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] {I : ModelWithCorners ℝ E H} [TopologicalSpace M] [ChartedSpace H M] [NormedAddCommGroup F] [NormedSpace ℝ F] {k : ℕ} [IsManifold I 2 M] (φ : RoughForm I M F k) {x₀ x : M} {z : E} (hz : z ∈ (extChartAt I x₀).target) (hx : ↑(extChartAt I x₀).symm z ∈ (extChartAt I x).source) :
extDerivWithin (φ.inChartAt x₀) (Set.range ↑I) z = (extDerivWithin (φ.inChartAt x) (Set.range ↑I) (↑(extChartAt I x) (↑(extChartAt I x₀).symm z))).compContinuousLinearMap (fderivWithin ℝ (↑(extChartAt I x) ∘ ↑(extChartAt I x₀).symm) (Set.range ↑I) z)

The exterior derivative of a rough form's coordinate expression is transported by a change of preferred chart. This is the chart-independence statement behind mextDerivWithin. Where the expression is not differentiable in either chart, both sides are zero.

theorem TauCeti.RoughForm.inChartAt_mextDerivWithin {E : Type u_1} {H : Type u_2} {M : Type u_3} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] {I : ModelWithCorners ℝ E H} [TopologicalSpace M] [ChartedSpace H M] [NormedAddCommGroup F] [NormedSpace ℝ F] {k : ℕ} [IsManifold I 2 M] (φ : RoughForm I M F k) {s : Set M} (hs : UniqueMDiff[s]) {x₀ : M} {z : E} (hz : z ∈ (extChartAt I x₀).target) (hys : ↑(extChartAt I x₀).symm z ∈ s) (hyc : ↑(extChartAt I x₀).symm z ∈ closure (interior s)) (hφ : DifferentiableWithinAt ℝ (φ.inChartAt (↑(extChartAt I x₀).symm z)) (↑(extChartAt I (↑(extChartAt I x₀).symm z)).symm ⁻¹' s ∩ Set.range ↑I) (↑(extChartAt I (↑(extChartAt I x₀).symm z)) (↑(extChartAt I x₀).symm z))) :
inChartAt (mextDerivWithin φ s) x₀ z = extDerivWithin (φ.inChartAt x₀) (↑(extChartAt I x₀).symm ⁻¹' s ∩ Set.range ↑I) z

Reading the manifold exterior derivative within a subset in any preferred chart gives the flat exterior derivative of the coordinate expression within the corresponding coordinate set. Only differentiability in the chart centred at the point is needed.

theorem TauCeti.RoughForm.inChartAt_mextDeriv {E : Type u_1} {H : Type u_2} {M : Type u_3} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] {I : ModelWithCorners ℝ E H} [TopologicalSpace M] [ChartedSpace H M] [NormedAddCommGroup F] [NormedSpace ℝ F] {k : ℕ} [IsManifold I 2 M] (φ : RoughForm I M F k) {x₀ : M} {z : E} (hz : z ∈ (extChartAt I x₀).target) (hφ : DifferentiableWithinAt ℝ (φ.inChartAt (↑(extChartAt I x₀).symm z)) (Set.range ↑I) (↑(extChartAt I (↑(extChartAt I x₀).symm z)) (↑(extChartAt I x₀).symm z))) :
(mextDeriv φ).inChartAt x₀ z = extDerivWithin (φ.inChartAt x₀) (Set.range ↑I) z

Reading the exterior derivative in any preferred chart gives the flat exterior derivative within the model range. This includes boundary and corner chart points.

theorem TauCeti.RoughForm.inChartAt_apply_basis_eq_det_mul {E : Type u_1} {H : Type u_2} {M : Type u_3} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] {I : ModelWithCorners ℝ E H} [TopologicalSpace M] [ChartedSpace H M] {k : ℕ} [IsManifold I 1 M] (φ : RoughForm I M ℝ k) (b : Module.Basis (Fin k) ℝ E) {x₀ x : M} {z : E} (hz : z ∈ (extChartAt I x₀).target) (hx : ↑(extChartAt I x₀).symm z ∈ (extChartAt I x).source) :
(φ.inChartAt x₀ z) ⇑b = LinearMap.det ↑(fderivWithin ℝ (↑(extChartAt I x) ∘ ↑(extChartAt I x₀).symm) (Set.range ↑I) z) * (φ.inChartAt x (↑(extChartAt I x) (↑(extChartAt I x₀).symm z))) ⇑b

The scalar coefficient of a manifold top form transforms by the signed Jacobian between preferred charts, including derivatives taken within the model range at the boundary.