mathlib3 documentation

analysis.complex.upper_half_plane.basic

The upper half plane and its automorphisms #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

This file defines upper_half_plane to be the upper half plane in ℂ.

We furthermore equip it with the structure of an GL_pos 2 ℝ action by fractional linear transformations.

We define the notation ℍ for the upper half plane available in the locale upper_half_plane so as not to conflict with the quaternions.

@[protected, instance]
Equations
@[protected, instance]
Equations

Imaginary part

Equations

Real part

Equations
def upper_half_plane.mk (z : ℂ) (h : 0 < z.im) :

Constructor for upper_half_plane. It is useful if ⟨z, h⟩ makes Lean use a wrong typeclass instance.

Equations
@[simp]
@[simp]
@[simp]
theorem upper_half_plane.mk_re (z : ℂ) (h : 0 < z.im) :
@[simp]
theorem upper_half_plane.mk_im (z : ℂ) (h : 0 < z.im) :
@[simp]
theorem upper_half_plane.coe_mk (z : ℂ) (h : 0 < z.im) :
@[simp]
@[simp]
noncomputable def upper_half_plane.num (g : ↥(matrix.GL_pos (fin 2) ℝ)) (z : upper_half_plane) :

Numerator of the formula for a fractional linear transformation

Equations
@[simp]
noncomputable def upper_half_plane.denom (g : ↥(matrix.GL_pos (fin 2) ℝ)) (z : upper_half_plane) :

Denominator of the formula for a fractional linear transformation

Equations
theorem upper_half_plane.linear_ne_zero (cd : fin 2 → ℝ) (z : upper_half_plane) (h : cd ≠ 0) :
↑(cd 0) * ↑z + ↑(cd 1) ≠ 0
noncomputable def upper_half_plane.smul_aux' (g : ↥(matrix.GL_pos (fin 2) ℝ)) (z : upper_half_plane) :

Fractional linear transformation, also known as the Moebius transformation

Equations

Fractional linear transformation, also known as the Moebius transformation

Equations
@[protected, instance]

The action of GL_pos 2 ℝ on the upper half-plane by fractional linear transformations.

Equations
@[protected, instance]
Equations
@[simp]
@[protected, instance]
Equations
@[simp]
theorem upper_half_plane.coe_pos_real_smul (x : {x // 0 < x}) (z : upper_half_plane) :
↑(x • z) = ↑x • ↑z
@[simp]
theorem upper_half_plane.pos_real_im (x : {x // 0 < x}) (z : upper_half_plane) :
(x • z).im = ↑x * z.im
@[simp]
theorem upper_half_plane.pos_real_re (x : {x // 0 < x}) (z : upper_half_plane) :
(x • z).re = ↑x * z.re
@[protected, instance]
Equations
@[simp]
theorem upper_half_plane.coe_vadd (x : ℝ) (z : upper_half_plane) :
↑(x +ᵥ z) = ↑x + ↑z
@[simp]
theorem upper_half_plane.vadd_re (x : ℝ) (z : upper_half_plane) :
(x +ᵥ z).re = x + z.re
@[simp]
theorem upper_half_plane.vadd_im (x : ℝ) (z : upper_half_plane) :
(x +ᵥ z).im = z.im