pub fn univariatizing_reduction_prover<'a, F, FDomain, P, Backend>(
reduced_multilinears: Vec<MLEDirectAdapter<P>>,
univariatized_multilinear_evals: &[F],
univariate_challenge: F,
evaluation_domain_factory: impl EvaluationDomainFactory<FDomain>,
backend: &'a Backend,
) -> Result<Prover<'a, FDomain, P, Backend>, Error>where
F: TowerField + ExtensionField<FDomain>,
FDomain: TowerField,
P: PackedFieldIndexable<Scalar = F> + PackedExtension<FDomain>,
Backend: ComputationBackend,
Expand description
Create the sumcheck prover for the univariatizing reduction of multilinears (see verifier side)
This method takes multilinears projected to first skip_rounds
variables, constructs a multilinear
extension of Lagrange evaluations at univariate_challenge
, and creates a regular sumcheck prover,
placing Lagrange evaluation in the last witness column.
Note that univariatized_multilinear_evals
come from a previous sumcheck with a univariate first round.