Documentation

Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction

Group action on the upper half-plane #

We equip the upper half-plane with the structure of a GL (Fin 2) ℝ action by fractional linear transformations (composing with complex conjugation when needed to extend the action from the positive-determinant subgroup, so that !![-1, 0; 0, 1] acts as z ↦ -conj z.)

def UpperHalfPlane.num (g : GL (Fin 2) ) (z : ) :

Numerator of the formula for a fractional linear transformation

Equations
Instances For
    def UpperHalfPlane.denom (g : GL (Fin 2) ) (z : ) :

    Denominator of the formula for a fractional linear transformation

    Equations
    Instances For
      @[simp]
      theorem UpperHalfPlane.num_neg (g : GL (Fin 2) ) (z : ) :
      num (-g) z = -num g z
      @[simp]
      theorem UpperHalfPlane.denom_neg (g : GL (Fin 2) ) (z : ) :
      denom (-g) z = -denom g z
      theorem UpperHalfPlane.linear_ne_zero_of_im {cd : Fin 2} {z : } (hz : z.im 0) (h : cd 0) :
      (cd 0) * z + (cd 1) 0
      theorem UpperHalfPlane.linear_ne_zero {cd : Fin 2} (τ : UpperHalfPlane) (h : cd 0) :
      (cd 0) * τ + (cd 1) 0
      theorem UpperHalfPlane.denom_ne_zero_of_im (g : GL (Fin 2) ) {z : } (hz : z.im 0) :
      denom g z 0
      theorem UpperHalfPlane.normSq_denom_pos (g : GL (Fin 2) ) {z : } (hz : z.im 0) :
      theorem UpperHalfPlane.normSq_denom_ne_zero (g : GL (Fin 2) ) {z : } (hz : z.im 0) :
      theorem UpperHalfPlane.denom_cocycle (g h : GL (Fin 2) ) {z : } (hz : z.im 0) :
      denom (g * h) z = denom g (num h z / denom h z) * denom h z
      noncomputable def UpperHalfPlane.σ (g : GL (Fin 2) ) :

      Automorphism of : the identity if 0 < det g and conjugation otherwise.

      Equations
      Instances For
        theorem UpperHalfPlane.σ_conj (g : GL (Fin 2) ) (z : ) :
        (σ g) ((starRingEnd ) z) = (starRingEnd ) ((σ g) z)
        @[simp]
        theorem UpperHalfPlane.σ_ofReal (g : GL (Fin 2) ) (y : ) :
        (σ g) y = y
        theorem UpperHalfPlane.σ_num (g h : GL (Fin 2) ) (z : ) :
        (σ g) (num h z) = num h ((σ g) z)
        theorem UpperHalfPlane.σ_denom (g h : GL (Fin 2) ) (z : ) :
        (σ g) (denom h z) = denom h ((σ g) z)
        @[simp]
        theorem UpperHalfPlane.σ_neg (g : GL (Fin 2) ) :
        σ (-g) = σ g
        @[simp]
        theorem UpperHalfPlane.σ_sq (g : GL (Fin 2) ) (z : ) :
        (σ g) ((σ g) z) = z
        theorem UpperHalfPlane.σ_im_ne_zero {g : GL (Fin 2) } {z : } :
        ((σ g) z).im 0 z.im 0
        theorem UpperHalfPlane.σ_mul (g g' : GL (Fin 2) ) (z : ) :
        (σ (g * g')) z = (σ g) ((σ g') z)
        theorem UpperHalfPlane.σ_mul_comm (g h : GL (Fin 2) ) (z : ) :
        (σ g) ((σ h) z) = (σ h) ((σ g) z)
        @[simp]
        theorem UpperHalfPlane.norm_σ (g : GL (Fin 2) ) (z : ) :
        noncomputable def UpperHalfPlane.smulAux' (g : GL (Fin 2) ) (z : ) :

        Fractional linear transformation, also known as the Moebius transformation

        Equations
        Instances For
          noncomputable def UpperHalfPlane.smulAux (g : GL (Fin 2) ) (z : UpperHalfPlane) :

          Fractional linear transformation, also known as the Moebius transformation

          Equations
          Instances For
            theorem UpperHalfPlane.denom_cocycle' (g h : GL (Fin 2) ) (z : UpperHalfPlane) :
            denom (g * h) z = (σ h) (denom g (smulAux h z)) * denom h z
            theorem UpperHalfPlane.mul_smul' (g h : GL (Fin 2) ) (z : UpperHalfPlane) :
            smulAux (g * h) z = smulAux g (smulAux h z)
            @[implicit_reducible]

            Action of GL (Fin 2) ℝ on the upper half-plane, with GL(2, ℝ)⁺ acting by Moebius transformations in the usual way, extended to all of GL (Fin 2) ℝ using complex conjugation.

            Equations
            theorem UpperHalfPlane.coe_smul (g : GL (Fin 2) ) (z : UpperHalfPlane) :
            ↑(g z) = (σ g) (num g z / denom g z)
            theorem UpperHalfPlane.coe_smul_of_det_pos {g : GL (Fin 2) } (hg : 0 < (Matrix.GeneralLinearGroup.det g)) (z : UpperHalfPlane) :
            ↑(g z) = num g z / denom g z
            theorem UpperHalfPlane.denom_cocycle_σ (g h : GL (Fin 2) ) (z : UpperHalfPlane) :
            denom (g * h) z = (σ h) (denom g ↑(h z)) * denom h z
            theorem UpperHalfPlane.glPos_smul_def {g : GL (Fin 2) } (hg : 0 < (Matrix.GeneralLinearGroup.det g)) (z : UpperHalfPlane) :
            g z = { coe := num g z / denom g z, coe_im_pos := }
            theorem UpperHalfPlane.re_smul (g : GL (Fin 2) ) (z : UpperHalfPlane) :
            (g z).re = (num g z / denom g z).re
            theorem UpperHalfPlane.im_smul (g : GL (Fin 2) ) (z : UpperHalfPlane) :
            (g z).im = |(num g z / denom g z).im|
            @[simp]
            theorem UpperHalfPlane.neg_smul (g : GL (Fin 2) ) (z : UpperHalfPlane) :
            -g z = g z
            theorem UpperHalfPlane.coe_specialLinearGroup_apply {R : Type u_1} [CommRing R] [Algebra R ] (g : Matrix.SpecialLinearGroup (Fin 2) R) (z : UpperHalfPlane) :
            ↑(g z) = (((algebraMap R ) (g 0 0)) * z + ((algebraMap R ) (g 0 1))) / (((algebraMap R ) (g 1 0)) * z + ((algebraMap R ) (g 1 1)))
            theorem UpperHalfPlane.specialLinearGroup_apply {R : Type u_1} [CommRing R] [Algebra R ] (g : Matrix.SpecialLinearGroup (Fin 2) R) (z : UpperHalfPlane) :
            g z = { coe := (((algebraMap R ) (g 0 0)) * z + ((algebraMap R ) (g 0 1))) / (((algebraMap R ) (g 1 0)) * z + ((algebraMap R ) (g 1 1))), coe_im_pos := }
            theorem UpperHalfPlane.modular_S_smul (z : UpperHalfPlane) :
            ModularGroup.S z = { coe := (-z)⁻¹, coe_im_pos := }
            theorem UpperHalfPlane.exists_SL2_smul_eq_of_apply_zero_one_eq_zero (g : Matrix.SpecialLinearGroup (Fin 2) ) (hc : g 1 0 = 0) :
            ∃ (u : { x : // 0 < x }) (v : ), (fun (x : UpperHalfPlane) => g x) = (fun (x : UpperHalfPlane) => v +ᵥ x) fun (x : UpperHalfPlane) => u x
            theorem UpperHalfPlane.exists_SL2_smul_eq_of_apply_zero_one_ne_zero (g : Matrix.SpecialLinearGroup (Fin 2) ) (hc : g 1 0 0) :
            ∃ (u : { x : // 0 < x }) (v : ) (w : ), (fun (x : UpperHalfPlane) => g x) = (fun (x : UpperHalfPlane) => w +ᵥ x) (fun (x : UpperHalfPlane) => ModularGroup.S x) (fun (x : UpperHalfPlane) => v +ᵥ x) fun (x : UpperHalfPlane) => u x
            noncomputable def UpperHalfPlane.J :
            GL (Fin 2)

            The matrix [-1, 0; 0, 1], which defines an anti-holomorphic involution of via τ ↦ -conj τ.

            Equations
            Instances For
              @[simp]
              theorem UpperHalfPlane.val_J :
              J = !![-1, 0; 0, 1]
              @[simp]
              theorem UpperHalfPlane.J_sq :
              J ^ 2 = 1
              @[simp]
              theorem UpperHalfPlane.denom_J (τ : ) :
              denom J τ = 1
              @[simp]
              theorem UpperHalfPlane.denom_J_mul (g : GL (Fin 2) ) (τ : ) :
              denom (J * g) τ = denom g τ
              noncomputable def ModularGroup.coe (g : Matrix.SpecialLinearGroup (Fin 2) ) :

              Canonical embedding of SL(2, ℤ) into GL(2, ℝ)⁺.

              Equations
              Instances For
                @[simp]
                theorem ModularGroup.coe_inj (a b : Matrix.SpecialLinearGroup (Fin 2) ) :
                a = b a = b

                Canonical embedding of SL(2, ℤ) into GL(2, ℝ)⁺, bundled as a group hom.

                Equations
                Instances For
                  @[simp]
                  theorem ModularGroup.coe_apply_complex {g : Matrix.SpecialLinearGroup (Fin 2) } {i j : Fin 2} :
                  (g i j) = (g i j)
                  @[simp]
                  theorem ModularGroup.det_coe {g : Matrix.SpecialLinearGroup (Fin 2) } :
                  (↑g).det = 1
                  @[implicit_reducible]
                  Equations