Function poly_commitment::commitment::combined_inner_product
source · pub fn combined_inner_product<F: PrimeField>(
polyscale: &F,
evalscale: &F,
polys: &[Vec<Vec<F>>]
) -> F
Expand description
Computes the linearization of the evaluations of a (potentially split) polynomial.
Each polynomial in polys
is represented by a matrix where the
rows correspond to evaluated points, and the columns represent
potential segments (if a polynomial was split in several parts).
Elements in evaluation_points
are several discrete points on which
we evaluate polynomials, e.g. [zeta,zeta*w]
. See PointEvaluations
.
Note that if one of the polynomial comes specified with a degree bound, the evaluation for the last segment is potentially shifted to meet the proof.
Returns
|polys| |segments[k]|
Σ Σ polyscale^{k*n+i} (Σ polys[k][j][i] * evalscale^j)
k = 1 i = 1 j