Module 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§

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
EvaluationDomain
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$.
ExtendedLagrangeCoeff
The polynomial is defined as coefficients of Lagrange basis polynomials in an extended size domain which supports multiplication
LagrangeCoeff
The polynomial is defined as coefficients of Lagrange basis polynomials
PinnedEvaluationDomain
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.