Evaluation Form

Of a polynomial. Represent a polynomial as a list of evaluations of the polynomial at given points.


Let’s look at an example polynomial , defined as . How can we describe this polynomial in a computer program?

One approach is to provide evaluations of at a large enough number of known points. In fact, for a polynomial of degree , we will always need at least points. In our case, we could evaluate at 4 points: , , and . We could record this in an array as p_evals = [5, 10, 29, 68]. This recording of evaluations is aptly named the “evaluation form”.

Another equivalent representation would be to provide a list of the coefficients in front of every power of the indeterminate (see Coefficient Form).

Coefficient Form vs Evaluation Form. There is no strictly superior representation. The coefficient form allows for a more lightweight representation of sparse polynomials (polynomials where many of the coefficients are ). Indeed, we only need to record the non-zero coefficients. On the other hand, some operations such as polynomial multiplication are much more expensive in coefficient form () than they are in evaluation form ().

We can convert from coefficient form to evaluation form by evaluating the polynomial at points. The operation that converts from evaluation form back to coefficient form is known as polynomial interpolation (Lagrange interpolation is one way to perform this operation).