Documentation

Mathlib.Geometry.Manifold.Instances.Sphere

Manifold structure on the sphere #

This file defines stereographic projection from the sphere in an inner product space E, and uses it to put a smooth manifold structure on the sphere.

Main results #

For a unit vector v in E, the definition stereographic gives the stereographic projection centred at v, a partial homeomorphism from the sphere to (ℝ ∙ v)ᗮ (the orthogonal complement of v).

For finite-dimensional E, we then construct a smooth manifold instance on the sphere; the charts here are obtained by composing the partial homeomorphisms stereographic with arbitrary isometries from (ℝ ∙ v)ᗮ to Euclidean space.

We prove two lemmas about smooth maps:

As an application we prove contMdiffNegSphere, that the antipodal map is smooth.

Finally, we equip the circle (defined in Analysis.Complex.Circle to be the sphere in centred at 0 of radius 1) with the following structure:

We furthermore show that expMapCircle (defined in Analysis.Complex.Circle to be the natural map fun t ↦ exp (t * I) from to circle) is smooth.

Implementation notes #

The model space for the charted space instance is EuclideanSpace ℝ (Fin n), where n is a natural number satisfying the typeclass assumption [Fact (finrank ℝ E = n + 1)]. This may seem a little awkward, but it is designed to circumvent the problem that the literal expression for the dimension of the model space (up to definitional equality) determines the type. If one used the naive expression EuclideanSpace ℝ (Fin (finrank ℝ E - 1)) for the model space, then the sphere in would be a manifold with model space EuclideanSpace ℝ (Fin (2 - 1)) but not with model space EuclideanSpace ℝ (Fin 1).

TODO #

Relate the stereographic projection to the inversion of the space.

Construction of the stereographic projection #

def stereoToFun {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (v : E) (x : E) :
(Submodule.span {v}).orthogonal

Stereographic projection, forward direction. This is a map from an inner product space E to the orthogonal complement of an element v of E. It is smooth away from the affine hyperplane through v parallel to the orthogonal complement. It restricts on the sphere to the stereographic projection.

Equations
Instances For
    @[simp]
    theorem stereoToFun_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (x : E) :
    stereoToFun v x = (2 / (1 - ((innerSL ) v) x)) (orthogonalProjection (Submodule.span {v}).orthogonal) x
    def stereoInvFunAux {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (v : E) (w : E) :
    E

    Auxiliary function for the construction of the reverse direction of the stereographic projection. This is a map from the orthogonal complement of a unit vector v in an inner product space E to E; we will later prove that it takes values in the unit sphere.

    For most purposes, use stereoInvFun, not stereoInvFunAux.

    Equations
    Instances For
      @[simp]
      theorem stereoInvFunAux_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (w : E) :
      stereoInvFunAux v w = (w ^ 2 + 4)⁻¹ (4 w + (w ^ 2 - 4) v)
      theorem stereoInvFunAux_mem {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (hv : v = 1) {w : E} (hw : w (Submodule.span {v}).orthogonal) :
      theorem hasFDerivAt_stereoInvFunAux_comp_coe {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (v : E) :
      HasFDerivAt (stereoInvFunAux v Subtype.val) (Submodule.span {v}).orthogonal.subtypeL 0
      def stereoInvFun {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (hv : v = 1) (w : (Submodule.span {v}).orthogonal) :
      (Metric.sphere 0 1)

      Stereographic projection, reverse direction. This is a map from the orthogonal complement of a unit vector v in an inner product space E to the unit sphere in E.

      Equations
      Instances For
        @[simp]
        theorem stereoInvFun_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (hv : v = 1) (w : (Submodule.span {v}).orthogonal) :
        (stereoInvFun hv w) = (w ^ 2 + 4)⁻¹ (4 w + (w ^ 2 - 4) v)
        theorem stereoInvFun_ne_north_pole {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (hv : v = 1) (w : (Submodule.span {v}).orthogonal) :
        stereoInvFun hv w v,
        theorem stereo_left_inv {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (hv : v = 1) {x : (Metric.sphere 0 1)} (hx : x v) :
        stereoInvFun hv (stereoToFun v x) = x
        theorem stereo_right_inv {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (hv : v = 1) (w : (Submodule.span {v}).orthogonal) :
        stereoToFun v (stereoInvFun hv w) = w
        def stereographic {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (hv : v = 1) :
        PartialHomeomorph (Metric.sphere 0 1) (Submodule.span {v}).orthogonal

        Stereographic projection from the unit sphere in E, centred at a unit vector v in E; this is the version as a partial homeomorphism.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem stereographic_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (hv : v = 1) (x : (Metric.sphere 0 1)) :
          (stereographic hv) x = (2 / (1 - v, x⟫_)) (orthogonalProjection (Submodule.span {v}).orthogonal) x
          @[simp]
          theorem stereographic_source {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (hv : v = 1) :
          (stereographic hv).source = {v, }
          @[simp]
          theorem stereographic_target {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {v : E} (hv : v = 1) :
          (stereographic hv).target = Set.univ
          @[simp]
          theorem stereographic_apply_neg {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (v : (Metric.sphere 0 1)) :
          (stereographic ) (-v) = 0
          @[simp]
          theorem stereographic_neg_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (v : (Metric.sphere 0 1)) :
          (stereographic ) v = 0

          Charted space structure on the sphere #

          In this section we construct a charted space structure on the unit sphere in a finite-dimensional real inner product space E; that is, we show that it is locally homeomorphic to the Euclidean space of dimension one less than E.

          The restriction to finite dimension is for convenience. The most natural ChartedSpace structure for the sphere uses the stereographic projection from the antipodes of a point as the canonical chart at this point. However, the codomain of the stereographic projection constructed in the previous section is (ℝ ∙ v)ᗮ, the orthogonal complement of the vector v in E which is the "north pole" of the projection, so a priori these charts all have different codomains.

          So it is necessary to prove that these codomains are all continuously linearly equivalent to a fixed normed space. This could be proved in general by a simple case of Gram-Schmidt orthogonalization, but in the finite-dimensional case it follows more easily by dimension-counting.

          Variant of the stereographic projection, for the sphere in an n + 1-dimensional inner product space E. This version has codomain the Euclidean space of dimension n, and is obtained by composing the original sterographic projection (stereographic) with an arbitrary linear isometry from (ℝ ∙ v)ᗮ to the Euclidean space.

          Equations
          Instances For
            @[simp]
            theorem stereographic'_source {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } [Fact (FiniteDimensional.finrank E = n + 1)] (v : (Metric.sphere 0 1)) :
            (stereographic' n v).source = {v}
            @[simp]
            theorem stereographic'_target {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } [Fact (FiniteDimensional.finrank E = n + 1)] (v : (Metric.sphere 0 1)) :
            (stereographic' n v).target = Set.univ

            The unit sphere in an n + 1-dimensional inner product space E is a charted space modelled on the Euclidean space of dimension n.

            Equations
            • One or more equations did not get rendered due to their size.
            theorem sphere_ext_iff {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (u : (Metric.sphere 0 1)) (v : (Metric.sphere 0 1)) :
            u = v u, v⟫_ = 1
            theorem stereographic'_symm_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } [Fact (FiniteDimensional.finrank E = n + 1)] (v : (Metric.sphere 0 1)) (x : EuclideanSpace (Fin n)) :
            ((stereographic' n v).symm x) = let U := (OrthonormalBasis.fromOrthogonalSpanSingleton n ).repr; ((U.symm x) ^ 2 + 4)⁻¹ 4 (U.symm x) + ((U.symm x) ^ 2 + 4)⁻¹ ((U.symm x) ^ 2 - 4) v

            Smooth manifold structure on the sphere #

            The unit sphere in an n + 1-dimensional inner product space E is a smooth manifold, modelled on the Euclidean space of dimension n.

            Equations
            • =

            The inclusion map (i.e., coe) from the sphere in E to E is smooth.

            theorem ContMDiff.codRestrict_sphere {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {F : Type u_2} [NormedAddCommGroup F] [NormedSpace F] {H : Type u_3} [TopologicalSpace H] {I : ModelWithCorners F H} {M : Type u_4} [TopologicalSpace M] [ChartedSpace H M] [SmoothManifoldWithCorners I M] {n : } [Fact (FiniteDimensional.finrank E = n + 1)] {m : ℕ∞} {f : ME} (hf : ContMDiff I (modelWithCornersSelf E) m f) (hf' : ∀ (x : M), f x Metric.sphere 0 1) :

            If a ContMDiff function f : M → E, where M is some manifold, takes values in the sphere, then it restricts to a ContMDiff function from M to the sphere.

            Consider the differential of the inclusion of the sphere in E at the point v as a continuous linear map from TangentSpace (𝓡 n) v to E. The range of this map is the orthogonal complement of v in E.

            Note that there is an abuse here of the defeq between E and the tangent space to E at (v:E). In general this defeq is not canonical, but in this case (the tangent space of a vector space) it is canonical.

            Consider the differential of the inclusion of the sphere in E at the point v as a continuous linear map from TangentSpace (𝓡 n) v to E. This map is injective.

            The unit circle in is a charted space modelled on EuclideanSpace ℝ (Fin 1). This follows by definition from the corresponding result for Metric.Sphere.

            Equations

            The map fun t ↦ exp (t * I) from to the unit circle in is smooth.