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.)

The coercion first into an element of GL(2, ℝ)⁺, then GL(2, ℝ) and finally a 2 × 2 matrix.

This notation is scoped in namespace UpperHalfPlane.

Equations
    Instances For
      instance UpperHalfPlane.instCoeFun :
      CoeFun (Matrix.GLPos (Fin 2) ) fun (x : (Matrix.GLPos (Fin 2) )) => Fin 2Fin 2
      Equations

        The coercion into an element of GL(2, R) and finally a 2 × 2 matrix over R. This is similar to ↑ₘ, but without positivity requirements, and allows the user to specify the ring R, which can be useful to help Lean elaborate correctly.

        This notation is scoped in namespace UpperHalfPlane.

        Equations
          Instances For
            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

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

                    Equations
                      Instances For
                        @[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)
                        def UpperHalfPlane.smulAux' (g : GL (Fin 2) ) (z : ) :

                        Fractional linear transformation, also known as the Moebius transformation

                        Equations
                          Instances For

                            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)

                                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 = mk (num g z / denom g z)
                                  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 = mk ((((algebraMap R ) (g 0 0)) * z + ((algebraMap R ) (g 0 1))) / (((algebraMap R ) (g 1 0)) * z + ((algebraMap R ) (g 1 1))))
                                  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

                                  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