A-12.4 Vandermonde Matrix with Roots of Cyclotomic Polynomial over Complex Numbers

In this subsection, we will build a Vandermonde matrix (§A-11.2) with the n distinct roots of the μ-th cyclotomic polynomial over complex numbers (where μ is a power of 2) as follows:

⟨Theorem A-12.4⟩ Vandermonde Matrix with the Roots of (power-of-2)-th Cyclotomic Polynomial over Complex Numbers

Suppose we have an n ×n (where n is a power of 2) Vandermonde matrix comprised of n distinct roots of the μ-th cyclotomic polynomial (explained in Theorem A-8.2.1 in §A-8.2), where μ is a power of 2 and n = μ 2. In other words, V = 𝑉𝑎𝑛𝑑𝑒𝑟(x0,x1,⋯,xn−1), where each xj = (e𝑖𝜋∕n)2j−1 for 1 ≤j ≤n (i.e., the primitive μ-th roots of unity). Then, the following holds:

V ⋅V T = [ 0 ⋯ 0 0 n 0 ⋯ 0 n 0 0 ⋯ n 0 0 ⋮ ... ⋮ ⋮ ⋮ n 0 0 ⋯ 0 ] = n⋅InR

And V −1 = V T ⋅InR n

Proof.

1.
Given ω = e𝑖𝜋∕n, each xj = (ω)2j−1. Thus, we can expand as follows:

V ⋅V T = [ 1 (ω) (ω)2 ⋯ (ω)n−1 1 (ω3) (ω3)2 ⋯ (ω3)n−1 1 (ω5) (ω5)2 ⋯ (ω5)n−1 ⋮ ⋮ ⋮ ⋱ ⋮ 1 (ω2n−1) (ω2n−1)2 ⋯ (ω2n−1)n−1 ] ⋅[ 1 1 1 ⋯ 1 (ω) (ω3) (ω5) ⋯ (ω2n−1) (ω)2 (ω3)2 (ω5)2 ⋯ (ω2n−1)2 ⋮ ⋮ ⋮ ⋱ ⋮ (ω)n−1 (ω3)n−1 (ω5)n−1 ⋯ (ω2n−1)n−1 ]

= [ ∑ ⁡ k=0n−1ω2k ∑ ⁡ k=0n−1ω4k ∑ ⁡ k=0n−1ω6k ⋯ ∑ ⁡ k=0n−1ω2𝑛𝑘 ∑ ⁡ k=0n−1ω4k ∑ ⁡ k=0n−1ω6k ∑ ⁡ k=0n−1ω8k ⋯ ∑ ⁡ k=0n−1ω2k(n+1) ∑ ⁡ k=0n−1ω6k ∑ ⁡ k=0n−1ω8k ∑ ⁡ k=0n−1ω10k ⋯ ∑ ⁡ k=0n−1ω2k(n+2) ⋮ ⋮ ⋮ ⋱ ⋮ ∑ ⁡ k=0n−1ω2𝑛𝑘 ∑ ⁡ k=0n−1ω2(n+1)k ∑ ⁡ k=0n−1ω2(n+2)k ⋯ ∑ ⁡ k=0n−1ω2(n+n−1)k ]

2.
The V ⋅V T matrix’s anti-diagonal elements are ∑ ⁡ k=0n−1ω2𝑛𝑘. We can derive the following:

∑ ⁡ k=0n−1ω2𝑛𝑘 = ∑ k=0n−1(e𝑖𝜋∕n)2𝑛𝑘 = ∑ k=0n−1e2𝜋𝑘𝑖 = ∑ k=0n−1(cos⁡(2𝜋𝑘)+isin⁡(2𝜋𝑘)) = ∑ k=0n−1(1+0) = n

This means that The V ⋅V T matrix’s anti-diagonal elements are n.

3.
Next, we will prove that the V ⋅V T matrix has 0 for all positions except for the anti-diagonal ones. In other words, we will prove the following:

∑ ⁡ k=0n−1ω2k = ∑ k=0n−1ω4k = ∑ k=0n−1ω6k = ⋯ = ∑ k=0n−1ω2(n−1)k = ∑ k=0n−1ω2(n+1)k = ⋯ = ∑ k=0n−1ω2(2n−1)k = 0

For this proof, we will leverage the Geometric Sum formula ∑ ⁡ i=0n−1xi = xn −1 x −1 :

⟨Theorem A-12.4.1⟩ Geometric Sum Formula

Let the geometric sum Sn = 1 + x + x2 + ⋯ + xn−1

Then, x ⋅Sn = x + x2 + x3 + ⋯ + xn

x ⋅Sn −Sn = (x + x2 + x3 + ⋯ + xn) −(1 + x + x2 + ⋯ + xn−1) = xn −1

Sn ⋅(x −1) = xn −1

Sn = xn −1 x −1 ▹ with the constraint that x≠1

Leveraging the Geometric Sum formula ∑ ⁡ i=0n−1xi = xn −1 x −1 ,

∑ ⁡ k=0n−1ω2𝑚𝑘 = (ω2m)n −1 ω2m −1 = (ω2n)m −1 ω2m −1 = 1 −1 ω2m −1 = 0 for 1 ≤m ≤(2n −1) ▹since 𝖮𝗋𝖽(ω) = 2n

Therefore,

∑ ⁡ k=0n−1ω2k = ∑ k=0n−1ω4k = ∑ k=0n−1ω6k = ⋯ = ∑ k=0n−1ω2(n−1)k = ∑ k=0n−1ω2(n+1)k = ⋯ = ∑ k=0n−1ω2(2n−1)k = 0

4.
Based on the proof of step 2 and 3, V ⋅V T = [ 0 ⋯ 0 0 n 0 ⋯ 0 n 0 0 ⋯ n 0 0 ⋮ ... ⋮ ⋮ ⋮ n 0 0 ⋯ 0 ] = n⋅InR
5.
Given V ⋅V T = n ⋅InR,

V −1 ⋅V ⋅V T = V −1 ⋅n ⋅InR

V T = V −1 ⋅n ⋅InR

V T ⋅InR = V −1 ⋅n ⋅InR ⋅InR

V T ⋅InR = V −1 ⋅n # since InR ⋅InR = In

V −1 = V T ⋅InR n

□

Later in the CKKS scheme (§D-3), we will use V −1 to encode a complex vector into a real number vector, and V T to decode a real number vector into a complex vector (§D-3.2).

Condition for 𝛍: The identity V ⋅V T = n ⋅InR relies only on 𝖮𝗋𝖽(ω) = 2n (step 3), so it holds for any μ = 2n (i.e., any even number). The nodes ω,ω3,…,ω2n−1 are likewise the n roots of Xn + 1 for any n, since (ω2j−1)n = ω2𝑛𝑗 ⋅ω−n = 1 ⋅(−1) = −1.

Nevertheless, the reason we take μ to be a power of 2 does not come from this theorem, but from the FHE schemes themselves. In practice, CKKS, BFV, and BGV are most commonly instantiated over the power-of-2 cyclotomic ring ℤ[X]∕(Xn + 1) with n a power of 2, because this choice makes Xn + 1 = Φ2n(X) irreducible over rational numbers (which holds precisely when n is a power of 2), and also enables efficient negacyclic-NTT multiplication and a clean Ring-LWE security reduction. Once n (hence μ = 2n) is fixed as a power of 2, the nodes are automatically the primitive μ-th roots of unity: by Theorem A-7.2.4 (§A-7.2), ωk is a primitive μ-th root iff gcd ⁡ (μ,k) = 1, and every odd exponent 1,3,…,2n −1 is coprime to μ = 2n iff 2n has no odd prime factor—i.e. iff 2n is a power of 2. So {ω,ω3,…,ω2n−1}being exactly the primitive (μ = 2n)-th roots is a consequence of the power-of-2 ring choice. Meanwhile, as far as μ is an even number, V ⋅V T = n ⋅InR still holds.