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.