Skip to content

Oblong-Multilinearization

Low-degree polynomials on rectangular domains

We've already discussed multilinear polynomials. Here, we discuss a variant of that idea.

We fix nonnegative integer parameters kk and \ell. We fix a kk-dimensional F2\mathbb{F}_2-linear subspace DF2128D \subset \mathbb{F}_{2^{128}}. If we pick an F2\mathbb{F}_2-basis (ζ0,,ζk1)(\zeta_0, \ldots , \zeta_{k - 1}) of DD, then we can identify BkD\mathcal{B}_k \cong D; indeed, it's enough to send

ii0ζ0++ik1ζk1.\begin{equation*}i \mapsto i_0 \cdot \zeta_0 + \cdots + i_{k - 1} \cdot \zeta_{k - 1}.\end{equation*}

We will write i^D\widehat{i} \in D for this latter element.

We now fix a k+k + \ell-variate multilinear:

t(I0,,Ik1,X0,,X1)\begin{equation*}t(I_0, \ldots , I_{k - 1}, X_0, \ldots , X_{\ell - 1})\end{equation*}

over F2\mathbb{F}_2. We are going to create a further polynomial, called

t^(I^,X0,,X1),\begin{equation*}\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1}),\end{equation*}

in 1+1 + \ell variables, such that:

  • t^(I^,X0,,X1)\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1})'s restriction to D×BD \times \mathcal{B}_\ell equals t(I0,,Ik1,X0,,X1)t(I_0, \ldots , I_{k - 1}, X_0, \ldots , X_{\ell - 1})'s restriction to Bk×B\mathcal{B}_k \times \mathcal{B}_\ell; i.e., for each iBki \in \mathcal{B}_k and xBx \in \mathcal{B}_\ell, t(i,x)=t^(i^,x)t(i, x) = \widehat{t}(\widehat{i}, x).
  • t^(I^,X0,,X1)\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1}) is "low-degree"; that is, it's of degree less than 2k2^k in I^\widehat{I} and of degree less than or equal to 1 in each further variable.

We will call t^(I^,X0,,X1)\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1}) the oblong-multilinearization of t(I0,,Ik1,X0,,X1)t(I_0, \ldots , I_{k - 1}, X_0, \ldots , X_{\ell - 1}). 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 t^(I^,X0,,X1)\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1}) 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 δD\delta_D for the bivariate polynomial, of individual degree less than 2k2^k in both variables, whose restriction to D×DD \times D is the equality indicator function. We claim without proof that this thing exists and is unique. Note that δD\delta_D's partial specializations within DD recover the usual univariate Lagrange interpolation polynomials. That is, for each i^D\widehat{i} \in D, δD(I^,i^)\delta_D(\widehat{I}, \widehat{i}) is the unique univariate Lagrange polynomial of degree less than 2k2^k whose restriction to DD equals 1 exactly at i^\widehat{i} and 0 elsewhere on DD.

To construct t^(I^,X0,,X1)\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1}), we use δD\delta_D. We claim that the construction:

t^(I^,X0,,X1)iB6δD(I^,i^)t(i0,,ik1,X0,,X1)\begin{equation*}\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1}) \coloneqq \sum_{i \in \mathcal{B}_6} \delta_D(\widehat{I}, \widehat{i}) \cdot t(i_0, \ldots , i_{k - 1}, X_0, \ldots , X_{\ell - 1})\end{equation*}

gives us what we want. We need to check that t^(I^,X0,,X1)\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1}) has the right degrees both in I^\widehat{I} and in the variables X0,,X1X_0, \ldots , X_{\ell - 1} (it does) and that its restriction to D×BD \times \mathcal{B}_\ell takes the right values (it does).

Partial Specialization

We will also encounter the following problem a few times. Given a multilinear t(I0,,Ik1,X0,,X1)t(I_0, \ldots , I_{k - 1}, X_0, \ldots , X_{\ell - 1}) and its oblong-multilinearization t^(I^,X0,,X1)\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1}) as above, and given some scalar ri^F2128r_{\widehat{i}} \in \mathbb{F}_{2^{128}}, the partial specialization t^(ri^,X0,,X1)\widehat{t}(r_{\widehat{i}}, X_0, \ldots , X_{\ell - 1}) is an \ell-variate multilinear. How can we compute its table of values on the cube B\mathcal{B}_\ell?

To answer this question, we just need to look at the expression for t^(I^,X0,,X1)\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1}) above. It follows from that expression that, for each xBx \in \mathcal{B}_\ell,

t^(ri^,x0,,x1)=iB6δD(ri^,i^)t(i0,,ik1,x0,,x1).\begin{equation*}\widehat{t}(r_{\widehat{i}}, x_0, \ldots , x_{\ell - 1}) = \sum_{i \in \mathcal{B}_6} \delta_D(r_{\widehat{i}}, \widehat{i}) \cdot t(i_0, \ldots , i_{k - 1}, x_0, \ldots , x_{\ell - 1}).\end{equation*}

This fact suggests the following algorithm.

  • precompute the list of values (δD(ri^,i^))iB6\left( \delta_D(r_{\widehat{i}}, \widehat{i}) \right)_{i \in \mathcal{B}_6}.
  • initialize an empty, length-22^\ell array t\mathsf{t} containing F2128\mathbb{F}_{2^{128}}-elements.
  • for each x{0,,nand1}x \in \{0, \ldots , n_\text{and} - 1\} do in parallel:
    • let t[x]iBkt(i0,,ik1,x0,,x1)δD(ri^,i^)\mathsf{t}[x] \coloneqq \sum_{i \in \mathcal{B}_k} t(i_0, \ldots , i_{k - 1}, x_0, \ldots , x_{\ell - 1}) \cdot \delta_D(r_{\widehat{i}}, \widehat{i}).
  • return t\mathsf{t}.

The array t\mathsf{t} returned by the above algorithm yields the table of values on B\mathcal{B}_\ell of t^(ri^,X0,,X1)\widehat{t}(r_{\widehat{i}}, X_0, \ldots , X_{\ell - 1}), as desired. Each instance of the inner bulletpoint is actually a subset sum of (δD(ri^,i^))iB6\left( \delta_D(r_{\widehat{i}}, \widehat{i}) \right)_{i \in \mathcal{B}_6}, since the coefficients of the sum expression are bits.

The computation of (δD(ri^,i^))iB6\left( \delta_D(r_{\widehat{i}}, \widehat{i}) \right)_{i \in \mathcal{B}_6} 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 F2128\mathbb{F}_{2^{128}}, and write (ri^,rx)(r_{\widehat{i}}, r_x) for an arbitrary element of F2128×F2128\mathbb{F}_{2^{128}} \times \mathbb{F}_{2^{128}}^\ell. We discuss how to compute the full evaluation t^(ri^,rx)\widehat{t}(r_{\widehat{i}}, r_x), given query access to t^(I^,X0,,X1)\widehat{t}(\widehat{I}, X_0, \ldots , X_{\ell - 1}).

Unwinding what that evaluation means, we get:

t^(ri^,rx)=iB6δD(ri^,i^)t(i,rx).\begin{equation*}\widehat{t}(r_{\widehat{i}}, r_x) = \sum_{i \in \mathcal{B}_6} \delta_D(r_{\widehat{i}}, \widehat{i}) \cdot t(i, r_x).\end{equation*}

Interestingly, this is a problem of Lagrange extrapolation: this value is exactly

Prx(ri^),\begin{equation*}P_{r_x}(r_{\widehat{i}}),\end{equation*}

where Prx(I^)P_{r_x}(\widehat{I}) is the unique univariate polynomial of degree less than 2k2^k whose values on DD satisfy Prx(i^)=t(i,rx)P_{r_x}(\widehat{i}) = t(i, r_x) for each iB6i \in \mathcal{B}_6. There are good algorithms for this problem, provided that the verifier is willing to read or obtain all 2k2^k values t(i,rx)t(i, r_x) and do O(2k)O(2^k) work. In practice, we assume that kk is so small that the verifier is willing to do O(2k)O(2^k) work.

If the verifier is willing to do O(2k)O(2^k) work but would rather evaluate t(I,X)t(I, X) 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 t(ri,rx)t(r_i, r_x), where rir_i is sampled during the sumcheck. The other will be one about the value of δD,ri^(ri)\delta_{D, r_{\widehat{i}}}(r_i), where we write δD,ri^\delta_{D, r_{\widehat{i}}} for the multilinear whose values on B6\mathcal{B}_6 satisfy δD,ri^(i)=δD(ri^,i^)\delta_{D, r_{\widehat{i}}}(i) = \delta_D(r_{\widehat{i}}, \widehat{i}) for each iB6i \in \mathcal{B}_6; that is, it's the multilinear whose values on the cube are those that the univariate Lagrange basis polynomials respectively take at ri^r_{\widehat{i}}. The verifier can evaluate this latter quantity himself, again using Lagrange extrapolation to ri^r_{\widehat{i}}, now with coefficients (eq~(ri,i))iB6\left( \widetilde{\texttt{eq}}(r_i, i) \right)_{i \in \mathcal{B}_6}. We are not aware of a way of evaluating this that takes less than O(2k)O(2^k) time.

If the verifier wants to stay fully succinct in 2k2^k—i.e., polynomial in kk—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 k=6k = 6. We thus let k=6k = 6 once and for all, so that DF2128D \subset \mathbb{F}_{2^{128}} is a 6-dimensional F2\mathbb{F}_2-linear subspace. We will as above identify B6D\mathcal{B}_6 \cong D by basis combination, by sending ii^i0ζ0++i5ζ5i \mapsto \widehat{i} \coloneqq i_0 \cdot \zeta_0 + \cdots + i_5 \cdot \zeta_5.