Karatsuba Trick in

Small Fields Sumcheck

Sumcheck in Small Fields - Algo \(3\)

r_i(0) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})
r_1(c) = \sum_{\mathbf{X}} \textcolor{blue}{a}(c, \mathbf{X})\cdot \textcolor{red}{b}(c, \mathbf{X})
= \sum_{\mathbf{X}} \Big( \bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{1}, \mathbf{X}) \Big) \Big( \bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{1}, \mathbf{X}) \Big)
= \sum_{\mathbf{X}} \Big( \bar{c}^2\cdot \textcolor{blue}{a}(\textcolor{green}{0}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{0}, \mathbf{X}) +c^2\cdot \textcolor{blue}{a}(\textcolor{green}{1}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{1}, \mathbf{X}) +\bar{c}c \cdot\textcolor{blue}{a}(\textcolor{green}{0}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{1}, \mathbf{X}) +\bar{c}c \cdot\textcolor{blue}{a}(\textcolor{green}{1}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{0}, \mathbf{X}) \Big)
\underbrace{\hspace{3.6cm}}
\underbrace{\hspace{3.6cm}}
\underbrace{\hspace{3.6cm}}
\underbrace{\hspace{3.6cm}}

Pre-compute with \(4\times \frac{n}{2} \ \textsf{bb}\)

+ \bar{c}c \cdot\textcolor{blue}{a}(\textcolor{green}{0}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{0}, \mathbf{X}) +\bar{c}c \cdot\textcolor{blue}{a}(\textcolor{green}{1}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{1}, \mathbf{X})
-\bar{c}c \cdot\textcolor{blue}{a}(\textcolor{green}{0}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{0}, \mathbf{X}) -\bar{c}c \cdot\textcolor{blue}{a}(\textcolor{green}{1}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{1}, \mathbf{X})
= \sum_{\mathbf{X}} \Big( (\bar{c}^2 - \bar{c}c)\cdot \textcolor{blue}{a}(\textcolor{green}{0}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{0}, \mathbf{X}) +(\bar{c}^2 - \bar{c}c)\cdot \textcolor{blue}{a}(\textcolor{green}{1}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{1}, \mathbf{X}) +\bar{c}c \cdot \left( \textcolor{blue}{a}(\textcolor{green}{0},\mathbf{X}) + \textcolor{blue}{a}(\textcolor{green}{1}, \mathbf{X}) \right) \left( \textcolor{red}{b}(\textcolor{green}{0},\mathbf{X}) + \textcolor{red}{b}(\textcolor{green}{1}, \mathbf{X}) \right) \Big)
\underbrace{\hspace{3.6cm}}
\underbrace{\hspace{3.6cm}}
\underbrace{\hspace{9.6cm}}

Pre-compute with \(3\times \frac{n}{2} \ \textsf{bb}\)

\begin{bmatrix} 0\cdot 0 & 0\cdot 1 \\ 1\cdot 0 & 1\cdot 1 \end{bmatrix}

\(\implies\) Karatsuba trick!

Sumcheck in Small Fields - Algo \(3\)

r_i(0) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})
r_2(c) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, c, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, c, \mathbf{X})
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{1}, c, \mathbf{X}) \Big) \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{1}, c, \mathbf{X}) \Big)
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)

\(\implies\) Pre-compute with \(4^2 \times \frac{n}{4} \ \textsf{bb}\)

= \sum_{\mathbf{X}} L_{1, \vec{\alpha}_1}^2 \Big( (\bar{c}^2 - \bar{c}c)\cdot \textcolor{blue}{a}(\textcolor{green}{0, 0}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{0, 0}, \mathbf{X}) +(\bar{c}^2 - \bar{c}c)\cdot \textcolor{blue}{a}(\textcolor{green}{0, 1}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{0, 1}, \mathbf{X}) +\bar{c}c \cdot \left( \textcolor{blue}{a}(\textcolor{green}{0, 0},\mathbf{X}) + \textcolor{blue}{a}(\textcolor{green}{0, 1}, \mathbf{X}) \right) \left( \textcolor{red}{b}(\textcolor{green}{0, 0},\mathbf{X}) + \textcolor{red}{b}(\textcolor{green}{0, 1}, \mathbf{X}) \right) \Big)
L_{2, \vec{\alpha}_1}^2 \Big( (\bar{c}^2 - \bar{c}c)\cdot \textcolor{blue}{a}(\textcolor{green}{1, 0}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{1, 0}, \mathbf{X}) +(\bar{c}^2 - \bar{c}c)\cdot \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X})\textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X}) +\bar{c}c \cdot \left( \textcolor{blue}{a}(\textcolor{green}{1, 0},\mathbf{X}) + \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X}) \right) \left( \textcolor{red}{b}(\textcolor{green}{1, 0},\mathbf{X}) + \textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X}) \right) \Big)
\Big( \bar{c}c \cdot \left( \textcolor{blue}{a}(\textcolor{green}{0, 0},\mathbf{X}) + \textcolor{blue}{a}(\textcolor{green}{1, 0}, \mathbf{X}) \right) \left( \textcolor{red}{b}(\textcolor{green}{0, 0},\mathbf{X}) + \textcolor{red}{b}(\textcolor{green}{1, 0}, \mathbf{X}) \right) \Big)
\Big( \bar{c}c \cdot \left( \textcolor{blue}{a}(\textcolor{green}{0, 1},\mathbf{X}) + \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X}) \right) \left( \textcolor{red}{b}(\textcolor{green}{0, 1},\mathbf{X}) + \textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X}) \right) \Big)
\Big( \bar{c}c \cdot \left( \textcolor{blue}{a}(\textcolor{green}{0, 1},\mathbf{X}) + \textcolor{blue}{a}(\textcolor{green}{1, 0}, \mathbf{X}) \right) \left( \textcolor{red}{b}(\textcolor{green}{0, 1},\mathbf{X}) + \textcolor{red}{b}(\textcolor{green}{1, 0}, \mathbf{X}) \right) \Big)
\Big( \bar{c}c \cdot \left( \textcolor{blue}{a}(\textcolor{green}{0, 0},\mathbf{X}) + \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X}) \right) \left( \textcolor{red}{b}(\textcolor{green}{0, 0},\mathbf{X}) + \textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X}) \right) \Big)

Sumcheck in Small Fields - Algo \(3\)

r_i(0) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})
r_2(c) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, c, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, c, \mathbf{X})
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{1}, c, \mathbf{X}) \Big) \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{1}, c, \mathbf{X}) \Big)
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\begin{bmatrix} 0\cdot 0 & 0\cdot 1 & 0\cdot 2 & 0\cdot 3 \\ 1\cdot 0 & 1\cdot 1 & 1\cdot 2 & 1\cdot 3 \\ 2\cdot 0 & 2\cdot 1 & 2\cdot 2 & 2\cdot 3 \\ 3\cdot 0 & 3\cdot 1 & 3\cdot 2 & 3\cdot 3 \\ \end{bmatrix}

Sumcheck in Small Fields - Algo \(3\)

r_i(0) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})
r_2(c) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, c, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, c, \mathbf{X})
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{1}, c, \mathbf{X}) \Big) \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{1}, c, \mathbf{X}) \Big)
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\begin{bmatrix} 0\cdot 0 & 0\cdot 1 & 0\cdot 2 & 0\cdot 3 \\ 1\cdot 0 & 1\cdot 1 & 1\cdot 2 & 1\cdot 3 \\ 2\cdot 0 & 2\cdot 1 & 2\cdot 2 & 2\cdot 3 \\ 3\cdot 0 & 3\cdot 1 & 3\cdot 2 & 3\cdot 3 \\ \end{bmatrix}

Sumcheck in Small Fields - Algo \(3\)

r_i(0) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})
r_2(c) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, c, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, c, \mathbf{X})
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{1}, c, \mathbf{X}) \Big) \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{1}, c, \mathbf{X}) \Big)
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\begin{bmatrix} 0\cdot 0 & 0\cdot 1 & 0\cdot 2 & 0\cdot 3 \\ 1\cdot 0 & 1\cdot 1 & 1\cdot 2 & 1\cdot 3 \\ 2\cdot 0 & 2\cdot 1 & 2\cdot 2 & 2\cdot 3 \\ 3\cdot 0 & 3\cdot 1 & 3\cdot 2 & 3\cdot 3 \\ \end{bmatrix}

Sumcheck in Small Fields - Algo \(3\)

r_i(0) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})
r_2(c) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, c, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, c, \mathbf{X})
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{1}, c, \mathbf{X}) \Big) \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{1}, c, \mathbf{X}) \Big)
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\begin{bmatrix} 0\cdot 0 & 0\cdot 1 & 0\cdot 2 & 0\cdot 3 \\ 1\cdot 0 & 1\cdot 1 & 1\cdot 2 & 1\cdot 3 \\ 2\cdot 0 & 2\cdot 1 & 2\cdot 2 & 2\cdot 3 \\ 3\cdot 0 & 3\cdot 1 & 3\cdot 2 & 3\cdot 3 \\ \end{bmatrix}

Sumcheck in Small Fields - Algo \(3\)

r_i(0) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})
r_2(c) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, c, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, c, \mathbf{X})
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{1}, c, \mathbf{X}) \Big) \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{1}, c, \mathbf{X}) \Big)
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\begin{bmatrix} 0\cdot 0 & 0\cdot 1 & 0\cdot 2 & 0\cdot 3 \\ 1\cdot 0 & 1\cdot 1 & 1\cdot 2 & 1\cdot 3 \\ 2\cdot 0 & 2\cdot 1 & 2\cdot 2 & 2\cdot 3 \\ 3\cdot 0 & 3\cdot 1 & 3\cdot 2 & 3\cdot 3 \\ \end{bmatrix}

Sumcheck in Small Fields - Algo \(3\)

r_i(0) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, \dots, \alpha_{i-1}, 0, \mathbf{X})
r_2(c) = \sum_{\mathbf{X}} \textcolor{blue}{a}(\alpha_1, c, \mathbf{X})\cdot \textcolor{red}{b}(\alpha_1, c, \mathbf{X})
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{blue}{a}(\textcolor{green}{1}, c, \mathbf{X}) \Big) \Big( L_{1, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{0}, c, \mathbf{X}) + L_{2, \vec{\alpha}_1} \cdot \textcolor{red}{b}(\textcolor{green}{1}, c, \mathbf{X}) \Big)
= \sum_{\mathbf{X}} \Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{blue}{a}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{blue}{a}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\Big( L_{1, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{0, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{0, 1}, \mathbf{X})) + L_{2, \vec{\alpha}_1} \cdot (\bar{c} \cdot \textcolor{red}{b}(\textcolor{green}{1, 0}, \mathbf{X}) + c \cdot \textcolor{red}{b}(\textcolor{green}{1, 1}, \mathbf{X})) \Big)
\begin{bmatrix} 0\cdot 0 & 0\cdot 1 & 0\cdot 2 & 0\cdot 3 \\ 1\cdot 0 & 1\cdot 1 & 1\cdot 2 & 1\cdot 3 \\ 2\cdot 0 & 2\cdot 1 & 2\cdot 2 & 2\cdot 3 \\ 3\cdot 0 & 3\cdot 1 & 3\cdot 2 & 3\cdot 3 \\ \end{bmatrix}

Karatsuba Trick by Yuval

By Suyash Bagad

Karatsuba Trick by Yuval

  • 81