The adjacency spectrum of the Tonnetz #
The Tonnetz is the 3-regular graph on the 24 triads ZMod 12 × Bool with t — t' iff
t' ∈ {P t, L t, R t}, the Cayley graph of the PLR group. Its adjacency matrix A over ℂ is
symmetric, and the graph is bipartite on major/minor, so A v = λ v implies
A (sign • v) = -λ (sign • v). Explicit eigenvectors give the eigenvalues
± {3, √5, 2 cos (π/12), √3, 1, 2 cos (5π/12)}, the values |1 + ζ⁴ + ζ⁻³| for ζ a 12th
root of unity. That these are all the eigenvalues is proved in TonnetzCompleteness.
Main results #
A_symm,nbhd_card,A_bipartite,bipartite_neg_eigen.A_mulVec_ones,A_mulVec_sign: eigenvalues3and-3.A_mulVec_golden: eigenvalue√5.A_mulVec_uG: a generic eigenvector lemma for a 12th root of unity;A_mulVec_j4,A_mulVec_j2,A_mulVec_j1,A_mulVec_j5: eigenvalues√3,1,√(2 - √3),√(2 + √3).A_mulVec_neg3,A_mulVec_negGolden,A_mulVec_negJ4,A_mulVec_negJ2,A_mulVec_negJ1,A_mulVec_negJ5: the negative eigenvalues.
References #
- J. Douthett, P. Steinbach, Parsimonious graphs, J. Music Theory 42 (1998).
- A. S. Crans, T. M. Fiore, R. Satyendra, Musical actions of dihedral groups, Amer. Math. Monthly 116 (2009) 479–495.
- V. Lostanlen, Eigentriads and eigenprogressions on the Tonnetz, arXiv:1810.00790.
- L. Babai, Spectra of Cayley graphs, J. Combin. Theory Ser. B 27 (1979).
- C. Marín, The Tonnetz spectrum is the generating triad's Fourier balance profile, Zenodo (2026), doi:10.5281/zenodo.20862821.
Local re-statement of the triad type and the neo-Riemannian operations. #
The same definitions as in NeoRiemannian (Triad, Pf, Lf, Rf). These are plain functions Triad → Triad
(involutions); we only need them as the neighbour map of the Cayley graph.
A triad: root pitch-class in ZMod 12, quality bit (true = major). 24 of them.
Equations
Instances For
The Cayley-graph adjacency operator over ℂ. #
The neighbour relation: t — t' iff t' ∈ {P t, L t, R t}.
Equations
- MusicTheory.TonnetzSpectrum.adj t t' = if t' = MusicTheory.TonnetzSpectrum.Pf t ∨ t' = MusicTheory.TonnetzSpectrum.Lf t ∨ t' = MusicTheory.TonnetzSpectrum.Rf t then 1 else 0
Instances For
The adjacency matrix of the PLR/Tonnetz Cayley graph, over ℂ.
Instances For
T1a — symmetry. P, L, R are involutions, so the neighbour relation is symmetric. #
T1a. The Tonnetz adjacency matrix is symmetric.
T1b — 3-regularity. The three neighbours P t, L t, R t are pairwise distinct. #
T1c — the +3 eigenvector (all-ones; row sum = #neighbours = 3). #
T1d — the −3 eigenvector. P, L, R all FLIP the quality bit, so every edge crosses #
major↔minor (the graph is bipartite on Bool); the sign vector s t = ±1 by quality is an
eigenvector with eigenvalue −3.
T1e — bipartiteness, as a named fact. Every neighbour has the opposite quality. #
Bipartite on quality. Every Tonnetz edge crosses major↔minor: if t — t' then t'.2 = !t.2.
(Immediate from neighbours_flip.)
T1f — bipartite negation. Because every edge crosses major↔minor, multiplying any #
eigenvector by the maj/min sign vector negates its eigenvalue. One lemma, and every positive
eigenvalue immediately yields its negative (and A_mulVec_sign falls out of A_mulVec_ones).
T1f (bipartite negation). If v is an eigenvector with eigenvalue λ, then its sign-twist
signMul v is an eigenvector with eigenvalue −λ. The Tonnetz graph is bipartite on quality, so
the spectrum is symmetric about 0.
T2 — the golden eigenvalue √5. (GREEN.) #
The j = 3 dihedral irrep. With ω = e^{2πi/12} the j = 3 value is |1 + ω³ + ω⁹| = |1 + i + i| = |1 + 2i| = √5 (since ω³ = i). Concretely, the diagonalizing character on roots is χ x = i^x
(I is ω³, of order 4, and 12 is divisible by 4 so χ descends to ZMod 12). The explicit
golden eigenvector is
u (x, major) = χ x · (2 + i), u (x, minor) = χ x · √5.
Verification, neighbour by neighbour. P, L, R send a major (x,true) to the three minors
(x,false), (x+4,false), (x−3,false); using χ(x+4) = χ x and χ(x−3) = χ x · i:
(A u)(x,major) = √5 · χ x · (1 + 1 + i) = √5 · χ x · (2 + i) = √5 · u(x,major). ✓ (no √5²)
For a minor (x,false) the neighbours are the majors (x,true), (x−4,true), (x+3,true); with
χ(x−4) = χ x, χ(x+3) = χ x · (−i):
(A u)(x,minor) = (2+i) · χ x · (1 + 1 − i) = (2+i)(2−i) · χ x = 5 · χ x = √5 · u(x,minor),
the only place the identity (√5)² = 5 enters (Real.sq_sqrt). All i^k reduce by i⁴ = 1.
The order-4 character χ x = iˣ on the roots (i = ω³). Well-defined on ZMod 12 because
i¹² = 1.
Equations
Instances For
The golden eigenvector of the Tonnetz adjacency operator (the j = 3 dihedral irrep):
χ x · (2 + i) on majors, χ x · √5 on minors.
Equations
- MusicTheory.TonnetzSpectrum.u t = if t.2 = true then MusicTheory.TonnetzSpectrum.chi t.1 * (2 + Complex.I) else MusicTheory.TonnetzSpectrum.chi t.1 * ↑√5
Instances For
(√5 : ℂ)² = 5 — the single irrational identity the minor case needs.
T3 — the remaining two-dimensional irreps, via a generic character. #
For each j the diagonalizing character on roots is χ_ζ x = ζ^x with ζ = ω^j a 12th root of
unity (ζ¹² = 1), and the eigenvector is u_ζ(x,maj) = ζ^x · p, u_ζ(x,min) = ζ^x · λ, with
p = 1 + ζ⁴ + ζ⁻³ and λ = |p|. The major equation needs only p; the minor equation needs the
single irrational identity p · conj p = λ². We package this once and specialize per j.
A generic 12th-root character χ_z x = z^x (well-defined on ZMod 12 exactly when z¹² = 1).
Equations
- MusicTheory.TonnetzSpectrum.chiG z x = z ^ x.val
Instances For
Generic eigenvector for parameters (z, p, lam): z^x · p on majors, z^x · lam on minors.
Equations
- MusicTheory.TonnetzSpectrum.uG z p lam t = if t.2 = true then MusicTheory.TonnetzSpectrum.chiG z t.1 * p else MusicTheory.TonnetzSpectrum.chiG z t.1 * lam
Instances For
Generic two-dimensional-irrep eigenvector lemma. Given a 12th root of unity z and scalars
p, lam satisfying the structural relations
p = 1 + z⁴ + z⁻³ (root-walk closes on the major side),
lam² = p · (1 + z⁻⁴ + z³) (minor side; the irrational step), and
lam · 1 = lam, lam·(z⁴.val…) handled by the shift law,
the vector uG z p lam is an A-eigenvector with eigenvalue lam. The two hypotheses are
hp : 1 + z^(4) + z^((-3:ZMod 12).val) = p and hlam : p * (1 + z^((-4:ZMod 12).val) + z^3) = lam^2.
j = 4 → eigenvalue √3. ζ = ω⁴ = e^{2πi/3}, a primitive cube root; p = 2 + ζ, |p| = √3. #
The primitive cube root ζ = ω⁴ = (−1 + √3·i)/2.
Instances For
z4³ = 1 (primitive cube root), from the quadratic relation.
j = 2 → eigenvalue 1. ζ = ω² = e^{2πi/6}, a primitive 6th root; p = ζ⁸ = ω¹⁶, |p| = 1. #
The primitive 6th root ζ = ω² = (1 + √3·i)/2.
Instances For
z2³ = −1 (so z2⁶ = 1), from the quadratic relation.
j = 1 → eigenvalue 2cos(5π/12) = √(2−√3). ζ = ω = e^{iπ/6} = (√3 + i)/2, a primitive #
12th root. p = 1 + ζ⁴ + ζ⁻³ = 1 + ζ⁴ + ζ⁹, |p|² = 2 − √3. (The "hard" 12th-root case; closed via
ζ³ = i, so every needed power is an explicit {1, ζ, ζ², i}-combination.)
The primitive 12th root ζ = ω = (√3 + i)/2.
Instances For
j = 5 → eigenvalue 2cos(π/12) = √(2+√3). ζ = ω⁵ = e^{5iπ/6} = (−√3 + i)/2, a primitive #
12th root. p = 1 + ζ⁴ + ζ⁹, |p|² = 2 + √3. Same machinery; ζ³ = i.
The primitive 12th root ζ = ω⁵ = (−√3 + i)/2.
Instances For
T3⁻ — the negative half of the spectrum, for free via bipartite negation. #
Each positive eigenvector, twisted by sign, gives the matching negative eigenvalue. This realizes
the full symmetric multiset ± {3, √5, 2cos(π/12), √3, 1, 2cos(5π/12)} without re-proving anything.
(A_mulVec_sign above is the λ = 3 instance of the same fact, kept as a standalone for the header.)
Ramanujan bound. The PLR/Tonnetz graph is 3-regular (nbhd_card), so its degree is #
d = 3 and the Ramanujan threshold for a d-regular graph is 2√(d−1) = 2√2. Among the
non-trivial eigenvalues (i.e. excluding the Perron pair ±3) the one of largest modulus is the
golden eigenvalue √5 = 2φ−1 (the j = 3 dihedral irrep, A_mulVec_golden). The core arithmetic
fact is that √5 lies strictly below the bound 2√2 = √8 (since 5 < 8); hence the PLR graph
satisfies the Ramanujan inequality λ_nontrivial ≤ 2√(d−1).
Graph: Douthett–Steinbach 1998 (chicken-wire torus / PLR cycles). Identification PLR ≅ D₂₄ =
Cay(D₂₄, {P,L,R}): Crans–Fiore–Satyendra, "Musical actions of dihedral groups", AMM 116 (2009).
Ramanujan graphs / the 2√(d−1) bound: Lubotzky–Phillips–Sarnak, "Ramanujan graphs",
Combinatorica 8 (1988).
This corollary certifies the controlling inequality √5 < 2√2 and relies on the explicit
eigenvectors above for the eigenvalue facts. That ±{3, √5, 2cos(π/12), √3, 1, 2cos(5π/12)} is the
complete spectrum — and hence that √5 really is the largest non-trivial modulus — is proved in
TonnetzCompleteness.
The Ramanujan inequality for the PLR/Tonnetz graph (core). The golden eigenvalue √5
(the largest non-trivial PLR-graph eigenvalue) lies strictly below the 3-regular Ramanujan
bound 2√(d−1) = 2√2. Arithmetic core: 2√2 = √8 and 5 < 8.