Documentation

Hironaka.AnalyticSpace.Complexified

The complexification A ⊗_ℝ ℂ = A[i] of a commutative ring #

Hironaka: for a preanalytic ℝ-space X = (X, 𝒪_X), "(X, 𝒪_X ⊗_ℝ ℂ) is a ℂ-local-ringed space, which will be denoted by X(ℂ)" [Hir64, Ch. 0, §1, p. 120]. Since ℂ = ℝ ⊕ ℝ i is free of rank two over ℝ, the tensor product A ⊗_ℝ ℂ of a commutative ring A (with an ℝ-structure) is the ring A[i] = {a + b i : a, b ∈ A} of Gaussian pairs with i² = -1, and it is this ring — which needs no ℝ-structure on A to be formed — that the complexification uses sectionwise: Γ(U, 𝒪_X ⊗_ℝ ℂ) = Γ(U, 𝒪_X)[i]. The identification with Mathlib's tensor product is the ℝ-algebra isomorphism tensorEquiv : Complexified A ≃ₐ[ℝ] A ⊗[ℝ] ℂ, a + b i ↦ a ⊗ 1 + b ⊗ i.

Main definitions #

In the namespace Hironaka.AnalyticSpace.Complexified:

The complexification of a space is built on this in Hironaka/AnalyticSpace/Complexify.lean.

structure AnalyticSpace.Complexified (A : Type u) :

The complexification A ⊗_ℝ ℂ = A[i] of a commutative ring A, realised as Gaussian pairs a + b i (Hironaka's 𝒪_X ⊗_ℝ ℂ [Hir64, Ch. 0, §1, p. 120], sectionwise).

  • re : A

    The real part.

  • im : A

    The imaginary part.

Instances For
    theorem AnalyticSpace.Complexified.ext {A : Type u} {x y : Complexified A} (re : x.re = y.re) (im : x.im = y.im) :
    x = y
    theorem AnalyticSpace.Complexified.ext_iff {A : Type u} {x y : Complexified A} :
    x = y ↔ x.re = y.re ∧ x.im = y.im
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    theorem AnalyticSpace.Complexified.add_re {A : Type u} [CommRing A] (z w : Complexified A) :
    (z + w).re = z.re + w.re
    @[simp]
    theorem AnalyticSpace.Complexified.add_im {A : Type u} [CommRing A] (z w : Complexified A) :
    (z + w).im = z.im + w.im
    @[simp]
    @[simp]
    @[simp]
    theorem AnalyticSpace.Complexified.sub_re {A : Type u} [CommRing A] (z w : Complexified A) :
    (z - w).re = z.re - w.re
    @[simp]
    theorem AnalyticSpace.Complexified.sub_im {A : Type u} [CommRing A] (z w : Complexified A) :
    (z - w).im = z.im - w.im
    @[simp]
    theorem AnalyticSpace.Complexified.mul_re {A : Type u} [CommRing A] (z w : Complexified A) :
    (z * w).re = z.re * w.re - z.im * w.im
    @[simp]
    theorem AnalyticSpace.Complexified.mul_im {A : Type u} [CommRing A] (z w : Complexified A) :
    (z * w).im = z.re * w.im + z.im * w.re
    @[simp]
    theorem AnalyticSpace.Complexified.nsmul_re {A : Type u} [CommRing A] (n : ℕ) (z : Complexified A) :
    (n • z).re = n • z.re
    @[simp]
    theorem AnalyticSpace.Complexified.nsmul_im {A : Type u} [CommRing A] (n : ℕ) (z : Complexified A) :
    (n • z).im = n • z.im
    @[simp]
    theorem AnalyticSpace.Complexified.zsmul_re {A : Type u} [CommRing A] (n : ℤ) (z : Complexified A) :
    (n • z).re = n • z.re
    @[simp]
    theorem AnalyticSpace.Complexified.zsmul_im {A : Type u} [CommRing A] (n : ℤ) (z : Complexified A) :
    (n • z).im = n • z.im
    @[simp]
    theorem AnalyticSpace.Complexified.natCast_re {A : Type u} [CommRing A] (n : ℕ) :
    (↑n).re = ↑n
    @[simp]
    theorem AnalyticSpace.Complexified.natCast_im {A : Type u} [CommRing A] (n : ℕ) :
    (↑n).im = 0
    @[simp]
    theorem AnalyticSpace.Complexified.intCast_re {A : Type u} [CommRing A] (n : ℤ) :
    (↑n).re = ↑n
    @[simp]
    theorem AnalyticSpace.Complexified.intCast_im {A : Type u} [CommRing A] (n : ℤ) :
    (↑n).im = 0
    @[instance_reducible]
    Equations
    • One or more equations did not get rendered due to their size.

    The canonical inclusion A → A ⊗_ℝ ℂ, a ↦ a ⊗ 1 = a + 0 i.

    Equations
    Instances For
      @[simp]
      theorem AnalyticSpace.Complexified.ofReal_re {A : Type u} [CommRing A] (a : A) :
      (ofReal a).re = a
      @[simp]
      theorem AnalyticSpace.Complexified.ofReal_im {A : Type u} [CommRing A] (a : A) :
      (ofReal a).im = 0

      The imaginary unit i = 1 ⊗ i of A ⊗_ℝ ℂ.

      Equations
      Instances For
        @[simp]
        @[simp]
        theorem AnalyticSpace.Complexified.mk_eq {A : Type u} [CommRing A] (a b : A) :
        { re := a, im := b } = ofReal a + ofReal b * I

        The complexification of a ring homomorphism, componentwise.

        Equations
        Instances For
          @[simp]
          theorem AnalyticSpace.Complexified.map_re {A : Type u} {B : Type v} [CommRing A] [CommRing B] (f : A →+* B) (z : Complexified A) :
          ((map f) z).re = f z.re
          @[simp]
          theorem AnalyticSpace.Complexified.map_im {A : Type u} {B : Type v} [CommRing A] [CommRing B] (f : A →+* B) (z : Complexified A) :
          ((map f) z).im = f z.im
          theorem AnalyticSpace.Complexified.map_comp {A : Type u} {B : Type v} [CommRing A] [CommRing B] {C : Type u_1} [CommRing C] (g : B →+* C) (f : A →+* B) :
          map (g.comp f) = (map g).comp (map f)
          theorem AnalyticSpace.Complexified.map_comp_apply {A : Type u} {B : Type v} [CommRing A] [CommRing B] {C : Type u_1} [CommRing C] (g : B →+* C) (f : A →+* B) (z : Complexified A) :
          (map g) ((map f) z) = (map (g.comp f)) z
          @[simp]
          theorem AnalyticSpace.Complexified.map_ofReal {A : Type u} {B : Type v} [CommRing A] [CommRing B] (f : A →+* B) (a : A) :
          (map f) (ofReal a) = ofReal (f a)
          @[simp]
          theorem AnalyticSpace.Complexified.map_I {A : Type u} {B : Type v} [CommRing A] [CommRing B] (f : A →+* B) :
          (map f) I = I
          noncomputable def AnalyticSpace.Complexified.mapEquiv {A : Type u} {B : Type v} [CommRing A] [CommRing B] (e : A ≃+* B) :

          The complexification of a ring isomorphism.

          Equations
          Instances For
            @[simp]
            theorem AnalyticSpace.Complexified.mapEquiv_apply {A : Type u} {B : Type v} [CommRing A] [CommRing B] (e : A ≃+* B) (z : Complexified A) :
            (mapEquiv e) z = (map e.toRingHom) z

            The ℂ-structure of A ⊗_ℝ ℂ induced by an ℝ-structure φ : ℝ →+* A of A: c ↦ φ(Re c) + φ(Im c) i.

            Equations
            Instances For
              @[simp]
              @[simp]
              @[instance_reducible]
              Equations
              @[simp]
              theorem AnalyticSpace.Complexified.smul_re {A : Type u} [CommRing A] {R : Type u_1} [CommSemiring R] [Algebra R A] (r : R) (z : Complexified A) :
              (r • z).re = r • z.re
              @[simp]
              theorem AnalyticSpace.Complexified.smul_im {A : Type u} [CommRing A] {R : Type u_1} [CommSemiring R] [Algebra R A] (r : R) (z : Complexified A) :
              (r • z).im = r • z.im
              @[instance_reducible]

              The R-algebra structure of A ⊗_ℝ ℂ from one of A (through ofReal).

              Equations
              • One or more equations did not get rendered due to their size.
              @[simp]
              theorem AnalyticSpace.Complexified.algebraMap_apply {A : Type u} [CommRing A] {R : Type u_1} [CommSemiring R] [Algebra R A] (r : R) :

              ofReal as an R-algebra homomorphism.

              Equations
              Instances For
                @[simp]

                The norm a² + b², units and the local-ring theorem #

                The norm N(a + bi) = a² + b², multiplicative.

                Equations
                Instances For

                  The conjugate a - bi.

                  Equations
                  Instances For

                    The local-ring theorem behind Hironaka's "(X, 𝒪_X ⊗_ℝ ℂ) is a ℂ-local-ringed space" [Hir64, Ch. 0, §1, p. 120]: if A is a local ring with residue field ℝ — every element is congruent modulo 𝔪_A to a constant φ c, φ : ℝ →+* A — then A ⊗_ℝ ℂ = A[i] is a local ring. Proof: for z = a + bi with a ≡ φ α, b ≡ φ β, the norm a² + b² ≡ φ(α² + β²); if (α, β) ≠ 0 this is a unit of A (a constant outside 𝔪_A), so z is a unit; otherwise a, b ∈ 𝔪_A and 1 - z has norm ≡ 1, a unit.

                    A local homomorphism complexifies to a local homomorphism.

                    The identification with Mathlib's tensor product A ⊗[ℝ] ℂ #

                    The ℂ-structure of A ⊗_ℝ ℂ as an ℝ-algebra homomorphism ℂ →ₐ[ℝ] A[i].

                    Equations
                    Instances For
                      @[simp]
                      theorem AnalyticSpace.Complexified.ofTensor_tmul {A : Type u} [CommRing A] [Algebra ℝ A] (a : A) (c : ℂ) :
                      ofTensor (a ⊗ₜ[ℝ] c) = ofReal a * { re := (algebraMap ℝ A) c.re, im := (algebraMap ℝ A) c.im }

                      A[i] → A ⊗[ℝ] ℂ: a + b i ↦ a ⊗ 1 + b ⊗ i.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        The identification A[i] ≅ A ⊗[ℝ] ℂ (Hironaka's 𝒪_X ⊗_ℝ ℂ read sectionwise as 𝒪_X[i]): a + b i ↦ a ⊗ 1 + b ⊗ i.

                        Equations
                        Instances For

                          Noetherianity: A[i] is Noetherian when A is #

                          A[i] is generated by 1 and i as an A-module: the image of A × A.

                          The A-linear map A × A → A[i], (a, b) ↦ a + b i.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            A[i] = A ⊗_ℝ ℂ is Noetherian when A is (a finite A-module).