Documentation

TauCeti.Geometry.Symplectic.Manifold.AlmostComplex.Basic

Smooth almost complex structures on manifolds #

This file lifts the pointwise linear algebra of TauCeti.AlmostComplexStructure to smooth manifolds. A smooth almost complex structure is a smooth section of the endomorphism bundle of the tangent bundle whose square is fiberwise minus the identity. Its value at each point is a pointwise almost complex structure on that tangent space.

The smoothness is part of the structure itself, while relations to a symplectic form are not fields of it. Tameness and compatibility with a smooth two-form are TauCeti.SmoothTwoForm.Tames and TauCeti.SmoothTwoForm.Compatible in TauCeti.Geometry.Symplectic.Manifold.TwoForm. For a fiberwise nondegenerate form, TauCeti.SmoothTwoForm.IsNondegenerate.tames_iff and TauCeti.SmoothTwoForm.IsNondegenerate.compatible_iff reduce them to the pointwise TauCeti.SymplecticForm.Tames and TauCeti.SymplecticForm.Compatible for the tangent-fiber structures produced by almostComplexStructureAt. Manifold-valued J-holomorphic maps (TauCeti.Geometry.Symplectic.Manifold.JHolomorphic) are stated with this definition.

Main declarations #

The definition follows McDuff--Salamon, J-holomorphic Curves and Symplectic Topology, Section 2.2.

structure TauCeti.SmoothAlmostComplexStructure {E : Type u_1} {H : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] (I : ModelWithCorners ℝ E H) (M : Type u_4) [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑⊤) M] :
Type (max u_1 u_4)

A smooth almost complex structure on a manifold is a smooth tangent-bundle endomorphism whose square is fiberwise minus the identity.

The endomorphism is bundled as a smooth section of End(TM). Tameness, compatibility with a symplectic form, and integrability are deliberately not fields of this structure.

Instances For

    The underlying smooth endomorphism section determines a smooth almost complex structure.

    @[instance_reducible]

    A smooth almost complex structure is applied as J x v, evaluating its endomorphism of the tangent space at x on the tangent vector v.

    The value of a smooth almost complex structure at a point, as a pointwise AlmostComplexStructure on that tangent space.

    Instances For

      Evaluating the pointwise almost complex structure agrees with evaluating the smooth one.

      On self-modelled normed spaces, IsComplexLinearMap between almostComplexStructureAt values is pointwise intertwining of toEndomorphism on the model spaces (bridging TangentSpace 𝓘(ℝ, V) x and V, where rw cannot match .toLinearMap at implicit transparency).

      @[simp]
      theorem TauCeti.SmoothAlmostComplexStructure.apply_apply {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] [IsManifold I (↑⊤) M] (J : SmoothAlmostComplexStructure I M) (x : M) (v : TangentSpace I x) :
      (fun (x : M) => ⇑(J.toEndomorphism x)) x ((fun (x : M) => ⇑(J.toEndomorphism x)) x v) = -v

      Applying a smooth almost complex structure twice gives the negative tangent vector.

      A smooth almost complex structure is fiberwise injective.

      A smooth almost complex structure is fiberwise surjective.

      theorem TauCeti.SmoothAlmostComplexStructure.ext {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] [IsManifold I (↑⊤) M] {J K : SmoothAlmostComplexStructure I M} (h : ∀ (x : M) (v : TangentSpace I x), (fun (x : M) => ⇑(J.toEndomorphism x)) x v = (fun (x : M) => ⇑(K.toEndomorphism x)) x v) :
      J = K

      Two smooth almost complex structures agreeing on every tangent vector are equal.

      theorem TauCeti.SmoothAlmostComplexStructure.ext_iff {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] [IsManifold I (↑⊤) M] {J K : SmoothAlmostComplexStructure I M} :
      J = K ↔ ∀ (x : M) (v : TangentSpace I x), (fun (x : M) => ⇑(J.toEndomorphism x)) x v = (fun (x : M) => ⇑(K.toEndomorphism x)) x v

      Two smooth almost complex structures with the same pointwise almost complex structures are equal.

      theorem TauCeti.SmoothAlmostComplexStructure.contMDiff_apply {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] [IsManifold I (↑⊤) M] {E' : Type u_4} {H' : Type u_5} {N : Type u_6} [NormedAddCommGroup E'] [NormedSpace ℝ E'] [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} [TopologicalSpace N] [ChartedSpace H' N] {n : WithTop ℕ∞} [ENat.LEInfty n] (J : SmoothAlmostComplexStructure I M) {b : N → M} {V : (y : N) → TangentSpace I (b y)} (hV : ContMDiff I' I.tangent n fun (y : N) => ⟨b y, V y⟩) :
      ContMDiff I' I.tangent n fun (y : N) => ⟨b y, (fun (x : M) => ⇑(J.toEndomorphism x)) (b y) (V y)⟩

      Applying a smooth almost complex structure along a C^n map b to a C^n vector field along b gives a C^n vector field along b. Taking b = id this says that J preserves C^n vector fields on M.

      theorem TauCeti.SmoothAlmostComplexStructure.mdifferentiableAt_apply {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] [IsManifold I (↑⊤) M] {E' : Type u_4} {H' : Type u_5} {N : Type u_6} [NormedAddCommGroup E'] [NormedSpace ℝ E'] [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} [TopologicalSpace N] [ChartedSpace H' N] (J : SmoothAlmostComplexStructure I M) {b : N → M} {y₀ : N} {V : (y : N) → TangentSpace I (b y)} (hV : (MDiffAt fun (y : N) => ⟨b y, V y⟩) y₀) :
      (MDiffAt fun (y : N) => ⟨b y, (fun (x : M) => ⇑(J.toEndomorphism x)) (b y) (V y)⟩) y₀

      Applying a smooth almost complex structure to a vector field along a map b, differentiable at y₀ as a map into the tangent bundle, gives a vector field along b differentiable at y₀. Taking b = id this says that J preserves vector fields differentiable at a point.

      theorem TauCeti.SmoothAlmostComplexStructure.contMDiffAt_toEndomorphism_of_eventuallyEq {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] [IsManifold I (↑⊤) M] {J : SmoothAlmostComplexStructure I M} {E' : Type u_4} {H' : Type u_5} {N : Type u_6} [NormedAddCommGroup E'] [NormedSpace ℝ E'] [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} [TopologicalSpace N] [ChartedSpace H' N] {n : WithTop ℕ∞} [ENat.LEInfty n] {J' : N → SmoothAlmostComplexStructure I M} {b : N → M} {y₀ : N} (hb : ContMDiffAt I' I n b y₀) (hJ' : ∀ᶠ (y : N) in nhds y₀, J' y = J) :
      ContMDiffAt I' (I.prod (modelWithCornersSelf ℝ (E →L[ℝ] E))) n (fun (y : N) => ⟨b y, (J' y).toEndomorphism (b y)⟩) y₀

      A family of smooth almost complex structures which equals a fixed J near y₀, read along a map b which is C^n at y₀, is C^n at y₀ as a section of the tangent endomorphism bundle along b.

      Negating a smooth almost complex structure gives another smooth almost complex structure.

      Instances For
        @[instance_reducible]
        theorem TauCeti.SmoothAlmostComplexStructure.neg_apply {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] [IsManifold I (↑⊤) M] (J : SmoothAlmostComplexStructure I M) (x : M) (v : TangentSpace I x) :
        (fun (x : M) => ⇑((-J).toEndomorphism x)) x v = -(fun (x : M) => ⇑(J.toEndomorphism x)) x v

        Evaluating a negated smooth almost complex structure negates its value.

        @[simp]

        The pointwise structure of a negated smooth almost complex structure is the negation of the pointwise structure.

        A continuous endomorphism of a normed space squaring to -1 defines a constant smooth almost complex structure on the corresponding model manifold.

        Instances For
          @[simp]
          theorem TauCeti.SmoothAlmostComplexStructure.const_toEndomorphism_apply {V : Type u_4} [NormedAddCommGroup V] [NormedSpace ℝ V] (Jc : V →L[ℝ] V) (hJc : ∀ (v : V), Jc (Jc v) = -v) (x : V) :
          (const Jc hJc).toEndomorphism x = Jc

          The endomorphism section of a constant smooth almost complex structure has its defining value in every fiber.

          theorem TauCeti.SmoothAlmostComplexStructure.const_apply {V : Type u_4} [NormedAddCommGroup V] [NormedSpace ℝ V] (Jc : V →L[ℝ] V) (hJc : ∀ (v : V), Jc (Jc v) = -v) (x v : V) :
          (fun (x : V) => ⇑((const Jc hJc).toEndomorphism x)) x v = Jc v

          Evaluating a constant smooth almost complex structure applies its defining endomorphism.

          On a self-modelled normed space, the endomorphism field of a SmoothAlmostComplexStructure is smooth in the normed-space sense.

          A pointwise almost complex structure on a finite-dimensional normed vector space defines a constant smooth almost complex structure on the corresponding model manifold.

          Instances For
            @[simp]

            Under the canonical identification of a self-model tangent fiber with the model space, evaluating a constant smooth almost complex structure is evaluating its defining linear map.

            The standard smooth almost complex structure on V × V, sending (v, w) to (-w, v).

            Instances For
              @[simp]
              theorem TauCeti.SmoothAlmostComplexStructure.product_apply {V : Type u_4} [NormedAddCommGroup V] [NormedSpace ℝ V] (x v : V × V) :
              (fun (x : V × V) => ⇑((product V).toEndomorphism x)) x v = (-v.2, v.1)

              Multiplication by i on a manifold modelled on a complex normed space #

              noncomputable def TauCeti.SmoothAlmostComplexStructure.ofTangentCoordChangeISMul {E' : Type u_4} {H' : Type u_5} [NormedAddCommGroup E'] [NormedSpace ℂ E'] [TopologicalSpace H'] (I' : ModelWithCorners ℝ E' H') (N : Type u_6) [TopologicalSpace N] [ChartedSpace H' N] [IsManifold I' (↑⊤) N] (h : ∀ {x y z : N}, z ∈ (chartAt H' x).source ∩ (chartAt H' y).source → ∀ (v : E'), (tangentCoordChange I' x y z) (Complex.I • v) = Complex.I • (tangentCoordChange I' x y z) v) :

              Multiplication by i on the tangent spaces of a manifold N modelled on a complex normed space E', as a smooth almost complex structure, when the tangent coordinate changes of N commute with multiplication by i.

              Instances For
                @[simp]
                theorem TauCeti.SmoothAlmostComplexStructure.ofTangentCoordChangeISMul_apply {E' : Type u_4} {H' : Type u_5} [NormedAddCommGroup E'] [NormedSpace ℂ E'] [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} {N : Type u_6} [TopologicalSpace N] [ChartedSpace H' N] [IsManifold I' (↑⊤) N] (h : ∀ {x y z : N}, z ∈ (chartAt H' x).source ∩ (chartAt H' y).source → ∀ (v : E'), (tangentCoordChange I' x y z) (Complex.I • v) = Complex.I • (tangentCoordChange I' x y z) v) (x : N) (v : E') :
                (fun (x : N) => ⇑((ofTangentCoordChangeISMul I' N ⋯).toEndomorphism x)) x v = Complex.I • v

                The almost complex structure ofTangentCoordChangeISMul is multiplication by i on every tangent space.

                The almost complex structure ofTangentCoordChangeISMul is multiplication by i on every tangent space, as an endomorphism.

                theorem TauCeti.SmoothAlmostComplexStructure.inTangentCoordinates_ofTangentCoordChangeISMul {E' : Type u_4} {H' : Type u_5} [NormedAddCommGroup E'] [NormedSpace ℂ E'] [TopologicalSpace H'] {I' : ModelWithCorners ℝ E' H'} {N : Type u_6} [TopologicalSpace N] [ChartedSpace H' N] [IsManifold I' (↑⊤) N] (h : ∀ {x y z : N}, z ∈ (chartAt H' x).source ∩ (chartAt H' y).source → ∀ (v : E'), (tangentCoordChange I' x y z) (Complex.I • v) = Complex.I • (tangentCoordChange I' x y z) v) {x₀ x : N} (hx : x ∈ (chartAt H' x₀).source) :

                In the tangent coordinates of the chart at any point x₀, the almost complex structure ofTangentCoordChangeISMul is multiplication by i on the whole chart domain.