The Spectral Structure of Fractional Fields
The eigenvalues of the cross-alignment matrix are determined by the cyclic autocorrelation of the digit function. One formula gives the entire spectrum.
The cross-alignment matrix at $p = 7$ has every eigenvalue equal to 1. At $p = 13$, exactly two distinct eigenvalues. At $p = 17$, nine. The eigenvalues encode the matrix's internal geometry, and the geometry changes with the prime. The question is what determines them.
For primes where 10 is a primitive root, reorder the fractions by their position in the remainder cycle instead of by size. The cross-alignment matrix becomes a circulant, a matrix where each row is the row above it shifted one position to the right. Circulants have been studied for a long time. Their eigenvalues are always the discrete Fourier transform of their first row.
The first row of the reordered matrix is the cyclic autocorrelation of the repeating block of $1/p$, divided by the cycle length.
So the full eigenvalue spectrum of the pairwise agreement matrix is the Fourier transform of a digit sequence. The program that started by looking at repeating decimals arrives, through a chain of definitions and one classical theorem, at harmonic analysis on a finite group.
The autocorrelation
Take the repeating block of $1/p$. Compare it with a shifted copy of itself, position by position. Count the matches at each shift. That list of counts is the cyclic autocorrelation.
For $p = 7$, the repeating block is 142857. Compare it with each of its cyclic shifts:
shift: 0 1 2 3 4 5
matches: 6 0 0 0 0 0
One spike at zero. Nothing elsewhere. This is the simplest possible autocorrelation, the discrete delta function.
The Fourier transform of a delta function is flat. All eigenvalues equal 1. The cross-alignment matrix at $p = 7$ is the identity. That is not a coincidence. It is a theorem.

At $p = 7$, the digit sequence is maximally spread. No cyclic shift of 142857 agrees with any other shift at any position. The autocorrelation records this as a spike and nothing else. The Fourier transform of that spike is the flattest possible spectrum.
The two-coset case
At $p = 13$, base 10 is not a primitive root, so the circulant structure does not appear directly. The twelve fractions split into two cosets of six.
Inside each coset, the same pattern holds as at $p = 7$. Rotations within a coset do not agree at common positions, so the within-coset block is the identity. The new feature is what happens between cosets. Each fraction in one coset has exactly one partner in the other, and that partner agrees with it at exactly 2 of the 6 digit positions. Every other cross-coset comparison gives zero.
That forces a specific matrix structure:
$$\mathbf{A}(13) = \mathbf{I} + \frac{1}{3}\mathbf{P}$$
where $\mathbf{P}$ is an involution pairing each fraction with its unique cross-coset partner. Involutions have eigenvalues $+1$ and $-1$. So the eigenvalues of $\mathbf{A}(13)$ are forced:
$$1 + \frac{1}{3} = \frac{4}{3} \qquad \text{and} \qquad 1 - \frac{1}{3} = \frac{2}{3}$$
each with multiplicity 6. Twelve eigenvalues. Two distinct values. The first nontrivial spectrum is still highly rigid.
The three regimes
These two cases anchor a taxonomy.
Digit-partitioning primes. The autocorrelation is a delta spike. The spectrum is flat. The matrix is the identity.
Two-coset primes. No circulant structure, but a rigid cross-coset involution forces exactly two spectral levels.
Primitive-root primes with nontrivial autocorrelation. The matrix is circulant after reordering. The autocorrelation is no longer a spike. Its Fourier transform spreads across several values. The smallest base-10 example is $p = 17$, where nine distinct eigenvalues appear.

The spectrum reflects the orbit structure of 10 modulo the prime. That is the organizing principle.
The character expansion
The scalars $\alpha$, $\sigma$, and $F$ summarize the field in coarser ways. The matrix keeps the full pairwise geometry. The spectrum organizes that geometry into independent modes.
For primitive-root primes, those modes are the additive characters of the cyclic group $\mathbb{Z}/L\mathbb{Z}$, where $L$ is the repetend length. The eigenvalues are the projections of the autocorrelation onto those characters.
The eigenvalues are not arbitrary numerical features of the matrix. They are a character expansion of a finite combinatorial object built from the repeating digits of $1/p$.
Repeating decimals have been computed since Leibniz. The cyclic structure of $1/7$ has been printed in textbooks, noted in recreational mathematics, marveled at in classrooms for centuries. What nobody wrote down is that the digit sequence, compared against its own cyclic shifts, produces a Fourier spectrum, and that spectrum is the eigenvalue structure of the entire pairwise agreement geometry of the fractional field.
It was in the digits. It was always in the digits. The matrix only made it visible.
A note from 2026
April 2026
This is the paper where the harmonic language stops being metaphorical. The Cross-Alignment Matrix gives the object. This paper identifies the eigenvalues as Fourier data coming from a finite autocorrelation. After that, the spectral language is not an analogy. It is the natural language of the problem.
Two papers followed from it. The Spectral Power of the Digit Function moves from the eigenvalues to the magnitude profile of the digit bins. The Autocorrelation Formula returns to the autocorrelation itself and makes it explicit. The same pattern reappears in The Collision Spectrum, where a finite arithmetic table is expanded in a natural character basis.
The case $p = 13$ aged well. At first it looks like an exception between the flat spectrum at $p = 7$ and the richer primitive-root cases. It turns out to be an early model of a recurring theme: a rigid involution forcing a two-level spectral picture.
.:.
Try it yourself
Three cases, three spectral shapes.
$ ./nfield spectrum 7
eigenvalues: 1, 1, 1, 1, 1, 1
$ ./nfield spectrum 13
eigenvalues: 4/3 (mult 6), 2/3 (mult 6)
$ ./nfield spectrum 17
eigenvalues: nine distinct values
At $p = 7$, flat. At $p = 13$, two levels. At $p = 17$, spread.
Now look at the decimal expansions.
$ ./nfield field 7
$ ./nfield field 13
$ ./nfield field 17
The spectrum is not coming from nowhere. It is coming from how the repeating blocks agree with their own cyclic shifts, and from how the fractions split into orbits under multiplication by the base. The digit sequence in the field output is the object whose autocorrelation, Fourier transformed, gives the eigenvalues.
Code: github.com/alexspetty/nfield
Paper: The Spectral Structure of Fractional Fields
Alexander S. Petty
July 2021 (updated April 2026)
.:.