Sum-Check作为代数张量约化:第二部分

本文是系列文章的第二部分,旨在为将sum-check协议形式化为代数张量约化建立数学基础。文章介绍了环和模的定义、例子和直觉,重点阐述了为何需要这些概念:在sum-check场景中,多项式环可视为R-模,区分环结构和模结构对于描述协议中的代数约化至关重要。文章提供了丰富的例子(如整数环、多项式环、矩阵环等)和直觉解释(模是向量空间的推广,标量来自环而非域),并预告后续将介绍模同态等概念。

缩略图

第一部分中,我们奠定了基础,并讨论了 sum-check 协议的递归结构。在这篇文章中,我们开始介绍将 sum-check 形式化为代数张量约简所需的数学工具。建立必要的基础知识需要一些时间(以及几篇文章),但这是值得的,我保证。

另外,你不需要记住每一个定义和例子。相反,**接下来几篇文章的主要目标是为你提供可靠的参考材料,你可以在阅读本系列后续部分时,将其放在第二个显示器上打开。**这样,你就能专注于主要论点,而不会因为不熟悉的数学术语而在句子中间卡壳。

我假设读者熟悉集合论和线性代数中的标准术语。因此,我们不会介绍诸如子集、笛卡尔积、群、域或向量空间等概念,因为这些可以在任何线性代数讲义的前几页中找到,而且普通读者很可能熟悉它们。相反,我们将把注意力集中在密码学文献中不那么常见的数学对象和操作上。具体来说,我们将介绍 R-模、直和、张量积等。别担心——这并不像听起来那么可怕。我们会在过程中提供大量的例子和直观理解。

我们需要这种额外语言的原因是,在 sum-check 的背景下,我们很快会超越域上的普通向量空间。例如,多项式环 $R[X]$ 既可以看作一个环本身,也可以看作一个 $R$-模:我们可以将多项式相加,并用 $R$ 中的标量乘以它们,尽管多项式本身也有自己的乘法运算。

当我们后来将 sum-check 描述为一系列代数约简时,这种区别变得很重要。一些操作使用多项式的环结构,而另一些操作则仅利用某些对象集合构成基环上的模这一事实。有了这些术语,我们就可以精确地说明每一步使用了哪种结构。

话不多说,让我们从介绍环和模开始吧!

定义

一个是一个集合 $R$,以及 $R$ 上的两个二元运算 $+$ 和 $\cdot$,满足以下条件:

  1. $(R,+)$ 是一个交换群。

  2. 对所有 $a,b,c\in R$,有 $(a\cdot b)\cdot c = a\cdot(b\cdot c)$。

  3. 对所有 $a,b,c\in R$,有 $(a+b)\cdot c = (a\cdot c)+(b\cdot c)$ 和 $a\cdot(b+c) = (a\cdot b)+(a\cdot c)$。

如果对所有 $a,b\in R$,有 $a\cdot b = b\cdot a$,则环 $R$ 称为交换环。如果 $R$ 包含一个乘法单位元(记为 $1$),使得对所有 $a\in R$ 有 $1\cdot a = a\cdot 1 = a$,则环 $R$ 称为幺环(或有单位元的环)。

注意

环在加法下总是交换的,但在乘法下不一定。因此,当我们说一个环交换时,是指它的乘法不交换。然而,它的加法仍然是交换的。确实,根据上面定义中的条件 $1$,$R$ 中的加法必须是交换的,$R$ 才能成为一个环。

例子
  1. 任何域都是一个交换幺环。特别地,实数 $\mathbb{R}$、复数 $\mathbb{C}$ 和素域 $\mathbb{F}_p := \mathbb{Z}/p\mathbb{Z}$ 都是交换幺环的例子。

  2. 整数集 $\mathbb{Z}$ 构成一个交换幺环。

  3. 系数在 $R$ 中的 $n$ 元多项式集合 $R[x_1,\ldots,x_n]$ 构成一个交换幺环当且仅当 $R$ 是一个交换幺环。特别地,如果 $R$ 是一个域,那么 $R[x_1,\ldots,x_n]$ 是一个交换幺环。

  4. 域 $F$ 上的 $n\times n$ 矩阵集合 $M_n(F)$ 构成一个幺环,其单位元为单位矩阵。然而,环 $M_n(F)$ 不是交换环,因为一般来说,对于两个矩阵 $A,B\in M_n(F)$,有 $A\cdot B \neq B\cdot A$。

  5. 偶数集合 $2\mathbb{Z} := {\ldots,-4,-2,0,2,4,\ldots}$ 构成一个交换环。然而,环 $2\mathbb{Z}$ 不是幺环,因为通常整数乘法的单位元 $1$ 不是 $2\mathbb{Z}$ 的元素。

  6. 域 $F$ 上的严格上三角 $3\times 3$ 矩阵集合 $$\Delta := \left{ \begin{bmatrix} 0 & a & b \ 0 & 0 & c \ 0 & 0 & 0 \end{bmatrix} : a,b,c\in F \right}$$ 构成一个交换(因为矩阵乘法不交换)且是幺环(因为 $\Delta$ 不包含单位矩阵)的环。

  7. 非负整数集合 $\mathbb{N}_0 := {0,1,2,\ldots}$ 构成环。因为它除了 $0$ 之外的所有元素都缺少加法逆元,所以 $(\mathbb{N}_0,+)$ 不是一个群,违反了环定义的第一个条件。(相反,$\mathbb{N}_0$ 构成一个所谓的半环。)

注意

严格来说,在上述例子中,我们应该明确写出运算 $+$ 和 $\cdot$(而不仅仅是集合),因为特定的加法和乘法概念是环定义的关键部分。例如,与其写“整数集 $\mathbb{Z}$ 构成一个交换幺环”,不如写“整数集 $\mathbb{Z}$ 连同通常的整数加法和乘法构成一个交换幺环”。然而,为了简洁起见,我们默认每个集合都配备了其标准的加法和乘法。在本博客系列的其他部分中,我们将沿用这一假设。

直观理解

在本博客系列中,环主要作为系数域和多项式环出现。例如,如果 $R$ 是我们的基环,那么 $R[x_1,\ldots,x_n]$ 是系数在 $R$ 中的多项式环。一般来说,密码学中通常遇到的环既是交换的也是幺环。因此,从现在开始,我们将使用术语“环”来表示“交换幺环”。

按照这个命名法,环和域的定义之间唯一的区别是,域中的每个元素(除了 $0$)都有乘法逆元,而环中的元素并不要求都有乘法逆元。

例如,实数域 $\mathbb{R}$ 中的每个元素 $x$(除了 $0$)都有乘法逆元 $x^{-1} := 1/x\in\mathbb{R}$。但是,对于环 $\mathbb{Z}$ 中的(几乎)所有元素来说,情况并非如此。在 $\mathbb{Z}$ 中,只有元素 $1$ 和 $-1$ 有乘法逆元(即 $1^{-1}:=1$ 和 $(-1)^{-1}:=-1$)。$\mathbb{Z}$ 中的其他元素都缺乏乘法逆元,因为整数的分数通常不在 $\mathbb{Z}$ 中。

定义

考虑一个环 $R$。一个 $R$-模是一个集合 $M$,以及二元运算 $+:M\times M\to M$ 和 $\cdot:R\times M\to M$,满足以下条件:

  1. $(M,+)$ 是一个交换群。

  2. 对所有 $r,s\in R$ 和 $m,n\in M$,有 $(r+s)\cdot m = r\cdot m + s\cdot m$ 和 $r\cdot(m+n) = r\cdot m + r\cdot n$。

  3. 对所有 $r,s\in R$ 和 $m\in M$,有 $(r\cdot s)\cdot m = r\cdot(s\cdot m)$。

  4. 对所有 $m\in M$,有 $1\cdot m = m$,其中 $1\in R$ 是 $R$ 的乘法单位元。

二元运算 $+$ 和 $\cdot$ 分别称为加法标量乘法

例子
  1. 域上的任何向量空间都是该域上的模。特别地,向量空间 $\mathbb{R}^n$ 是一个 $\mathbb{R}$-模。类似地,$\mathbb{C}^n$ 定义了一个 $\mathbb{C}$-模,$\mathbb{F}_p^n$ 定义了一个 $\mathbb{F}_p$-模。

  2. 每个环 $R$ 都是一个 $R$-模,其中模的加法由环的加法给出,标量乘法由环的乘法给出。

  3. 更一般地,对于环 $R$ 和任意整数 $n\ge 1$,笛卡尔积 $R^n = R\times \cdots \times R$($n$ 次)是一个 $R$-模,其中加法和标量乘法按分量定义: $$(r_1,\ldots,r_n) + (s_1,\ldots,s_n) := (r_1+s_1,\ldots,r_n+s_n)$$ 和 $$a\cdot (r_1,\ldots,r_n) := (ar_1,\ldots,ar_n),$$ 其中 $a,r_i,s_i\in R$,$i\in{1,\ldots,n}$。另外,注意我们在等式左边显式地写 $\cdot$ 来表示模的标量乘法,而在定义右边省略了乘法符号(即写 $ar_i$ 而不是 $a\cdot r_i$)来表示环的乘法。

  4. 对于环 $R$,多项式环 $R[x_1,\ldots,x_n]$ 是一个 $R$-模,其中两个多项式按通常方式相加,而元素 $r\in R$ 的标量乘法意味着将多项式的每个系数乘以 $r$。

  5. 对于环 $R$,$m\times n$ 矩阵(元素在 $R$ 中)的集合 $M_{m\times n}(R)$ 是一个 $R$-模,其中加法和标量乘法按元素定义。注意,这种标量乘法不应与矩阵乘法混淆。实际上,矩阵乘法一个二元运算,但不是我们模定义意义上的运算。事实上,如果 $m\neq n$,矩阵乘法在 $M_{m\times n}(R)$ 上甚至没有定义,因为矩阵乘法要求第一个因子的列数等于第二个因子的行数。

直观理解

模之于环,正如向量空间之于域。换句话说,模是向量空间的一种推广,通过允许标量来自环而不是域得到。如果环 $R$ 恰好是一个域,那么 $R$-模完全等同于 $R$ 上的向量空间。

那么,为什么还要关心模呢?因为数学中许多常见的对象在乘以环的元素时是封闭的,但乘以任意的域元素时却不封闭。例如,考虑 $\mathbb{Z}^n$:$\mathbb{Z}^n$ 自然是一个 $\mathbb{Z}$-模(见上面的例子 3),但它不是 $\mathbb{Z}$ 上的向量空间,因为 $\mathbb{Z}$ 不是域。

你应该牢记的主要直观是,“模是一个向量空间,其中标量来自环而不是域。” 关键区别在于,在域中,每个非零标量都是可逆的,而在环中,则不一定如此。这个“小”区别有一个重要后果:在向量空间中,乘以非零标量的操作总是可以通过乘以其逆元来撤销。在一般的模中,这不再成立。例如,在 $\mathbb{Z}$-模 $\mathbb{Z}$ 中,乘以 $2$ 将 $x\in\mathbb{Z}$ 映射到 $2x\in\mathbb{Z}$,但没有整数标量可以逆转这个操作,因为 $\frac{1}{2}\notin\mathbb{Z}$。

现在我们已经建立了关于环和模的一些基本直观,我们准备在下一篇文章中讨论模之间的态射。敬请期待!

致谢

特别感谢 Jason ParkYoichi HiraiVarun Thakore0xteddav0xStrapontinKhaled SulimanYoussef23 抽出时间帮助我润色这篇文章。

分享本文

在 X 上分享 在 LinkedIn 上分享 通过电子邮件分享

zkSecurity 为密码学系统提供审计、研究和开发服务,包括零知识证明、MPC、FHE、共识协议等。

了解更多 →

  • 原文链接: blog.zksecurity.xyz/post...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
zksecurity
zksecurity
Security audits, development, and research for ZKP, FHE, and MPC applications, and more generally advanced cryptography.