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.