From bf4661429ceb3527d44b36b8952c0da2bc716d6e Mon Sep 17 00:00:00 2001 From: Justin Thaler <39494992+GUJustin@users.noreply.github.com> Date: Thu, 18 Apr 2024 11:57:20 -0400 Subject: [PATCH] Update multilinear-extensions.md Small clarifications and corrections. The math is displaying funny in Preview mode, but I think/hope that's just an issue with my browser. --- book/src/background/multilinear-extensions.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/book/src/background/multilinear-extensions.md b/book/src/background/multilinear-extensions.md index 6e2092ad8..eed3e37a8 100644 --- a/book/src/background/multilinear-extensions.md +++ b/book/src/background/multilinear-extensions.md @@ -4,12 +4,12 @@ For any $v$-variate polynomial $g(x_1, ... x_v)$ polynomial, it's multilinear ex For more precise details please read **Section 3.5 of [Proofs and Args ZK](https://people.cs.georgetown.edu/jthaler/ProofsArgsAndZK.pdf)**. ## Engineering -In practice, MLE's are stored as the vector of evaluations over the $v$-variate boolean hypercube $\{0,1\}^v$. There are two important algorithms over multilinear extensions: single variable binding, evaluation. +In practice, MLE's are stored as the vector of evaluations over the $v$-variate boolean hypercube $\{0,1\}^v$. There are two important algorithms over multilinear extensions: single variable binding, and evaluation. ### Single Variable Binding With a single streaming pass over all $n$ evaluations we can "bind" a single variable of the $v$-variate multilinear extension to a point $r$. This is a critical sub-algorithm in sumcheck. During the binding the number of evaluation points used to represent the MLE gets reduced by a factor of 2: - **Before:** $\tilde{f}(x_1, ... x_v): \{0,1\}^v \to \mathbb{F}$ -- **After:** $\tilde{f}(x_1, ... x_{v-1}): \{0,1\}^{v-1} \to \mathbb{F}$ +- **After:** $\tilde{f'}(x_1, ... x_{v-1})=\tilde{f}(r, x_1, ... x_{v-1}): \{0,1\}^{v-1} \to \mathbb{F}$ Assuming your MLE is represented as a 1-D vector of $2^v$ evaluations $E$ over the $v$-variate boolean hypercube $\{0,1\}^v$, indexed little-endian - $E[1] = \tilde{f}(0,0,0,1)$ @@ -29,4 +29,4 @@ for i in 0..half { ``` ### Multi Variable Binding -Another common algorithm is to take the MLE $\tilde{f}(x_1, ... x_v)$ and compute its evaluation at a single $v$-variate point outside the boolean hypercube $x \in \mathbb{F}^v$. This algorithm can be performed in $O(n \log(n))$ time by preforming the single variable binding algorithm $\log(n)$ times. \ No newline at end of file +Another common algorithm is to take the MLE $\tilde{f}(x_1, ... x_v)$ and compute its evaluation at a single $v$-variate point outside the boolean hypercube $x \in \mathbb{F}^v$. This algorithm can be performed in $O(n)$ time by preforming the single variable binding algorithm $\log(n)$ times. The time spent on $i$'th variable binding is $O(n/2^i)$, so the total time across all $\log n$ bindings is proportional to $\sum_{i=1}^{\log n} n/2^i = O(n)$.