Sums of low-degree polynomials over the units of a finite field #
Let K be a finite field with q elements. A polynomial of degree less than q - 1 sums to zero
over K, so its sum over the units Kˣ is minus its value at 0. Restricting a multivariate
polynomial to the line u ↦ u • τ + x turns this into the identity that removes the masks τ
from masked evaluations of a low-degree polynomial: the sum over all units u of
p (u • τ + x) is -p x.
This is the algebraic core of the Cook–Mertz Tree Evaluation algorithm, there phrased with powers
of a primitive root of unity of order q - 1, which run through the units.
Main results #
FiniteField.sum_eval_eq_zero_of_natDegree_lt: a polynomial of degree less thanq - 1sums to zero overK.FiniteField.sum_units_eval: its sum overKˣis minus its value at0.FiniteField.sum_units_eval_mul_add: for a multivariate polynomial of total degree less thanq - 1,∑ u : Kˣ, p (u • τ + x) = -p x.
References #
- J. Cook and I. Mertz, Tree Evaluation is in Space O(log n · log log n), Corollary 9 and Lemma 12.
- O. Goldreich, On the Cook–Mertz Tree Evaluation procedure, Equation (3).
A polynomial of degree less than q - 1 sums to zero over the field.
A polynomial of degree less than q - 1 sums over the units to minus its value at 0.
Restricting a multivariate polynomial to the line t ↦ t • τ + x gives a univariate
polynomial of degree at most the total degree.
Unmasking low-degree polynomials. If p has total degree less than q - 1, then summing
the masked evaluations p (u • τ + x) over all units u gives -p x, for every mask τ.