Step 46 / 64

University

Congruence subgroups of matrices

The level names which matrix transformations are kept and which are sent to zero.

Start with a concrete example

Think of a two-by-two table as instructions for moving a point. Here the table is [1, 0; c, 1]. For one actual example of a level-3 restriction, the lower-left entry c must be divisible by 3. Change c. Weight has a different role: it is an exponent in the transformation rule. Compare 2¹ = 2 with 2² = 4 to see what changing an exponent does; this arithmetic alone is not the full transformation rule.

A 2 × 2 table1031c is divisible by 3: allowed

c = 3; remainder after division by 3 is 0.

How this example differs from the definition

The diagram illustrates the Γ₀(3) matrix condition with determinant 1. Weight is a separate exponent in the transformation rule; it is not the number of notes or a physical weight.

A small check: try the idea

Compare the numbers in the question with the diagram you are moving. You can try again.

Which lower-left value fits the illustrated Γ₀(3) condition?

Read the answer and reasoning

6. 6 is 3×2, while 4 leaves remainder 1. The displayed matrices already have determinant 1; we are testing the lower-left restriction.

Build the idea in three steps

  1. Arithmetic conditions can select subgroups of integer matrices. Different conditions give different congruence subgroups; Γ₀(N) does not require every entry to match the identity modulo N.
  2. Γ₀(N) — the identifier Gamma0 in Lean — collects exactly the determinant-one integer tables whose bottom-left entry becomes 0 in ZMod N.
  3. Gamma0Map supplies a numeric readout: it sends each collected table to its bottom-right entry in ZMod N, and multiplication of tables is preserved.

A small example

At level 5, the table with rows (1, 2) and (10, 21) has bottom-left entry 10, a multiple of 5, so it belongs to Γ₀(5).

Lean definition · original excerpt

Mathlib · db584cd · CongruenceSubgroups.lean

/-- The group homomorphism from `CongruenceSubgroup.Gamma0` to `ZMod N` given bymapping a matrix to its lower right-hand entry. -/def Gamma0Map (N : ℕ) : Gamma0 N →* ZMod N where  toFun g := g.1 1 1  map_one' := by simp  map_mul' := by    rintro ⟨A, hA⟩ ⟨B, _⟩

How to read this Lean

A group homomorphism is a map that respects the identity and multiplication; the declared fields toFun, map_one′ and map_mul′ state exactly that. The membership test A 1 0 = 0 appears in the adjacent theorem Gamma0_mem.

Where this idea is used

8. The secret duet10. A three-note audition
I’m lost · Help

Mika’s help desk

Congruence subgroups of matrices

One thing at a time

Read the three explanation steps first. The Lean source is there for a closer look afterwards; you do not have to read it first.

In simpler words

The level names which matrix transformations are kept and which are sent to zero.

Earlier ideas are listed under “Start with these ideas” on this page.

A small clue

At level 5, the table with rows (1, 2) and (10, 21) has bottom-left entry 10, a multiple of 5, so it belongs to Γ₀(5).

Close this panel to return to the exact place you were reading. These are prepared hints for this page.

Start with the first small story →