Expand description
Mathematical primitives used in Binius, built atop the binius_field
crate.
This crate provides a variety of mathematical primitives used in Binius, including:
- Multilinear polynomials
- Univariate polynomials
- Matrix operations
- Arithmetic expressions and evaluators
This crate is a dependency of binius_hal
. When modules in binius_core
need to be abstracted
behind the HAL, this is one of the places they are often moved in order to avoid crate
dependency cycles.
Structs§
- An $F_2$-linear subspace of a binary field.
- A domain that univariate polynomials may be evaluated on.
- An extended version of
EvaluationDomain
that supports interpolation to monomial form. Takes longer to construct due to Vandermonde inversion, which has cubic complexity. - An adapter for
MultilinearExtension
that implementsMultilinearPoly
over the same packed field that theMultilinearExtension
stores evaluations in. - An adapter for
MultilinearExtension
that implementsMultilinearPoly
over a packed extension field. - A matrix over a field.
- A multilinear polynomial represented by its evaluations over the boolean hypercube.
- Tensor product expansion of sumcheck round challenges.
- Wraps
MultilinearQuery
to hideData
from the users. - A wrapper for containers of underlier types that dereferences as packed field slices.
Enums§
- Arithmetic expressions that can be evaluated symbolically.
Traits§
- A generic version of the
CompositionPolyOS
trait that is not object-safe. - A multivariate polynomial that is used as a composition of several multilinear polynomials.
- Wraps type information to enable instantiating EvaluationDomains.
- Represents a multilinear polynomial.
Functions§
- Given a slice of packed fields representing
2^log_scalar_count
scalars, returns an iterator that yields pairs of packed fields that can be unzipped into a deinterleaved representation of the slice. - Computes the partial evaluation of the equality indicator polynomial.
- Evaluate a piecewise multilinear polynomial at a point, given the evaluations of the pieces.
- Evaluate a univariate polynomial specified by its monomial coefficients.
- Extrapolates lines through a pair of packed fields at a single point from a subfield.
- Similar methods, but for scalar fields.
- Extrapolates lines through a pair of packed fields at a packed vector of points.
- Execute the fold operation.
- Tensor Product expansion of values with partial eq indicator evaluated at extra_query_coordinates
Type Aliases§
- Type alias for the common pattern of a
MultilinearExtension
backed by borrowed data.