Matrices with fixed determinant #
This file defines the type of matrices with fixed determinant m
and proves some basic results
about them.
We also prove that the subgroup of SL(2,ℤ)
generated by S
and T
is the whole group.
Note: Some of this was done originally in Lean 3 in the kbb (https://github.com/kim-em/kbb/tree/master) repository, so credit to those authors.
The subtype of matrices with fixed determinant m
.
Equations
- FixedDetMatrix n R m = { A : Matrix n n R // A.det = m }
Instances For
Extensionality theorem for FixedDetMatrix
with respect to the underlying matrix, not
entriwise.
Equations
- FixedDetMatrices.instSMulSpecialLinearGroupFixedDetMatrix n R m = { smul := fun (g : Matrix.SpecialLinearGroup n R) (A : FixedDetMatrix n R m) => ⟨↑g * ↑A, ⋯⟩ }
Equations
Set of representatives for the orbits under S
and T
.
Equations
Instances For
Reduction step for matrices in Δ m
which moves the matrices towards reps
.
Equations
- FixedDetMatrices.reduceStep A = ModularGroup.S • ModularGroup.T ^ (-(↑A 0 0 / ↑A 1 0)) • A
Instances For
Reduction lemma for integral FixedDetMatrices.
Equations
- FixedDetMatrices.reduce_rec base step A = if h : ↑A 1 0 = 0 then base A h else step A h (FixedDetMatrices.reduce_rec base step (FixedDetMatrices.reduceStep A))
Instances For
Map from Δ m → Δ m
which reduces a FixedDetMatrix towards a representative element in reps.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An auxiliary result bounding the size of the entries of the representatives in reps
.
Equations
- FixedDetMatrices.repsFintype k = Fintype.ofInjective (fun (M : ↑(FixedDetMatrices.reps k)) (i j : Fin 2) => ⟨↑↑M i j, ⋯⟩) ⋯
SL(2, ℤ)
is generated by S
and T
.