The upper half plane and its automorphisms #
This file defines the GLPos 2 ℝ
action on the upper half-plane by fractional linear
transformations.
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
- UpperHalfPlane.«term↑ₘ_» = Lean.ParserDescr.node `UpperHalfPlane.«term↑ₘ_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "↑ₘ") (Lean.ParserDescr.cat `term 1024))
Instances For
Equations
- UpperHalfPlane.instCoeFun = { coe := fun (A : ↥(Matrix.GLPos (Fin 2) ℝ)) => ↑↑A }
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
- One or more equations did not get rendered due to their size.
Instances For
Numerator of the formula for a fractional linear transformation
Equations
- UpperHalfPlane.num g z = ↑(↑↑g 0 0) * ↑z + ↑(↑↑g 0 1)
Instances For
Denominator of the formula for a fractional linear transformation
Equations
- UpperHalfPlane.denom g z = ↑(↑↑g 1 0) * ↑z + ↑(↑↑g 1 1)
Instances For
Fractional linear transformation, also known as the Moebius transformation
Equations
- UpperHalfPlane.smulAux' g z = UpperHalfPlane.num g z / UpperHalfPlane.denom g z
Instances For
Fractional linear transformation, also known as the Moebius transformation
Equations
Instances For
The action of GLPos 2 ℝ
on the upper half-plane by fractional linear transformations.
Equations
- One or more equations did not get rendered due to their size.
Canonical embedding of SL(2, ℤ)
into GL(2, ℝ)⁺
.
Equations
Instances For
Alias of ModularGroup.coe
.
Canonical embedding of SL(2, ℤ)
into GL(2, ℝ)⁺
.
Equations
Instances For
Canonical embedding of SL(2, ℤ)
into GL(2, ℝ)⁺
, bundled as a group hom.
Equations
Instances For
Alias of ModularGroup.coe_apply_complex
.
Alias of ModularGroup.det_coe
.
Equations
- ModularGroup.SLOnGLPos = { smul := fun (s : Matrix.SpecialLinearGroup (Fin 2) ℤ) (g : ↥(Matrix.GLPos (Fin 2) ℝ)) => ↑s * g }