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§
- commitment
- This module contains an implementation of the polynomial commitment scheme described in the Halo paper.
- multiopen
- This module contains an optimisation of the polynomial commitment opening scheme described in the Halo paper.
Structs§
- Coeff
- The polynomial is defined as coefficients
- Evaluation
Domain - 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$.
- Extended
Lagrange Coeff - The polynomial is defined as coefficients of Lagrange basis polynomials in an extended size domain which supports multiplication
- Lagrange
Coeff - The polynomial is defined as coefficients of Lagrange basis polynomials
- Pinned
Evaluation Domain - Represents the minimal parameters that determine an
EvaluationDomain
. - Polynomial
- Represents a univariate polynomial defined over a field and a particular basis.
- Rotation
- 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§
- Error
- This is an error that could occur during proving or circuit synthesis.
Traits§
- Basis
- The basis over which a polynomial is described.