Expand description
This module implements permutation constraint polynomials.
Structs§
- Shifts
- Shifts represent the shifts required in the permutation argument of PLONK. It also caches the shifted powers of omega for optimization purposes.
Constants§
- CONSTRAINTS
- Number of constraints produced by the argument.
Functions§
- eval_
permutation_ vanishing_ polynomial - Evaluates the polynomial (x - w^{n - zk_rows}) * (x - w^{n - zk_rows + 1}) * (x - w^{n - 1})
- eval_
vanishes_ on_ last_ n_ rows - Evaluates the polynomial (x - w^{n - i}) * (x - w^{n - i + 1}) * … * (x - w^{n - 1})
- mul_
assign_ 🔒skipping_ d1 - Multiply
lbyrelement-wise over d8, skipping the d1 rows – the indices that are multiples of 8, since d8 = 8 * d1. The permutation contribution vanishes on all of d1, so those rows are left at the zero that building the terms produced; only the non-d1 products need computing. - permutation_
vanishing_ polynomial - The polynomial (x - w^{n - zk_rows}) * (x - w^{n - zk_rows + 1}) * (x - w^{n - 1})
- vanishes_
on_ last_ n_ rows - The polynomial (x - w^{n - i}) * (x - w^{n - i + 1}) * … * (x - w^{n - 1})
- zk_w
- Returns the end of the circuit, which is used for introducing zero-knowledge in the permutation polynomial