Documentation

Mathlib.Analysis.Complex.UpperHalfPlane.FixedPoints

Fixed points of isometries of the upper half-plane #

In this file we show that the scalar multiplication by an element g : GL (Fin 2) ℝ has the following set of fixed points, depending on g.

As a corollary of this classification, we conclude that PSL(2, ℝ) acts faithfully on the upper half-plane.

theorem UpperHalfPlane.gl_smul_eq_iff_num_eq {g : GL (Fin 2) ℝ} {z w : UpperHalfPlane} :
g • z = w ↔ num g ↑z = (σ g) ↑w * denom g ↑z
theorem UpperHalfPlane.gl_smul_eq_self_iff_re_eq {g : GL (Fin 2) ℝ} {z : UpperHalfPlane} (htrace : (↑g).trace = 0) (hc : ↑g 1 0 = 0) :
g • z = z ↔ z.re = ↑g 0 1 / (2 * ↑g 1 1)

If g is an upper triangular matrix with trace zero, then g fixes the vertical line re z = b / (2 * d).

theorem UpperHalfPlane.gl_smul_eq_self_iff_dist_sq_eq {g : GL (Fin 2) ℝ} {z : UpperHalfPlane} (h : (↑g).det < 0) (htrace : (↑g).trace = 0) (hc : ↑g 1 0 ≠ 0) :
g • z = z ↔ dist (↑z) (-↑(↑g 1 1) / ↑(↑g 1 0)) ^ 2 = -(↑g).det / ↑g 1 0 ^ 2

If g is an orientation reversing matrix with trace zero and c ≠ 0, then its action on the upper half plane has a half-circle of fixed points. In the hyperbolic geometry, this half-circle is a line. If c = 0, then this line is a vertical half-line in the usual geometry, see gl_smul_eq_self_iff_re_eq.

theorem UpperHalfPlane.gl_smul_eq_self_iff_dist_eq {g : GL (Fin 2) ℝ} {z : UpperHalfPlane} (h : (↑g).det < 0) (htrace : (↑g).trace = 0) (hc : ↑g 1 0 ≠ 0) :
g • z = z ↔ dist (↑z) (-↑(↑g 1 1) / ↑(↑g 1 0)) = √(-(↑g).det) / |↑g 1 0|

If g is an orientation reversing matrix with trace zero and c ≠ 0, then its action on the upper half plane has a half-circle of fixed points. In the hyperbolic geometry, this half-circle is a line.

theorem UpperHalfPlane.exists_gl_smul_eq_self_iff_trace_eq_zero {g : GL (Fin 2) ℝ} (h : (↑g).det < 0) :
(∃ (z : UpperHalfPlane), g • z = z) ↔ (↑g).trace = 0

An orientation-reversing isometry of the hyperbolic plane has a fixed point iff the corresponding matrix has zero trace.

theorem UpperHalfPlane.gl_smul_eq_self_iff_quadratic {g : GL (Fin 2) ℝ} {z : UpperHalfPlane} (h : 0 < (↑g).det) :
g • z = z ↔ ↑(↑g 1 0) * (↑z * ↑z) + (↑(↑g 1 1) - ↑(↑g 0 0)) * ↑z + -↑(↑g 0 1) = 0

If g is an orientation-preserving map, then the fixed points of its action on the upper half-plane can be found from a quadratic equation.

If c ≠ 0, then this equation has a unique solution in the upper half-plane given by UpperHalfPlane.fixedPt. If c = 0, then the equation degenerates to a linear equation, which has no solutions in the upper half-plane unless g is a scalar matrix.

See also Matrix.GeneralLinearGroup.fixpointPolynomial_aeval_eq_zero_iff for a similar lemma about the action on the projective line, encoded as OnePoint R, where R is the ring of coefficients.

theorem UpperHalfPlane.isElliptic_of_exists_smul_eq_self {g : GL (Fin 2) ℝ} (h : 0 < (↑g).det) (hgc : g ∉ Subgroup.center (GL (Fin 2) ℝ)) (hfix : ∃ (z : UpperHalfPlane), g • z = z) :

If g is a non-scalar orientation perserving matrix with a fixed point in ℍ, then it's an elliptic matrix.

noncomputable def UpperHalfPlane.fixedPt (g : GL (Fin 2) ℝ) (hell : g.IsElliptic) :

The unique fixed point of an orientation-preserving elliptic matrix acting on ℍ.

Equations
Instances For
    @[simp]
    theorem UpperHalfPlane.fixedPt_neg {g : GL (Fin 2) ℝ} (hg : (-g).IsElliptic) :
    fixedPt (-g) hg = fixedPt g ⋯
    theorem UpperHalfPlane.gl_smul_eq_self_iff_eq_fixedPt {g : GL (Fin 2) ℝ} {z : UpperHalfPlane} (hpos : 0 < (↑g).det) (hell : g.IsElliptic) :
    g • z = z ↔ z = fixedPt g hell

    The action of an elliptic orientation preserving matrix on ℍ has a unique fixed point given by fixedPt.

    theorem UpperHalfPlane.gl_smul_I_eq_I_iff_of_pos {g : GL (Fin 2) ℝ} (hg : 0 < ↑(Matrix.GeneralLinearGroup.det g)) :
    g • I = I ↔ ↑g 0 0 = ↑g 1 1 ∧ ↑g 0 1 = -↑g 1 0
    theorem UpperHalfPlane.gl_smul_I_eq_I_iff_of_neg {g : GL (Fin 2) ℝ} (hg : ↑(Matrix.GeneralLinearGroup.det g) < 0) :
    g • I = I ↔ ↑g 0 0 = -↑g 1 1 ∧ ↑g 0 1 = ↑g 1 0

    A matrix acts trivially on ℍ iff it belongs to the center of GL(2, ℝ), i.e., it's a diagonal matrix.