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

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

Theorem A-11.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,,xn1), where each xj = (e𝑖𝜋n)2j1 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 ] = nInR

And V 1 = V T InR n

Proof.

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

V V T = [ 1 (ω) (ω)2 (ω)n1 1 (ω3) (ω3)2 (ω3)n1 1 (ω5) (ω5)2 (ω5)n1 1 (ω2n1) (ω2n1)2 (ω2n1)n1 ] [ 1 1 1 1 (ω) (ω3) (ω5) (ω2n1) (ω)2 (ω3)2 (ω5)2 (ω2n1)2 (ω)n1 (ω3)n1 (ω5)n1 (ω2n1)n1 ]

= [ k=0n1ω2k k=0n1ω4k k=0n1ω6k k=0n1ω2𝑛𝑘 k=0n1ω4k k=0n1ω6k k=0n1ω8k k=0n1ω2k(n+1) k=0n1ω6k k=0n1ω8k k=0n1ω10k k=0n1ω2k(n+2) k=0n1ω2𝑛𝑘 k=0n1ω2(n+1)k k=0n1ω2(n+2)k k=0n1ω2(n+n1)k ]

2.
The V V T matrix’s anti-diagonal elements are k=0n1ω2𝑛𝑘. We can derive the following:

k=0n1ω2𝑛𝑘 = k=0n1(e𝑖𝜋n)2𝑛𝑘 = k=0n1e2𝜋𝑘𝑖 = k=0n1(cos(2𝜋𝑘)+isin(2𝜋𝑘)) = k=0n1(1+0) = n

This means that the 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=0n1ω2k = k=0n1ω4k = k=0n1ω6k =    = k=0n1ω2(n1)k = k=0n1ω2(n+1)k =    = k=0n1ω2(2n1)k = 0

For this proof, we will leverage the Geometric Sum formula i=0n1xi = xn 1 x 1 :

Theorem A-11.4.1 Geometric Sum Formula

Let the geometric sum Sn = 1 + x + x2 + + xn1

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

x Sn Sn = (x + x2 + x3 + + xn) (1 + x + x2 + + xn1) = xn 1

Sn (x 1) = xn 1

Sn = xn 1 x 1 # with the constraint that x1

Leveraging the Geometric Sum formula i=0n1xi = xn 1 x 1 ,

k=0n1ω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=0n1ω2k = k=0n1ω4k = k=0n1ω6k =    = k=0n1ω2(n1)k = k=0n1ω2(n+1)k =    = k=0n1ω2(2n1)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 ] = nInR
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 𝛍: It’s worthwhile to note that the property V V T = n InR does not hold if μ (denoting the μ-th cyclotomic polynomial) is not a power of 2. In particular, step 3 of the proof does not hold anymore if μ is not a power of 2:

k=0n1ω2k k=0n1ω4k k=0n1ω6k   k=0n1ω2(n1)k k=0n1ω2(n+1)k   k=0n1ω2(2n1)k0