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.