Documentation

TauCeti.Analysis.Complex.UpperHalfPlane.Geodesic

Geodesic lines in the upper half-plane, transported from the imaginary axis #

Mathlib's UpperHalfPlane.isometry_vertical_line already exhibits the imaginary axis, in its upward unit-speed parametrisation t ↦ mk ⟨0, exp t⟩ _, as a geodesic line, and Tau Ceti's IsIsometricSMul PSL(2, ℝ) ℍ (ProperAction.lean) already gives the isometric action of the group Fuchsian groups are subgroups of. The first part of this file composes the two: the PSL(2, ℝ)-translate of the imaginary axis by any g is again a geodesic line, and every one of these is unit-speed (isometry_geodesicLine), hence injective (geodesicLine_injective) and at explicit distance |s - t| between its parameters (dist_geodesicLine).

This is the transport step behind the classical description of hyperbolic geodesics in ℍ as vertical lines and semicircles centred on the real axis: as a set, the image of the map geodesicLine g is the g-translate of the imaginary axis, which is a vertical line when the representing matrix's lower-left entry g 1 0 or lower-right entry g 1 1 is 0 (equivalently, g sends one of the imaginary axis's two boundary points, 0 and the point at infinity, to the point at infinity) and a semicircle centred on the real axis otherwise. That case split is not proved here.

The second part is two-point transitivity: any two points z, w lie on a common geodesic line, with z at parameter 0 and w at parameter dist z w (exists_geodesicLine_zero_eq_and_dist_eq). Transitivity of the action puts z at I; a rotation about I (Rotation.lean) then moves w onto the imaginary axis, which is the geodesic line of the identity (range_geodesicLine_one), and if w lands below I the involution pslS reverses the axis (geodesicLine_mul_pslS).

Main declarations #

Geodesic lines as translates of the imaginary axis #

The geodesic line obtained by moving the (upward, unit-speed) imaginary axis by g.

Equations
Instances For
    theorem TauCeti.UpperHalfPlane.geodesicLine_def (g : Matrix.ProjectiveSpecialLinearGroup (Fin 2) ℝ) (t : ℝ) :
    geodesicLine g t = g • { coe := { re := 0, im := Real.exp t }, coe_im_pos := ⋯ }
    theorem TauCeti.UpperHalfPlane.geodesicLine_one_apply (t : ℝ) :
    geodesicLine 1 t = { coe := { re := 0, im := Real.exp t }, coe_im_pos := ⋯ }

    The geodesic line of the identity is the upward unit-speed imaginary axis.

    @[simp]

    Translating a geodesic line by h gives the geodesic line of h * g, pointwise.

    @[simp]

    The same fact as smul_geodesicLine, at the level of the line as a set: the PSL(2, ℝ)-action permutes these lines rather than merely mapping into their union.

    A geodesic line through any prescribed point, at its own parameter 0.

    The geodesic line of the identity, as a set, is the imaginary axis {z | z.re = 0}.

    Every geodesic line, as a set, is a g-translate of the imaginary axis.

    A point z lies on the geodesic line of g iff g⁻¹ • z lies on the imaginary axis.

    @[simp]

    Multiplying the representative by pslS reverses the parametrisation of a geodesic line: z ↦ -1/z runs the upward imaginary axis downward.

    @[simp]

    The geodesic lines of g and g * pslS have the same image: z ↦ -1/z fixes the imaginary axis setwise, reversing its direction. (The two half-planes it bounds are swapped instead.)

    Dilations along a geodesic line #

    @[simp]

    Right multiplication by a dilation shifts the parameter of a geodesic line.

    @[simp]

    Shifting the parameter does not change a geodesic line as a set.

    Two-point transitivity #

    Two-point transitivity on parametrised geodesic lines. Any two points z, w lie on a common geodesic line, with z at parameter 0 and w at parameter dist z w.

    @[simp]

    The upward vertical through A keeps the real part of A.

    @[simp]

    The upward vertical through A reaches height Im A · exp t at parameter t.