Documentation

Hironaka.Manifold.Jacobian.Units

Chart independence of the Jacobian determinant up to units #

Bierstone–Milman's Jacobian ideal is "the ideal generated (locally, with respect to any coordinate system) by the Jacobian determinant" [BM97, Theorem 1.10, the sentence after it]: the Jacobian determinant of an analytic map f in two chart pairs differs by an analytic unit, so the ideal it generates in π’ͺ_{M',a'} does not depend on the charts, and the stalks of the Jacobian ideal have local generators.

@[reducible, inline]
abbrev Manifold.chartPairDomain {E : Type u_1} [NormedAddCommGroup E] {M : Type u} [TopologicalSpace M] {N : Type u} [TopologicalSpace N] (f : N β†’ M) (Ο‡ Ο‡' : OpenPartialHomeomorph M E) (Ο†' Ο†'' : OpenPartialHomeomorph N E) :
Set N

The common domain of two chart pairs: Ο†'.source ∩ Ο†''.source ∩ f⁻¹(Ο‡.source ∩ Ο‡'.source).

Equations
Instances For
    theorem Manifold.isOpen_chartPairDomain {π•œ : 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) (Ο†' Ο†'' : OpenPartialHomeomorph N E) :
    IsOpen (chartPairDomain f Ο‡ Ο‡' Ο†' Ο†'')
    theorem Manifold.differentiableAt_chartChange {π•œ : Type} [RCLike π•œ] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace π•œ E] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {Ο‡ Ο‡' : OpenPartialHomeomorph M E} (hΟ‡ : Ο‡ ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ M) (hΟ‡' : Ο‡' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ M) {x : M} (hx : x ∈ Ο‡.source) (hx' : x ∈ Ο‡'.source) :
    DifferentiableAt π•œ (↑χ' ∘ ↑χ.symm) (↑χ x)

    A chart change Ο‡' ∘ χ⁻¹ is differentiable at the image Ο‡ x of a point x of Ο‡.source ∩ Ο‡'.source.

    theorem Manifold.differentiableAt_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) {y : N} (hy : y ∈ Ο†'.source) (hfy : f y ∈ Ο‡.source) :
    DifferentiableAt π•œ (↑χ ∘ f ∘ ↑φ'.symm) (↑φ' y)

    The chart representative Ο‡ ∘ f ∘ Ο†'⁻¹ is differentiable at Ο†' y for y in Ο†'.source ∩ f⁻¹(Ο‡.source).

    theorem Manifold.fderiv_chartRep_eq {π•œ : 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) (hΟ‡' : Ο‡' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ M) {Ο†' Ο†'' : OpenPartialHomeomorph N E} (hΟ†' : Ο†' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ N) (hΟ†'' : Ο†'' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ N) {y : N} (hy : y ∈ chartPairDomain f Ο‡ Ο‡' Ο†' Ο†'') :
    fderiv π•œ (↑χ' ∘ f ∘ ↑φ''.symm) (↑φ'' y) = fderiv π•œ (↑χ' ∘ ↑χ.symm) (↑χ (f y)) ∘SL fderiv π•œ (↑χ ∘ f ∘ ↑φ'.symm) (↑φ' y) ∘SL fderiv π•œ (↑φ' ∘ ↑φ''.symm) (↑φ'' y)

    The chain rule for the chart representatives: on the common domain, D(Ο‡' ∘ f ∘ Ο†''⁻¹)(Ο†'' y) = D(Ο‡' ∘ χ⁻¹)(Ο‡ (f y)) ∘ D(Ο‡ ∘ f ∘ Ο†'⁻¹)(Ο†' y) ∘ D(Ο†' ∘ Ο†''⁻¹)(Ο†'' y).

    theorem Manifold.jacobianFun_eq_mul {π•œ : 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) (hΟ‡' : Ο‡' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ M) {Ο†' Ο†'' : OpenPartialHomeomorph N E} (hΟ†' : Ο†' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ N) (hΟ†'' : Ο†'' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ N) {y : N} (hy : y ∈ chartPairDomain f Ο‡ Ο‡' Ο†' Ο†'') :
    jacobianFun π•œ f Ο‡' Ο†'' y = (fderiv π•œ (↑χ' ∘ ↑χ.symm) (↑χ (f y))).det * (jacobianFun π•œ f Ο‡ Ο†' y * (fderiv π•œ (↑φ' ∘ ↑φ''.symm) (↑φ'' y)).det)

    The Jacobian determinants in two chart pairs differ by the Jacobians of the two chart changes: on the common domain, J_{Ο‡',Ο†''}(y) = det D(Ο‡' ∘ χ⁻¹)(Ο‡(f y)) Β· J_{Ο‡,Ο†'}(y) Β· det D(Ο†' ∘ Ο†''⁻¹)(Ο†'' y).

    theorem Manifold.det_fderiv_chartChange_ne_zero {π•œ : Type} [RCLike π•œ] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace π•œ E] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {Ο‡ Ο‡' : OpenPartialHomeomorph M E} (hΟ‡ : Ο‡ ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ M) (hΟ‡' : Ο‡' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ M) {x : M} (hx : x ∈ Ο‡.source) (hx' : x ∈ Ο‡'.source) :
    (fderiv π•œ (↑χ' ∘ ↑χ.symm) (↑χ x)).det β‰  0

    The Jacobian of a chart change is nonzero at the image of a point of both charts: the inverse chart change is a two-sided inverse, and det (Dg'(g x)) Β· det (Dg x) = 1.

    noncomputable def Manifold.jacobianGerm {π•œ : 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) {a' : N} (ha' : a' ∈ Ο†'.source) (hfa' : f a' ∈ Ο‡.source) :
    ↑((structureSheaf π•œ E N).presheaf.stalk a')

    The stalk element with function germ the Jacobian determinant J_{Ο‡,Ο†'} at a point of Ο†'.source ∩ f⁻¹(Ο‡.source): the germ of the section J_{Ο‡,Ο†'} over that open set.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Manifold.stalkToGerm_jacobianGerm {π•œ : 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) {a' : N} (ha' : a' ∈ Ο†'.source) (hfa' : f a' ∈ Ο‡.source) :
      (stalkToGerm (modelWithCornersSelf π•œ E) ⊀ N a') (jacobianGerm hf hΟ‡ hΟ†' ha' hfa') = ↑(jacobianFun π•œ f Ο‡ Ο†')
      theorem Manifold.exists_unit_jacobianFun_germ_eq {π•œ : 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) (hΟ‡' : Ο‡' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ M) {Ο†' Ο†'' : OpenPartialHomeomorph N E} (hΟ†' : Ο†' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ N) (hΟ†'' : Ο†'' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ N) {a' : N} (ha' : a' ∈ Ο†'.source) (ha'' : a' ∈ Ο†''.source) (hfa' : f a' ∈ Ο‡.source) (hfa'' : f a' ∈ Ο‡'.source) :
      βˆƒ (u : ↑((structureSheaf π•œ E N).presheaf.stalk a')), IsUnit u ∧ ↑(jacobianFun π•œ f Ο‡' Ο†'') = (stalkToGerm (modelWithCornersSelf π•œ E) ⊀ N a') u * ↑(jacobianFun π•œ f Ο‡ Ο†')

      The Jacobian determinants of f in two chart pairs at a' differ by an analytic unit (chain rule and multiplicativity of the determinant; "with respect to any coordinate system", [BM97, Theorem 1.10, the sentence after it]) β€” the product of the Jacobians of the two chart changes.

      theorem Manifold.exists_stalk_jacobianStalk_eq_span {π•œ : 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} [IsManifold (modelWithCornersSelf π•œ E) ⊀ M] [IsManifold (modelWithCornersSelf π•œ E) ⊀ N] (hf : ContMDiff (modelWithCornersSelf π•œ E) (modelWithCornersSelf π•œ E) ⊀ f) (a' : N) :
      βˆƒ (s : ↑((structureSheaf π•œ E N).presheaf.stalk a')), (stalkToGerm (modelWithCornersSelf π•œ E) ⊀ N a') s = ↑(jacobianFun π•œ f (chartAt E (f a')) (chartAt E a')) ∧ jacobianStalk f a' = Ideal.span {s}

      The stalk of the Jacobian ideal at a' is generated by a single germ, the germ of the Jacobian determinant in the standard charts (stalkToGerm is injective, so the generating set of jacobianStalk is that one germ).

      theorem Manifold.exists_stalk_jacobianStalk_eq_span_of_charts {π•œ : 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} [IsManifold (modelWithCornersSelf π•œ E) ⊀ M] [IsManifold (modelWithCornersSelf π•œ E) ⊀ N] (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) {a' : N} (ha' : a' ∈ Ο†'.source) (hfa' : f a' ∈ Ο‡.source) :
      βˆƒ (s : ↑((structureSheaf π•œ E N).presheaf.stalk a')), (stalkToGerm (modelWithCornersSelf π•œ E) ⊀ N a') s = ↑(jacobianFun π•œ f Ο‡ Ο†') ∧ jacobianStalk f a' = Ideal.span {s}

      The stalk of the Jacobian ideal at a' is generated by the germ of the Jacobian determinant in any chart pair at a' ("with respect to any coordinate system", [BM97, Theorem 1.10, the sentence after it]) β€” that germ is a unit times the standard one.

      The stalks of the Jacobian ideal of an analytic map have local generators: near a', the single section J_{Ο‡,Ο†'} for the standard charts Ο‡, Ο†' at a' generates every stalk, by the any-chart form. This is the condition under which AnalyticMap.jacobianIdeal is the ideal sheaf with these stalks.

      theorem Manifold.isUnit_jacobianFun_of_isLocalDiffeomorphAt {π•œ : 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) {a' : N} (hloc : IsLocalDiffeomorphAt (modelWithCornersSelf π•œ E) (modelWithCornersSelf π•œ E) ⊀ f a') {Ο‡ : OpenPartialHomeomorph M E} (hΟ‡ : Ο‡ ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ M) {Ο†' : OpenPartialHomeomorph N E} (hΟ†' : Ο†' ∈ IsManifold.maximalAtlas (modelWithCornersSelf π•œ E) ⊀ N) (ha' : a' ∈ Ο†'.source) (hfa' : f a' ∈ Ο‡.source) :
      IsUnit (jacobianFun π•œ f Ο‡ Ο†' a')

      Where f is a local diffeomorphism its Jacobian determinant is a unit: the chart representative Ο†' ∘ f⁻¹ ∘ χ⁻¹ of Mathlib's local inverse is a left inverse of Ο‡ ∘ f ∘ Ο†'⁻¹ near Ο†' a', so det D(Ο‡ ∘ f ∘ Ο†'⁻¹)(Ο†' a') β‰  0.

      theorem Manifold.jacobianStalk_eq_top_of_isLocalDiffeomorphAt {π•œ : 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} [IsManifold (modelWithCornersSelf π•œ E) ⊀ M] [IsManifold (modelWithCornersSelf π•œ E) ⊀ N] (hf : ContMDiff (modelWithCornersSelf π•œ E) (modelWithCornersSelf π•œ E) ⊀ f) {a' : N} (hloc : IsLocalDiffeomorphAt (modelWithCornersSelf π•œ E) (modelWithCornersSelf π•œ E) ⊀ f a') :

      Where f is a local diffeomorphism the stalk of the Jacobian ideal is the unit ideal (the case of an isomorphism in the principalization theorem, whose Jacobian ideal is the unit ideal; the off-centre case of the blowing-up).