Documentation

Hironaka.Manifold.Jacobian.Analytic

The Jacobian determinant of an analytic map in charts is analytic #

Bierstone–Milman's Jacobian clause speaks of "the ideal generated (locally, with respect to any coordinate system) by the Jacobian determinant" of the blow-down BM97, Theorem 1.10, the sentence after it; for the ideal to make sense the Jacobian determinant of an analytic map, read in charts, must be an analytic function. This module proves it, from three elementary facts.

Then jacobianFun π•œ f Ο‡ Ο†' = (det ∘ D(Ο‡ ∘ f ∘ Ο†'⁻¹)) ∘ Ο†' is C^Ο‰ on Ο†'.source ∩ f⁻¹(Ο‡.source) (contMDiffOn_jacobianFun). Two small identities on determinants complete the module: det (A ∘ B) = det A * det B for continuous linear maps (det_clm_comp, Mathlib's LinearMap.det_comp through the coercion) and the chain rule for a left inverse det (Dg'(g x)) * det (Dg x) = 1 (det_fderiv_mul_det_fderiv_eq_one).

The three calculus lemmas det_clm_comp, contDiff_det and contDiffOn_det_fderiv are proved in Hironaka/Analytic/Calculus/Det.lean (namespace Hironaka.Analytic), where the Hironaka library's analyticOnNhd_det_fderiv joins them; the three names below are one-line restatements kept with their original signatures for the chart lemmas of this directory.

theorem Manifold.det_clm_comp {π•œ : Type} [RCLike π•œ] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace π•œ E] (A B : E β†’L[π•œ] E) :
(A ∘SL B).det = A.det * B.det

The determinant of a composite of continuous linear maps is the product of the determinants (Mathlib's LinearMap.det_comp through the coercion E β†’L[π•œ] E β†’ E β†’β‚—[π•œ] E).

theorem Manifold.contDiff_det {π•œ : Type} [RCLike π•œ] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace π•œ E] {n : WithTop β„•βˆž} :
ContDiff π•œ n fun (L : E β†’L[π•œ] E) => L.det

The determinant is analytic on E β†’L[π•œ] E: a restatement of Analytic.contDiff_det (Hironaka/Analytic/Calculus/Det.lean) under the name the chart lemmas use.

theorem Manifold.contDiffOn_det_fderiv {π•œ : Type} [RCLike π•œ] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace π•œ E] {F : E β†’ E} {s : Set E} (hF : ContDiffOn π•œ ⊀ F s) (hs : IsOpen s) :
ContDiffOn π•œ ⊀ (fun (x : E) => (fderiv π•œ F x).det) s

x ↦ det (DF x) is C^Ο‰ on an open set on which F is C^Ο‰: a restatement of Analytic.contDiffOn_det_fderiv (Hironaka/Analytic/Calculus/Det.lean) under the name the chart lemmas use.

theorem Manifold.det_fderiv_mul_det_fderiv_eq_one {π•œ : Type} [RCLike π•œ] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace π•œ E] {g g' : E β†’ E} {V : Set E} (hV : IsOpen V) {x : E} (hx : x ∈ V) (hg : DifferentiableAt π•œ g x) (hg' : DifferentiableAt π•œ g' (g x)) (hgg' : βˆ€ y ∈ V, g' (g y) = y) :
(fderiv π•œ g' (g x)).det * (fderiv π•œ g x).det = 1

Chain rule for a left inverse: if g' ∘ g = id on an open neighbourhood of x then det (Dg'(g x)) * det (Dg x) = 1 (the model-space case Fin n β†’ π•œ is fderiv_comp_fderiv_eq_id of Hironaka/Manifold/BlowUp/Lift.lean).

theorem Manifold.isOpen_target_inter_preimage_symm {E : Type u_1} [TopologicalSpace E] {M : Type u} [TopologicalSpace M] (Ο‡ : OpenPartialHomeomorph M E) {s : Set M} (hs : IsOpen s) :
IsOpen (Ο‡.target ∩ ↑χ.symm ⁻¹' s)

Ο‡.target ∩ χ⁻¹(s) is open for s open.

theorem Manifold.mapsTo_chart_target_inter {E : Type u_1} [TopologicalSpace E] {M : Type u} [TopologicalSpace M] {N : Type u} [TopologicalSpace N] {f : N β†’ M} (Ο‡ : OpenPartialHomeomorph M E) (Ο†' : OpenPartialHomeomorph N E) :
Set.MapsTo (↑φ') (Ο†'.source ∩ f ⁻¹' Ο‡.source) (Ο†'.target ∩ ↑φ'.symm ⁻¹' f ⁻¹' Ο‡.source)

The chart Ο†' maps Ο†'.source ∩ f⁻¹(Ο‡.source) into Ο†'.target ∩ Ο†'⁻¹(f⁻¹(Ο‡.source)).

theorem Manifold.contDiffOn_chartRep {π•œ : Type} [RCLike π•œ] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace π•œ E] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {N : Type u} [TopologicalSpace N] [ChartedSpace E N] {f : N β†’ M} (hf : ContMDiff (modelWithCornersSelf π•œ E) (modelWithCornersSelf π•œ E) ⊀ f) {Ο‡ : OpenPartialHomeomorph M E} (hΟ‡ : Ο‡ ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ M) {Ο†' : OpenPartialHomeomorph N E} (hΟ†' : Ο†' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ N) :
ContDiffOn π•œ ⊀ (↑χ ∘ f ∘ ↑φ'.symm) (Ο†'.target ∩ ↑φ'.symm ⁻¹' f ⁻¹' Ο‡.source)

The chart representative Ο‡ ∘ f ∘ Ο†'⁻¹ of an analytic map f is C^Ο‰ on Ο†'.target ∩ Ο†'⁻¹(f⁻¹(Ο‡.source)), for charts Ο‡, Ο†' of the maximal atlases.

theorem Manifold.contMDiffOn_jacobianFun {π•œ : Type} [RCLike π•œ] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace π•œ E] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {N : Type u} [TopologicalSpace N] [ChartedSpace E N] {f : N β†’ M} (hf : ContMDiff (modelWithCornersSelf π•œ E) (modelWithCornersSelf π•œ E) ⊀ f) {Ο‡ : OpenPartialHomeomorph M E} (hΟ‡ : Ο‡ ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ M) {Ο†' : OpenPartialHomeomorph N E} (hΟ†' : Ο†' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ N) :
ContMDiffOn (modelWithCornersSelf π•œ E) (modelWithCornersSelf π•œ π•œ) ⊀ (jacobianFun π•œ f Ο‡ Ο†') (Ο†'.source ∩ f ⁻¹' Ο‡.source)

The Jacobian determinant of an analytic map f in charts Ο‡ of the target and Ο†' of the source is analytic on the common domain Ο†'.source ∩ f⁻¹(Ο‡.source): it is (det ∘ D(Ο‡ ∘ f ∘ Ο†'⁻¹)) ∘ Ο†', the composite of the analytic chart with the analytic function det ∘ DF of the analytic chart representative F ([BM97, Theorem 1.10, the sentence after it]: "the ideal generated … by the Jacobian determinant").