The table and its square
Which table?
Dial p
Lesson 08 stacked clocks into tables. Now multiply such a table by itself, the way matrices are multiplied. The table is full of nonzero readings, yet the product reads 0 in every cell. You will see it happen, trace it to a handful of sums that read 0 on any prime dial bigger than 3, and prove it for four different tables.
In words: each cell of the product is a row times a column, and after pulling out what does not depend on k, what is left is a sum that reads 0 on the dial. All four tables below work this way on every prime dial p > 3. Each row of each table is a growing clock read on p marks.
p: number of dial marks, a prime (the theorem needs p ≥ 5)
i, j: a row and a column of the table
k: the position that is summed over when multiplying
T(k) = k(k − 1)/2
M² = 0: the table multiplied by itself, not each cell squared
Start with the growth table of Lesson 08 on the smallest dial where this works, 5 marks. Row i is the clock with growth i on the special dial, so cell (i, k) reads i·T(k). Multiply the table by itself and click any cell of the product to see exactly how it is computed.
Which table?
Dial p
Do these in order. "Set this up" picks the table, the dial and the cell.
For your dial, compare how many cells of M are nonzero with how many cells of M² are nonzero.
| Table | Each row is the clock | Nonzero in M | Nonzero in M² | Nilpotent? |
|---|
Every table is a stack of growing clocks from Lesson 01, read on p marks. For M₃ and M₄ this uses k² = 2T(k) + k, so ik² is the clock with N = i and g = 2i, and ik + k² is the clock with N = i + 1 and g = 2.
Each step has the general idea on the left and your numbers on the right. The dial and the cell come from Stage 01.
In the growth table, M₂[i, k] = i·T(k) and M₂[k, j] = k·T(j). So
i and T(j) are the same in every term, so they come out of the sum. The whole table is zero exactly when the single number ∑ kT(k) reads 0. A table question has become a question about one sum.
Adding k from 0 to p − 1:
Each is p times a whole number, as long as the division leaves p as a factor. For S₁ we divide by 2 and for S₂ by 6. When p > 3, p shares no factor with 6, so p survives: all three read 0 on the p-mark dial. When p = 3, the 6 swallows the 3, and S₂ = 5 reads 2.
T(k) = (k² − k)/2 and kT(k) = (k³ − k²)/2, so
On an odd dial halving can be undone (Lesson 03), so both read 0 when p > 3. By step 1, M₂² is all zeros.
For p = 7 the growth parts are 0, 0, 1, 3, 6, 10, 15. Find ∑kT(k) as an ordinary number, and what it reads on 7 marks.
Expand each cell of the product; every term is one of the five sums, times things that do not depend on k.
M₁ (clock table, ik + T(k)):
M₃ (square table, ik²): each cell is i × j² × ∑k·k² = ij²·S₃.
M₄ (ik + k²):
All read 0 when p > 3. (M₃ only needs S₃, which reads 0 even for p = 3.)
On a prime dial, if M² were all zeros and M could be undone (had an inverse), undoing M twice would turn M² = 0 into the identity table, which is not all zeros. So a nilpotent table can never be undone. For example the growth table M₂ is really one row pattern, T(k), scaled by i: every row is a multiple of the same row, the smallest possible amount of information a nonzero table can carry.
One pattern works for all four: expand a cell of M², recognize the sums, and use that they read 0 when p > 3.
Builds each table from its definition, multiplies it by itself with a separate loop, and checks every cell on nine prime dials. It also reports what happens at p = 3 instead of hiding it.
A different product: multiply M₁ and M₂ cell by cell (the Hadamard product) and add along a row. Now a different sum appears, ∑T(k)²:
On 5 marks ∑T(k)² reads 1, so the row sum reads i, not 0. From p = 7 on, ∑T(k)² reads 0 as well (it needs the sum of fourth powers, which reads 0 once p − 1 does not divide 4).
Answer without multiplying a whole table.