Spartan 2 some basic terminologies

Follow my first post for Spartan

Closed-form expression for evaluating a polynomial

The closed-form expression for evaluating a polynomial \(\mathcal{G}(\cdot)\) at \((r_1,…,r_m)\in \mathbb{F}^m\) is

$$\mathcal{G}(r_1,…,r_m)=\sum\limits_{x\in\{0,1\}^m}\mathcal{G}(x)\prod\limits^{m}_{i=1}\underbrace{(r_i\cdot x_i + (1-r_i)(1-x_i))}_{x_i=0 \rightarrow 1-r_i, x=1 \rightarrow r_i }$$

emphasize:

\(r_i \in \mathbb{F}\)

\(x \in \{0,1\}^m\)

\(x_i \) is 0 or 1

Explain:

the key idea: the above polynomial has the same evaluations on hypercube (when \(r_i\in \{0,1\}\)) as \(g(x), x\in \{0,1\}^m\)

Given an example:

\(r_1\)\(r_2\)\(g(\cdot,\cdot)\)
00\(g(0,0)\)
01\(g(0,1)\)
10\(g(1,0)\)
11\(g(1,1)\)

The intuitive way to get LDE multilinear polynomial is directly write the polynomial according to the table:

\(g(r_1,r_2)=g(0,0)(1-r_1)(1-r_2)+ g(0,1)(1-r_1)r_2\)

\(+ g(1,0)r_1(1-r_2)+g(1,1)r_1r_2\)

namely, add term \(r_1\) when \(r_1=1\), add term \((1-r_1)\) when \(r_1=0\)

It is essentially the same as the closed form expression, which is general and beautiful.

Some facts:

  1. multilinear polynomial: \(\mathbb{F}^m \rightarrow \mathbb{F}\)
  2. Dense representation:\( DenseRepr(\mathcal{G}): \{0,1\}^m \rightarrow \mathbb{F}\)

relation between 1 and 2: multilinear polynomial can be represented uniquely by the list of evaluations over the Boolean hypercube

A very similar concept, which is used often in Binius, is multi-linear Lagrange basis, see the next section.

Multi-linear Lagrange basis

recall what is the problem we want to solve when we need Lagrange basis.

we know the evaluations of a polynomial at some points, we want to interpolate it back to its coefficient format.

in multilinear context, in binius or sumcheck, we often refer to the evaluations points are the points on the hypercube. so Lagrange basis in this setting, would be the basis that evaluate as 1 in one point of the hypercube, 0 on the other points on hypercube.

Lagrange basis:

$$\mathcal{L_i}(r_1,…,r_m)=\prod\limits^{m}_{i=1}\underbrace{(r_i\cdot b_i + (1-r_i)(1-b_i))}_{b_i=0 \rightarrow 1-r_i, b=1 \rightarrow r_i }$$

\((r_1,…,r_m)\) is the bitwise representation of \(r\)

Dense and Sparse representation for multilinear polynomials

A multilinear polynomial \(\mathcal{G}: \mathbb{F}^m \rightarrow \mathbb{F} \) is a sparse multilinear polynomial if \( |DenseRepr(\mathcal{G})| \) is sub-linear in \(O(2^m)\), otherwise, it is a dese multilinear polynomial

Polynomial commitment scheme for multi-linear polynomials

4 algorithms: setup, commit, open, Eval

\(b\leftarrow \mathbb{Eval}(pp,C,r,v,\mu; \mathcal{G,S})\)

\(\mathcal{P}\) attempts to convince \(\mathcal{V}\) that \(\mathcal{G}(r)=v\)

Leave a Reply

Your email address will not be published. Required fields are marked *