Vandermonde Matrices

Vandermonde matrix is a matrix that converts a polynomial from its coefficient representation into its value representation at a set of points.

For a polynomial f(x)=a0+a1x+a2x2++ak1xk1f(x) = a_0 +a_1x + a_2x^2+\dots+a_{k-1}x^{k-1} with its coefficient representation:

a=[a0a1a2ak1]\mathbf{a} = \begin{bmatrix} a_0\\ a_1\\ a_2\\ \vdots\\ a_{k-1} \end{bmatrix}

The Vandermonde matrix evaluates it at kk distinct points as a single operation.

Evaluating a polynomial as a matrix product

For simplicity, we assume k=4k=4, then we have a polynomial of degree k1=3k-1 =3.

Evaluation at single point

The evaluation of polynomial f(x)f(x) at the point x0x_0 is:

f(x0)=a0+a1x0+a2x02+a3x03f(x_0) = a_0 +a_1\cdot x_0 + a_2\cdot x_0^2+a_{3}\cdot x_0^{3}

This can be written as matrix product: multiplying a 1×41\times 4 matrix containing the successive powers of x0x_0 by the vector of polynomial coefficients, as follows:

[f(x0)]=[1x01x02x03][a0a1a2a3]\begin{bmatrix} f(x_0) \end{bmatrix} = \begin{bmatrix} 1 & x_0^1 & x_0^2 & x_0^{3} \end{bmatrix} \cdot \begin{bmatrix} a_0\\ a_1\\ a_2\\ a_{3} \end{bmatrix}

Evaluation at two points

To evaluate at two points, x0x_0 and x1x_1, we could express these as two separate matrix products. Instead, we stack these row vectors into a 2×42 \times 4 matrix:

[f(x0)f(x1)]=[1x01x02x031x11x12x13][a0a1a2a3]\begin{bmatrix} f(x_0) \\ f(x_1) \end{bmatrix} = \begin{bmatrix} 1 & x_0^1 & x_0^2 & x_0^{3}\\ 1 & x_1^1 & x_1^2 & x_1^{3}\\ \end{bmatrix} \cdot \begin{bmatrix} a_0\\ a_1\\ a_2\\ a_{3} \end{bmatrix}

Where each row contains the successive powers of x0x_0 and x1x_1, respectively.

Therefore, evaluating the polynomial at two points is equivalent to multiplying a 2×k=2×42 \times k = 2 \times 4 matrix by the coefficient vector.

Evaluation at 44 points

If we extend our points to 44 points, then with k=4k=4 (already assumed), the resulting system of equations is equivalent to multiplying a k×k=4×4k\times k = 4\times 4 matrix by the vector of coefficients:

[f(x0)f(x1)f(x2)f(x3)]=[1x0x02x031x1x12x131x2x22x231x3x32x33][a0a1a2a3]\begin{bmatrix} f(x_0) \\ f(x_1)\\ f(x_2)\\ f(x_{3}) \end{bmatrix} = \begin{bmatrix} 1 & x_0 & x_0^2 & x_0^{3} \\ 1 & x_1 & x_1^2 & x_1^{3} \\ 1 & x_2 & x_2^2 & x_2^{3} \\ 1 & x_{3} & x_{3}^2 & x_{3}^{3} \end{bmatrix} \cdot \begin{bmatrix} a_0\\ a_1\\ a_2\\ a_{3} \end{bmatrix}

This matrix is called a 4×44\times 4 Vandermonde matrix and is denoted by V\mathbf{V}.

The equation above is compactly written below as

p=Va\mathbf{p} = \mathbf{V}\cdot\mathbf{a}

where a\mathbf{a} is the vector of the polynomial’s coefficients and p\mathbf{p} is the vector of its point values.

Evaluating the polynomial at the 4th roots of unity as a matrix product

Now, consider evaluating the polynomial f(x)f(x) at the 4th roots of unity, {ω0,ω1,ω2,ω3}\{\omega^0, \omega^1, \omega^{2}, \omega^{3}\}, instead of at arbitrary 44 points. We get the Vandermonde matrix V\mathbf{V} as:

V=[11112131ωω2ω31(ω2)(ω2)2(ω2)31(ω3)(ω3)2(ω3)3]\mathbf{V} = \begin{bmatrix} 1 & 1^1 & 1^2 & 1^3 \\ 1 & \omega & \omega^2 & \omega^{3} \\ 1 & (\omega^2) & (\omega^2)^2 & (\omega^2)^{3} \\ 1 & (\omega^3) & (\omega^3)^2 & (\omega^3)^{3} \end{bmatrix}

We can simplify every term that is ωk2\omega^{\frac{k}{2}} or greater, by leveraging the properties that ωk2=ω2=1\omega^{\frac{k}{2}} = \omega^2 = -1 and ωk=1\omega^k=1 as follows:

  • ω21\omega^2 \equiv -1 imply that (ω2)2(1)2=1(\omega^2)^2 \equiv (-1)^2 = 1 and (ω2)3(1)3=1(\omega^2)^3 \equiv (-1)^3 = -1.
  • ω3=ω2ω1ω=ω\omega^3 = \omega^2\cdot\omega\equiv -1\cdot\omega = -\omega imply that:
    • (ω3)2(ω)2=ω21(\omega^3)^2 \equiv (-\omega)^2 = \omega^2\equiv -1 and
    • (ω3)3(ω)3=ω3=(ω)=ω(\omega^3)^3 \equiv (-\omega)^3 = -\omega^3 =-(-\omega) =\omega.

We now substitute these simplifications into the matrix:

V=[11112131ωω21ω3ω1(ω2)1(ω2)21(ω2)311(ω3)ω(ω3)21(ω3)3ω]\mathbf{V} = \begin{bmatrix} 1 & 1^1 & 1^2 & 1^3 \\ 1 & \omega & \omega^2\equiv-1 & \omega^{3}\equiv-\omega \\ 1 & (\omega^2)\equiv-1 & (\omega^2)^2\equiv1 & (\omega^2)^{3}\equiv-1 \\ 1 & (\omega^3)\equiv-\omega & (\omega^3)^2\equiv-1 & (\omega^3)^{3}\equiv\omega \end{bmatrix}

Therefore, the matrix simplifies to the following pattern:

V=[11111ω1ω11111ω1ω]\mathbf{V} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & \omega & -1 & -\omega \\ 1 & -1 & 1 & -1 \\ 1 & -\omega & -1 & \omega \end{bmatrix}

For a concrete example, ω=13\omega=13 is a primitive 4th root of unity in the finite field F17\mathbb{F}_{17} (where arithmetic is modulo 17), and the Vandermonde matrix is:

V=[1111113164116116141613]\mathbf{V} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 13 & 16 & 4 \\ 1 & 16 & 1 & 16 \\ 1 & 4 & 16 & 13 \end{bmatrix}

Conclusion

Evaluating a polynomial of degree k1k-1 at kk points is equivalent to multiplying a k×kk \times k Vandermonde V\mathbf{V} matrix by the coefficient vector a\mathbf{a}, formalized by the equation Va=p\mathbf{V}\cdot\mathbf{a} = \mathbf{p}.

Ready to Get Started?Join Thousands of Users Today

Start your free trial now and experience the difference. No credit card required.

© 2025 Better-Start. All rights reserved.