Oblong-Multilinearization
We've already discussed multilinear polynomials. Here, we discuss a variant of that idea.
We fix nonnegative integer parameters and . We fix a -dimensional -linear subspace . If we pick an -basis of , then we can identify ; indeed, it's enough to send
We will write for this latter element.
We now fix a -variate multilinear:
over . We are going to create a further polynomial, called
in variables, such that:
- 's restriction to equals 's restriction to ; i.e., for each and , .
- is "low-degree"; that is, it's of degree less than in and of degree less than or equal to 1 in each further variable.
We will call the oblong-multilinearization of . In general, we will use "hats" to signify variables that take values along the "long" axis of the domain.
Existence and Uniqueness
The oblong-multilinearization exists and is unique, essentially for reasons similar to ones we've already seen. As before, it's enough to prove existence, by a dimension count.
We write for the bivariate polynomial, of individual degree less than in both variables, whose restriction to is the equality indicator function. We claim without proof that this thing exists and is unique. Note that 's partial specializations within recover the usual univariate Lagrange interpolation polynomials. That is, for each , is the unique univariate Lagrange polynomial of degree less than whose restriction to equals 1 exactly at and 0 elsewhere on .
To construct , we use . We claim that the construction:
gives us what we want. We need to check that has the right degrees both in and in the variables (it does) and that its restriction to takes the right values (it does).
Partial Specialization
We will also encounter the following problem a few times. Given a multilinear and its oblong-multilinearization as above, and given some scalar , the partial specialization is an -variate multilinear. How can we compute its table of values on the cube ?
To answer this question, we just need to look at the expression for above. It follows from that expression that, for each ,
This fact suggests the following algorithm.
- precompute the list of values .
- initialize an empty, length- array containing -elements.
- for each do in parallel:
- let .
- return .
The array returned by the above algorithm yields the table of values on of , as desired. Each instance of the inner bulletpoint is actually a subset sum of , since the coefficients of the sum expression are bits.
The computation of above turns out to be a standard subroutine in Lagrange interpolation, and can be carried out extremely efficiently (we use a "division-free" variant of the Barycentric weights computation algorithm).
Evaluation
We pick an extension field, say , and write for an arbitrary element of . We discuss how to compute the full evaluation , given query access to .
Unwinding what that evaluation means, we get:
Interestingly, this is a problem of Lagrange extrapolation: this value is exactly
where is the unique univariate polynomial of degree less than whose values on satisfy for each . There are good algorithms for this problem, provided that the verifier is willing to read or obtain all values and do work. In practice, we assume that is so small that the verifier is willing to do work.
If the verifier is willing to do work but would rather evaluate just once, the verifier can reduce the above sum—by running the sumcheck for 6 rounds—to two claims. One will be about the value of , where is sampled during the sumcheck. The other will be one about the value of , where we write for the multilinear whose values on satisfy for each ; that is, it's the multilinear whose values on the cube are those that the univariate Lagrange basis polynomials respectively take at . The verifier can evaluate this latter quantity himself, again using Lagrange extrapolation to , now with coefficients . We are not aware of a way of evaluating this that takes less than time.
If the verifier wants to stay fully succinct in —i.e., polynomial in —there are ways to achieve this, based on ideas of Haböck (unpublished) and Papini and Haböck [PH23]. We survey those ideas here, though we don't use them in Binius64.
Practical Parameterization
In all of our applications in this site, we will use . We thus let once and for all, so that is a 6-dimensional -linear subspace. We will as above identify by basis combination, by sending .