interpolate_coset_with_precomputation

Function interpolate_coset_with_precomputation 

Source
pub fn interpolate_coset_with_precomputation<F, EF, Mat>(
    coset_evals: &Mat,
    shift: F,
    point: EF,
    coset: &[F],
    diff_invs: &[EF],
) -> Vec<EF>
where F: TwoAdicField, EF: ExtensionField<F>, Mat: Matrix<F>,
Expand description

Given evaluations of a batch of polynomials over the given coset of the canonical power-of-two subgroup, evaluate the polynomials at point.

This assumes the point is not in the coset, otherwise the behavior is undefined.

This function takes the precomputed subgroup points and diff_invs (the inverses of the differences between the evaluation point and each shifted subgroup element), and should be preferred over interpolate_coset when repeatedly called with the same subgroup and/or point.

Unlike interpolate_coset, the parameters subgroup, coset_evals, and diff_invs may use any indexing scheme, as long as they are all consistent.