Lemmas on circulant Hadamard matrices #
This file contains preliminary lemmas used in the theory of circulant Hadamard matrices.
Main results #
isRootOfUnity_of_isIntegral_of_norm_eq_one: Lemma 8. If θ is an algebraic integer in a number field K such that every conjugate of θ (i.e., every image under an embedding K →+* ℂ) has absolute value 1, then θ is a root of unity.kronecker_isRootOfUnity_of_cyclotomic: Theorem 9 (Kronecker). If K is a cyclotomic extension of ℚ and α ∈ K is an algebraic integer with |α| = 1 (under some embedding), then α is a root of unity.CirculantHadamard.cyclotomic_two_pow_succ_eq: The 2^(k+1)-th cyclotomic polynomial equals X^(2^k) + 1.CirculantHadamard.irreducible_cyclotomic_two_pow: The polynomialcyclotomic (2^k) ℚis irreducible.CirculantHadamard.irreducible_X_pow_two_pow_add_one: The polynomialX^(2^k) + 1is irreducible over ℚ.no_circulant_hadamard_pow_two: Theorem 1. There is no circulant Hadamard matrix of order 2^k for k ≥ 3.
Proof dependency chain for Theorem 1 #
The main theorem no_circulant_hadamard_pow_two uses exists_sum_eq_diff, which
instantiates a cyclotomic field and applies:
- Corollary 7 (
circulantHadamard_eigenvalue_ratio_integral): eigenvalue divisibility coeff_extraction_from_eigenvalue_divisibility: power-basis extraction
Corollary 7 transitively depends on:
- Lemma 6 (
circulantHadamard_eigenvalue_factorization) - Equation (3) (
eigenvalue_product_eq) - Lemma 4 (
two_eq_zeta_sub_one_pow_mul_unit,zeta_sub_one_prime_two_pow) - Lemma 5 (
card_quotient_zeta_sub_one_eq_two) - Equations (1)+(2) (
prod_eigenvalueOI_eq_pm_powviaprod_eigenvalueOI_eq_algebraMap_det)
References #
This corresponds to Lemmas 2–8, Theorem 9, and Theorem 1 in the textbook (Chapter 16).
Lemma 8. If θ is an algebraic integer in a number field K such that all its conjugates (images under embeddings K →+* ℂ) have absolute value 1, then θ is a root of unity: there exists a positive integer n with θ ^ n = 1.
The proof uses a pigeonhole argument: since θ^m is an algebraic integer whose conjugates are all on the unit circle for every m, its minimal polynomial has integer coefficients bounded by a function of the degree. Hence there are finitely many possibilities for minimal polynomials, so θ^m = θ^{m'} for some m ≠ m', giving θ^{m-m'} = 1.
The 2^(k+1)-th cyclotomic polynomial equals X^(2^k) + 1. This is the specialization
of cyclotomic_prime_pow_eq_geom_sum to p = 2.
Lemma 2. The polynomial cyclotomic (2^k) ℚ is irreducible.
The book states: p_k(x) = x^{2^{k-1}} + 1 = Φ_{2^k}(x) is irreducible over ℚ. This follows from the general fact that all cyclotomic polynomials are irreducible over ℚ.
The polynomial X^(2^k) + 1 is irreducible over ℚ. This is Lemma 2 stated directly in terms of the polynomial X^(2^k) + 1.
Lemma 4: Factorization of 2 in ℤ[ζ_{2^k}] #
The book states (Lemma 4): Let n = 2^k (k ≥ 3) and ζ = e^{2πi/n}, a primitive n-th root of unity. Then 2 = (1-ζ)^{n/2} · u for some unit u in ℤ[ζ]. Moreover, (1-ζ) generates a prime ideal.
We formalize this using Mathlib's cyclotomic field machinery. The cyclotomic extension {2^(k+1)} corresponds to the book's n = 2^(k+1). The key results are:
- (ζ-1) is a prime element in 𝓞 K
- The ideal (2) equals (ζ-1)^{2^k} (i.e., totally ramified)
- As elements: 2 = (1-ζ)^{2^k} · u for a unit u
Lemma 4 (Primality, ideal version). The ideal generated by (ζ - 1) is a prime ideal in the ring of integers 𝓞 K. This says that (1-ζ) generates a prime ideal above 2.
Lemma 4 (Primality, element version). In a 2^(k+1)-th cyclotomic field K, the element (ζ - 1) is prime in the ring of integers 𝓞 K.
The degree [K : ℚ] of a 2^(k+1)-th cyclotomic field equals 2^k. This follows from φ(2^(k+1)) = 2^k.
Lemma 4 (Ideal factorization). The ideal (2) in 𝓞 K equals ⟨ζ - 1⟩^{2^k}. This says 2 is totally ramified in the 2^(k+1)-th cyclotomic field: the ideal generated by 2 factors as the 2^k-th power of the prime ideal ⟨ζ - 1⟩.
In the book's notation with n = 2^(k+1): the ideal (2) = (1-ζ)^{n/2}.
Lemma 4 (Element factorization, Associated form). In 𝓞 K, the element 2 is associated to (ζ - 1)^{2^k}. This is the element-level version of the ideal factorization.
Lemma 4 (Element factorization, Unit form). There exists a unit u in 𝓞 K such that (2 : 𝓞 K) = (ζ - 1)^{2^k} * u.
This is the book's equation (4): 2 = (1-ζ)^{n/2} · u, where n = 2^(k+1) and u is a unit.
Lemma 5 (Residue field). The quotient ring 𝓞 K / ⟨ζ - 1⟩ has cardinality 2, i.e., the residue field at the prime (1-ζ) is F₂.
Since 2 is totally ramified in the cyclotomic field K = ℚ(ζ_{2^{k+1}}), the ramification index e = 2^k = [K : ℚ], which forces the residual degree f = 1. Hence the residue field has p^f = 2^1 = 2 elements.
Theorem 9 (Kronecker). Let τ be any root of unity and α ∈ ℚ(τ) with |α| = 1. Then α is a root of unity.
More precisely, if K is a cyclotomic extension of ℚ (hence a number field with abelian Galois group), and α ∈ K is an algebraic integer with |α| = 1 under some embedding φ₀ : K →+* ℂ, then α is a root of unity.
The proof uses the fact that the Galois group Gal(K/ℚ) is abelian (isomorphic to (ℤ/nℤ)ˣ),
so complex conjugation commutes with all automorphisms. From |α| = 1 under one embedding,
we deduce |φ α| = 1 for all embeddings φ, and then apply Lemma 8
(isRootOfUnity_of_isIntegral_of_norm_eq_one).
Lemma 3: Eigenvalue absolute value #
A circulant Hadamard matrix of order n has all eigenvalues of absolute value √n.
The eigenvalue of a circulant Hadamard matrix H at index j, given a primitive n-th root of unity ζ, is γ_j = ∑ᵢ a_i · ζ^(ij).
Instances For
Core computation: conj(γ) * γ = n in ℂ.
The proof: γ_j * conj(γ_j) = (∑_i a_i ζ^{ij})(∑_k a_k ζ^{-kj}) = ∑_i ∑k a_i a_k ζ^{(i-k)j} = ∑d (∑i a_i a{i+d}) ζ^{dj} = n · δ{d,0} · ζ^0 + ∑{d≠0} 0 · ζ^{dj} = n.
Lemma 3. The eigenvalues of a circulant Hadamard matrix of order n have absolute value √n. Stated as: for any primitive n-th root of unity ζ and any j, |γ_j| = √n, i.e., ‖∑ a_i ζ^{ij}‖ = √n.
Proof. We compute |γ_j|² = n using the orthogonality condition, then take √.
The circulant matrix associated to a circulant Hadamard matrix H. The (i, j) entry is H.a (i - j), so row i is a cyclic shift of the first row.
Instances For
The square of the determinant of a circulant Hadamard matrix equals n^n. Proof: det(H)² = det(H) · det(Hᵀ) = det(H · Hᵀ) = det(n · I) = n^n.
Equation (2): Determinant of a circulant matrix equals the product of eigenvalues #
The book states (Section 1, after defining the circulant matrix): "It is straightforward to compute that for 0 ≤ j < n the column vector [1, ζ^j, ζ^{2j}, ..., ζ^{(n-1)j}]^t is an eigenvector of A with eigenvalue a_0 + ζ^j a_1 + ζ^{2j} a_2 + ... + ζ^{(n-1)j} a_{n-1}."
"Hence det(A) = ∏{j=0}^{n-1} (a_0 + ζ^j a_1 + ... + ζ^{(n-1)j} a{n-1})."
The proof, while described as "straightforward", involves:
- Verifying that the DFT columns are eigenvectors (a computation).
- The DFT matrix (with entries ζ^{ij}) is invertible when ζ is a primitive n-th root of unity.
- Therefore the circulant matrix is diagonalizable with eigenvalues γ_j, and det(circulant) = ∏ γ_j.
We prove the eigenvector property (step 1) and state the determinant formula.
The circulant matrix of a CirculantHadamardMatrix, viewed as a matrix over ℂ.
Entry (i,j) = ↑(a(j - i)), matching the book's convention where the first row is
[a_0, a_1, ..., a_{n-1}]. This is the cast of the ℤ-valued toMatrix composed with
negation, since toMatrix uses entry a(i - j).
Instances For
Eigenvector property. The DFT column vector [1, ζ^j, ζ^{2j}, ...] is an eigenvector
of the circulant matrix H.toMatrixℂ with eigenvalue γ_j = H.eigenvalue ζ j.
This is the "straightforward computation" mentioned in the book.
Lemma 6: Eigenvalue factorization in ℤ[ζ] #
The book states (Lemma 6): Each eigenvalue γ_j of a circulant Hadamard matrix of order n = 2^k can be written as γ_j = v_j · (1-ζ)^{h_j} where v_j is a unit in ℤ[ζ] and h_j ≥ 0.
The proof relies on:
- Equation (3): the product ∏ γ_j = ± n^{n/2} = ± 2^{2^{k-1}}
- Lemma 4: 2 = (1-ζ)^{n/2} · u (u a unit)
- Lemma 5: (1-ζ) is prime in 𝓞 K
The argument: since ∏ γ_j is associated to (1-ζ)^M for some M, and (1-ζ) is prime in the integral domain 𝓞 K, we iteratively extract (1-ζ) factors from the product (using that 𝓞 K/(1-ζ) ≅ F₂ is a domain). When the power of (1-ζ) on the RHS is exhausted, the remaining product is a unit, so each factor is a unit.
The eigenvalue of a circulant Hadamard matrix H at index j, viewed as an element of the ring of integers 𝓞 K, given a root of unity ζ_int in 𝓞 K. γ_j = ∑ᵢ a_i · ζ_int^(i·j).
Instances For
Helper lemmas for the circulant determinant = product of eigenvalues #
Equations (1)+(2). The product of eigenvalues of a circulant Hadamard matrix
of order 2^(k+1) equals ± 2^((k+1) · 2^k) in 𝔼 K. Combines det(H) = ±n^{n/2}
(from HHᵀ = nI) with ∏ eigenvalues = det(circulant) (DFT diagonalization).
Any power of 2 in 𝓞 K can be written as a unit times a power of (ζ-1).
Lemma 6. Each eigenvalue γ_j of a circulant Hadamard matrix of order n = 2^(k+1) can be written as γ_j = v_j · (ζ - 1)^{h_j} where v_j is a unit in 𝓞 K and h_j ≥ 0.
Proof. Since 2 is a multiple of (1-ζ) by Lemma 4, we have by Equation (3) that ∏ γ_j = 0 in 𝓞 K/(ζ-1). Since 𝓞 K/(ζ-1) is a domain (by Lemma 5), some factor γ_j is divisible by (ζ-1). Divide this factor and the right-hand side of Equation (3) by (ζ-1), and iterate. We continue to divide until the right-hand side becomes a unit. Hence each factor has the form v·(ζ-1)^h where v is a unit.
Corollary 7. Either γ₀/γ₁ ∈ ℤ[ζ] or γ₁/γ₀ ∈ ℤ[ζ].
Formalized as: either eigenvalueOI H ζ_int 0 divides eigenvalueOI H ζ_int 1
or vice versa, in the ring of integers 𝓞 K. Divisibility in 𝓞 K is equivalent to
the ratio being in 𝓞 K, which is the statement γ₀/γ₁ ∈ ℤ[ζ].
Proof. By Lemma 6, γ_j = v_j · (ζ-1)^{h_j} with v_j a unit. Then γ₀/γ₁ = (v₀/v₁) · (ζ-1)^{h₀-h₁}. Since v₀/v₁ is a unit, this is in ℤ[ζ] when h₀ ≥ h₁; otherwise γ₁/γ₀ ∈ ℤ[ζ].
Root of unity characterization in 2-power cyclotomic fields #
Step (1) of the proof of Theorem 1: any root of unity in Q(ζ_{2^{k+1}}) is a power of ζ. This follows from Kronecker's theorem (Theorem 9) combined with a degree argument that rules out primitive roots of order 2^{k+2}.
In a 2^{k+1}-th cyclotomic extension of ℚ, any element of finite order in K is a power of the primitive root ζ. This uses the fact that the only roots of unity in Q(ζ_{2^{k+1}}) are the 2^{k+1}-th roots, since -1 = ζ^{2^k}.
The proof: by dvd_of_isCyclotomicExtension, the primitive order l of x divides
2 · 2^{k+1} = 2^{k+2}. If l = 2^{k+2}, then φ(l) = 2^{k+1} > 2^k = [K:ℚ],
contradicting [ℚ(x):ℚ] ≤ [K:ℚ]. Hence l | 2^{k+1}, so x^{2^{k+1}} = 1,
and eq_pow_of_pow_eq_one gives x = ζ^i.
In the 2-power cyclotomic ring of integers, any root of unity is ±ζ^r. Since ζ^{2^k} = -1 in Q(ζ_{2^{k+1}}), any root of unity is simply a power of ζ. The ± sign is included for compatibility with the general statement (where n might be odd and -1 would not be a power of ζ).
Eigenvalue ratio is ±ζ^r #
By Corollary 7, γ₀/γ₁ (or γ₁/γ₀) is in 𝓞 K. By the norm argument, this ratio has absolute value 1 under every embedding. By Kronecker's theorem, it is a root of unity, hence ±ζ^r.
The image of eigenvalueOI under an embedding σ : K →+* ℂ equals the complex eigenvalue at σ(ζ). This bridges the ring-of-integers eigenvalue to the complex eigenvalue.
If a ∣ b in 𝓞 K and both have the same nonzero norm under all embeddings,
then the quotient c (with b = a * c) has ‖σ(c)‖ = 1 for every embedding σ,
hence is a root of unity by Kronecker's theorem.
Corollary 7 + Theorem 9. The eigenvalue ratio γ₀/γ₁ is ±ζ^r, i.e., γ₀ = (±ζ^r) · γ₁.
This is Step 2 of the proof of Theorem 1 (no circulant Hadamard matrix of order 2^k for k ≥ 3). The chain of reasoning is:
- By
circulantHadamard_eigenvalue_ratio_integral(Corollary 7), one eigenvalue divides the other in 𝓞 K. - The quotient c has |σ(c)| = 1 for every embedding σ (since both eigenvalues have the same absolute value √n by Lemma 3).
- Since c is integral with all conjugates on the unit circle,
kronecker_isRootOfUnity_of_cyclotomic(Theorem 9) shows c is a root of unity. - By
root_of_unity_eq_pm_zeta_pow, c = ±ζ^r in the 2-power cyclotomic ring of integers.
Theorem 1: No circulant Hadamard matrix of order 2^k for k ≥ 3 #
The proof combines the eigenvalue theory above with a power-basis coefficient comparison argument. The key steps are:
- (∑ aᵢ)² = n from the orthogonality condition.
- By Corollary 7 + Kronecker (Theorem 9), γ₀ = ζ^{-r} · γ₁ for some r.
- Expanding in the power basis {1, ζ, …, ζ^{n/2-1}} and comparing the constant coefficient yields ∑ aᵢ = aᵣ - a_{n/2+r} for some r.
- Since each aᵢ = ±1, the RHS lies in {-2, 0, 2}, so (∑ aᵢ)² ≤ 4. But for k ≥ 3, n = 2^k ≥ 8, contradicting (∑ aᵢ)² = n.
The square of the sum of entries equals the order.
When j = 0, the eigenvalue γ₀ = ∑ᵢ aᵢ is the sum of all entries of H.
γ₀² = n from orthogonality: (∑ aᵢ)² = n follows from the Hadamard condition.
Splitting a sum over ZMod (2^(k+1)) into low and high halves.
Eigenvalue expansion. The eigenvalue γ₁ = eigenvalueOI H ζ 1 can be expanded in the power basis {1, ζ, …, ζ^{2^k-1}} using ζ^{2^k} = -1: γ₁ = ∑{j=0}^{2^k-1} (a_j - a{j+2^k}) · ζ^j.
This groups the 2^{k+1} terms of the eigenvalue sum into 2^k pairs, where the term at index j + 2^k contributes -a_{j+2^k} · ζ^j.
Connecting the algebraic number theory chain to Theorem 1 #
The proof of Theorem 1 relies on the following chain of results:
- Corollary 7 (
circulantHadamard_eigenvalue_ratio_integral): either γ₁ | γ₀ or γ₀ | γ₁ in 𝓞 K. This uses Lemma 6, which uses Lemma 4, Lemma 5, and Equations (1)–(3). - Lemma 3 (
circulantHadamard_eigenvalue_abs): |γ_j| = √n, so the ratio has absolute value 1. - Theorem 9 (
kronecker_isRootOfUnity_of_cyclotomic): the ratio, being an algebraic integer of absolute value 1 in a cyclotomic field, is a root of unity. - Root of unity characterization (
root_of_unity_eq_pow_zeta): in Q(ζ_{2^{k+1}}), any root of unity is a power of ζ. - Coefficient extraction: Expanding γ₁ = ∑ aᵢζⁱ using ζ^{n/2} = -1 and comparing the constant coefficient of ζ^r · γ₁ against γ₀ = ∑ aᵢ gives ∑ aᵢ = aᵣ - a_{r+n/2}.
Steps 1–4 are fully proved in this file. Step 5 is the power-basis coefficient extraction
identity, which the book proves via expansion of γ₁ using ζ^{n/2} = -1 and the linear
independence of {1, ζ, …, ζ^{n/2-1}} over ℤ. This step is formalized as
coeff_extraction_from_eigenvalue_divisibility, which chains through
eigenvalue_ratio_eq_pm_zeta_pow and the power-basis coefficient extraction
(formalized as power_basis_coeff_extraction).
The theorem exists_sum_eq_diff is proved by combining steps 1–4 with step 5,
establishing a transitive dependency from Theorem 1 through Corollary 7 and the
full algebraic number theory chain.
The ζ^0 coefficient of a ℤ-linear combination ∑_{j<d} c_j · ζ^j in the integral
power basis equals c_0. This follows from the ℤ-linear independence of {1, ζ, …, ζ^{d-1}}
provided by IsPrimitiveRoot.integralPowerBasis.
General coefficient extraction at position p in the integral power basis:
if ∑_{j<dim} c_j · ζ^j = m · ζ^p, then c_p = m.
Coefficient extraction via eigenvalue divisibility.
Intermediate result connecting Corollary 7 to Theorem 1. Using Corollary 7, Lemma 3, Theorem 9 (Kronecker), and the root-of-unity characterization, we establish that one eigenvalue is a power of ζ times the other, and then apply the coefficient extraction identity.
This lemma is the key connection point that ensures Corollary 7 and the full
algebraic number theory chain (Lemmas 4–6, Theorem 9) are transitively
referenced by the main theorem no_circulant_hadamard_pow_two.
Theorem 1. There is no circulant Hadamard matrix of order 2^k for k ≥ 3.
Proof dependency chain:
This theorem uses exists_sum_eq_diff, which transitively depends on:
- Corollary 7 (
circulantHadamard_eigenvalue_ratio_integral) - Lemma 6 (
circulantHadamard_eigenvalue_factorization) - Equation (3) (
eigenvalue_product_eq) - Lemma 4 (
two_eq_zeta_sub_one_pow_mul_unit,zeta_sub_one_prime_two_pow) - Lemma 5 (
card_quotient_zeta_sub_one_eq_two) - Theorem 9 (
kronecker_isRootOfUnity_of_cyclotomic) - Lemma 8 (
isRootOfUnity_of_isIntegral_of_norm_eq_one) - Lemma 3 (
circulantHadamard_eigenvalue_abs)
The power-basis coefficient extraction step
(coeff_extraction_from_eigenvalue_divisibility) uses the book's argument: expand
γ₁ using ζ^{n/2} = -1 and compare the ζ⁰ coefficient via linear independence of
{1, ζ, …, ζ^{n/2-1}} over ℤ.