Module halo2_proofs::poly
source · Expand description
Contains utilities for performing arithmetic over univariate polynomials in various forms, including computing commitments to them and provably opening the committed polynomials at arbitrary points.
Modules
- This module contains an implementation of the polynomial commitment scheme described in the Halo paper.
- This module contains an optimisation of the polynomial commitment opening scheme described in the Halo paper.
Structs
- The polynomial is defined as coefficients
- This structure contains precomputed constants and other details needed for performing operations on an evaluation domain of size $2^k$ and an extended domain of size $2^{k} * j$ with $j \neq 0$.
- The polynomial is defined as coefficients of Lagrange basis polynomials in an extended size domain which supports multiplication
- The polynomial is defined as coefficients of Lagrange basis polynomials
- Represents the minimal parameters that determine an
EvaluationDomain
. - Represents a univariate polynomial defined over a field and a particular basis.
- Describes the relative rotation of a vector. Negative numbers represent reverse (leftmost) rotations and positive numbers represent forward (rightmost) rotations. Zero represents no rotation.
Enums
- This is an error that could occur during proving or circuit synthesis.
Traits
- The basis over which a polynomial is described.