Skip to main content

Module poly_common

Module poly_common 

Source
Expand description

Common polynomial utilities shared by prover and verifier

Structs§

ExpPowers2
UnivariatePoly
Univariate polynomial in coefficient form.

Traits§

Squarable

Functions§

eq_uni_poly
Returns eq_D(x, Z) as a polynomial in Z in coefficient form. Derived from eq_D(x, Z) being the Lagrange basis at x, which is the character sum over the roots of unity.
eval_eq_mle
eval_eq_prism
eval_eq_rot_cube
MLE of cyclic rotation kernel on hypercube
eval_eq_sharp_uni
Length of xi_1 should be l_skip.
eval_eq_uni
Let D be the univariate skip domain, the subgroup of F^* of order 2^l_skip.
eval_eq_uni_at_one
Let D be the univariate skip domain, the subgroup of F^* of order 2^l_skip.
eval_in_uni
eval_mle_evals_at_point
Evaluate the MLE defined by its hypercube evaluations at an arbitrary point, in place.
eval_mobius_eq_mle
Evaluate mobius_eq_poly(u_tilde) at an arbitrary point x.
eval_rot_kernel_prism
\kappa_\rot(x, y) should equal \delta_{x,rot(y)} on hyperprism.
evals_eq_hypercube_serial
horner_eval
Evaluates univariate polynomial using Horner’s method.
interpolate_cubic_at_0123
Interpolates a cubic polynomial through points (0, evals[0]), (1, evals[1]), (2, evals[2]), (3, evals[3]) and evaluates it at x.
interpolate_linear_at_01
Interpolates a linear polynomial through points (0, evals[0]), (1, evals[1]) and evaluates it at x.
interpolate_quadratic_at_012
Interpolates a quadratic polynomial through points (0, evals[0]), (1, evals[1]), (2, evals[2]) and evaluates it at x.