Evaluate a single polynomial at a set of points `eval_points`, and provide a single evaluation proof.
(
&self,
polynomial: &[E::ScalarField],
eval_points: &[E::ScalarField],
)
| 124 | |
| 125 | /// Evaluate a single polynomial at a set of points `eval_points`, and provide a single evaluation proof. |
| 126 | pub fn open_multi_points( |
| 127 | &self, |
| 128 | polynomial: &[E::ScalarField], |
| 129 | eval_points: &[E::ScalarField], |
| 130 | ) -> EvaluationProof<E> { |
| 131 | // Computing the vanishing polynomial over eval_points |
| 132 | let z_poly = vanishing_polynomial(eval_points); |
| 133 | |
| 134 | let f_poly = DensePolynomial::from_coefficients_slice(polynomial); |
| 135 | let q_poly = f_poly.div(&z_poly); |
| 136 | EvaluationProof(self.commit(&q_poly.coeffs).0) |
| 137 | } |
| 138 | |
| 139 | /// Evaluate a set of polynomials at a set of points `eval_points`, and provide a single batched evaluation proof. |
| 140 | /// `eval_chal` is the random challenge for batching evaluation proofs across different polynomials. |