Для полиномов можно определить множество разнообразных операций.
Суммой полиномов A(x) и B(x) степени n является полином C(x) степени n, такой что C(x)=A(x)+B(x) для всех x из соответствующего поля.
Например,если A(x)=6x3+7x2-10x+9 и B(x)=-2x3+4x-5, то C(x)=4x3+7x2-6x+4.
Операция сложения выполняется за O(n) и для представления в виде вектора коэффициентов (cj=aj+bj), и для представления в виде значений в точках (C.yk=A.yk+B.yk, при условии, что используется одинаковые наборы xk)
Если A(x) и B(x) – полиномы степени n, их произведением C(x) является полином степени 2n, такой что C(x)=A(x)⋅B(x) для всех x из соответствующего поля.
Например, умножение полиномов A(x)=6x3+7x2-10x+9 и B(x)=-2x3+4x-5 можно выполнить следующим образом:
Операция умножения полиномов в коэффициентной форме оказывается гораздо более сложной, чем операции вычисления полинома или сложения двух полиномов, поскольку каждый коэффициент из вектора a необходимо умножить на каждый коэффициент из вектора b, что приводит к оценке O(n2).
Умножение для представлении в виде значений в точках выглядит проще – достаточно перемножить значения в точках C.yk=A.yk⋅B.yk, но полином C(x) имеет степень 2n и его представление должно содержать в 2 раза больше пар точка-значение.
Следовательно, необходимо использовать "расширенные" представления полиномов A(x) и B(x), которые содержат по 2n+2 пар точка-значение каждое.
Но как вычислить значение полинома, заданного в виде значений в точках, в некоторой новой точке? По-видимому, для этой задачи не существует более простого подхода, чем преобразовать полином в коэффициентную форму, а затем вычислить его значение в новой точке.