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 : gSubgroup.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.