本文是系列第三部分,在引入环和模的基础上,继续构建线性映射、同构和双线性映射的数学工具。通过定义、例子和直觉解释,为后续用代数张量约简视角理解sum-check协议奠定基础。强调线性映射保持模结构,同构表示结构等价,双线性映射是双变量线性映射,是张量积的动机。

本文是该系列的第三篇。前两章是阅读本文的必读内容,可在此处找到:第一部分 和 第二部分。
在 第二部分 中,我们介绍了环和模,作为通过代数张量约简视角审视 sum-check 所需的第一批数学词汇。在这篇文章中,我们通过研究模之间的映射:线性映射、同构和双线性映射,继续构建该工具箱。正如承诺,目标不是让你记住每个定义,而是为系列后续部分建立一个有用的参考。那么,我们直接进入正题吧?
考虑一个环 $R$ 和两个 $R$-模 $M$ 和 $N$。从 $M$ 到 $N$ 的线性映射(或 $R$-线性映射,或模同态)是一个函数 $f:M\to N$,它对所有 $m,m'\in M$ 和所有 $r\in R$ 满足以下条件:
$f(m+m')=f(m)+f(m')$。
$f(r\cdot m)=r\cdot f(m)$。
如果 $f:M\to N$ 是 $R$-模 $M$ 和 $N$ 之间的线性映射,我们也写作 $f\in\hom_R(M,N)$ 或简写为 $f\in\hom(M,N)$。
注意
可以证明,从 $M$ 到 $N$ 的 $R$-线性映射的集合 $\hom(M,N)$ 本身构成了一个 $R$-模。证明其实很简单,但超出了本博客系列的范围。
恒等映射 $\operatorname{id}_M:M\to M,\ m\mapsto m$ 对于每个 $R$-模 $M$ 都是 $R$-线性映射。
零映射 $0:M\to N,\ m\mapsto 0$ 对于任意两个 $R$-模 $M$ 和 $N$ 都是 $R$-线性映射。
考虑 $R$-模 $R^n$。对于任意固定的标量 $a_1,\ldots,a_n\in R$,映射 $$f:R^n\to R,\ (x_1,\ldots,x_n)\mapsto a_1x_1+\cdots+a_nx_n$$ 是一个 $R$-线性映射。注意,这个线性映射也可以看作是将一个 $(1\times n)$-矩阵 $A=(a_1,\ldots,a_n)$ 与给定向量 $(x_1,\ldots,x_n)^\top$(视为 $(n\times 1)$-矩阵)进行矩阵乘法。
更一般地,任意 $(m\times n)$-矩阵 $A\in M_{m\times n}(R)$ 定义了一个 $R$-线性映射 $f_A:R^n\to R^m,\ x\mapsto Ax$。反之,任意 $R$-线性映射 $f\in\hom(R^n,R^m)$ 都可以通过一个 $(m\times n)$-矩阵表示。
微分映射 $D:R[x]\to R[x],\ f(x)\mapsto f'(x)$(对一元多项式)是一个 $R$-线性映射。事实上,微分是可加的,并且满足 $(r\cdot f)'=r\cdot f'$ 对所有 $r\in R$ 和所有 $f\in R[x]$ 成立。
一个不带常数项的一元一次多项式 $p(x)=ax\in R[x]$ 定义了一个线性映射 $p:R\to R,\ x\mapsto ax$,其中 $a\in R$ 是 $p$ 的唯一系数。
相反,一元一次多项式 $p(x)=x+1$(也可写作 $p:R\to R,\ x\mapsto x+1$)并不定义线性映射。特别地,“线性”多项式(指次数为 1 的多项式)通常并不定义线性映射。为了在示例 $p(x)=x+1$ 中看出这一点,考虑我们定义中的第二个条件。固定 $m=0$,并令 $r\in R$ 是 $R$ 的任意元素,唯一限制是 $r\neq 1$。那么我们有 $p(r\cdot m)\neq r\cdot p(m)$,因为 $$p(r\cdot m)=p(r\cdot 0)=p(0)=1\neq r=r\cdot(0+1)=r\cdot p(0)=r\cdot p(m),$$ 违反了线性映射定义中的第二个条件。
线性映射是一种保持模结构的函数,即它尊重构成模的两个基本运算:元素的加法和标量乘法。
注意,这里的定义与向量空间之间的线性映射几乎等价。唯一的区别是我们现在允许标量来自环而不是域。
在上述所有示例中,请牢记示例 3,因为它将是本博客系列后续部分最相关的线性映射。
考虑一个环 $R$ 和两个 $R$-模 $M$ 和 $N$。从 $M$ 到 $N$ 的同构是一个线性映射 $f:M\to N$,使得存在另一个线性映射 $g:N\to M$,满足以下两个方程:
其中 $\operatorname{id}_X$ 表示给定 $R$-模 $X$ 上的恒等映射。换句话说,先应用 $f$ 再应用 $g$ 会返回 $M$ 中的原始元素,先应用 $g$ 再应用 $f$ 会返回 $N$ 中的原始元素。
如果存在一个同构 $f:M\to N$,我们就说 $M$ 和 $N$ 是同构的,并记作 $M\cong N$。
映射 $g:N\to M$ 称为 $f$ 的逆,通常记作 $f^{-1}$。
恒等映射 $\operatorname{id}_M:M\to M,\ m\mapsto m$ 对每个 $R$-模 $M$ 都是一个同构。它的逆是自身。
考虑 $R$-模 $R^2$。映射 $f:R^2\to R^2,\ (x,y)\mapsto (y,x)$ 是一个同构。事实上,它是线性的,并且应用两次就返回原始输入:$f(f(x,y))=f(y,x)=(x,y)$。特别地,我们有 $f^{-1}=f$。
更一般地,每个可逆的 $(n\times n)$-矩阵 $A\in M_{n\times n}(R)$ 定义了一个同构 $f_A:R^n\to R^n,\ x\mapsto Ax$。它的逆是由逆矩阵 $A^{-1}$ 定义的线性映射。
映射 $f:R\to R,\ x\mapsto ax$ 是同构当且仅当 $a\in R$ 是可逆的。在这种情况下,逆映射为 $f^{-1}:R\to R,\ x\mapsto a^{-1}x$。
映射 $f:R\to R^2,\ x\mapsto (x,0)$ 是线性的,但不是同构。它是单射,但不是满射,因为像 $(0,1)\in R^2$ 这样的元素不在其像中。
映射 $f:R^2\to R,\ (x,y)\mapsto x$ 是线性的,但不是同构。它是满射,但不是单射,例如 $(0,0)$ 和 $(0,1)$ 都被映射到 $0$。
映射 $f:R\to R,\ x\mapsto x+1$ 不是 $R$-模的同构。尽管在许多熟悉的情况下它可能是双射(取决于我们考虑的是哪个环 $R$),但它不是线性的,正如我们在上一节线性映射的示例 7 中所见。
同构是一种完美保持模结构且不丢失任何信息的线性映射。特别地,它不会将不同元素坍缩到同一元素,也不会遗漏目标模中的任何元素。
因此,如果两个 $R$-模同构,它们一开始可能看起来不同,但在结构上是一样的(当视为 $R$-模时)。 我们在其中一个模中能做的任何事情都可以使用线性映射转换到另一个模,然后再转换回来。
例如,考虑 $(2\times 2)$-矩阵的 $R$-模 $M_{2\times 2}(R)$ 和长度为 $4$ 且元素在 $R$ 中的向量的 $R$-模 $R^4$:这些空间作为集合显然不相等,因为它们的元素以完全不同的形式书写。换句话说,如果我们仅将 $M_{2\times 2}(R)$ 和 $R^4$ 视为没有进一步结构的集合,则 $M_{2\times 2}(R)\neq R^4$。但是,从模论的角度看,$M_{2\times 2}(R)$ 和 $R^4$ 作为 $R$-模是同构的,同构映射为 $$\begin{pmatrix}a&b\c&d\end{pmatrix}\mapsto (a,b,c,d),$$ 其逆显然为 $$(a,b,c,d)\mapsto \begin{pmatrix}a&b\c&d\end{pmatrix}.$$ 因此,我们写作 $M_{2\times 2}(R)\cong R^4$,并说它们 "是一样的" 或从模论角度来看它们是 "相等的"(尽管严格来说,它们是不同的集合)。
考虑一个环 $R$ 和三个 $R$-模 $L$、$M$ 和 $N$。一个双线性映射是一个函数 $b:L\times M\to N$,它分别对每个参数是线性的。更精确地说,对所有 $\ell\in L$、$m\in M$ 和 $r\in R$,我们要求:
对于固定的 $m\in M$,映射 $L\to N,\ \ell\mapsto b(\ell,m)$ 是 $R$-线性的。
对于固定的 $\ell\in L$,映射 $M\to N,\ m\mapsto b(\ell,m)$ 是 $R$-线性的。
等价地,一个函数 $b:L\times M\to N$ 是双线性的,如果对所有 $\ell,\ell'\in L$、所有 $m,m'\in M$ 和所有 $r\in R$,我们有:
$b(\ell+\ell',m)=b(\ell,m)+b(\ell',m)$。
$b(\ell,m+m')=b(\ell,m)+b(\ell,m')$。
$b(r\cdot\ell,m)=r\cdot b(\ell,m)$。
$b(\ell,r\cdot m)=r\cdot b(\ell,m)$。
对三个或更多参数线性的映射称为多重线性映射。
乘法映射 $\mu:R\times R\to R,\ (a,b)\mapsto ab$ 是一个双线性映射,因为环中的乘法是可加的,并且与每个参数中的标量乘法兼容。
更一般地,如果 $R[x_1,\ldots,x_n]$ 表示 $R$ 上的多项式环,那么多项式乘法映射 $$R[x_1,\ldots,x_n]\times R[x_1,\ldots,x_n]\to R[x_1,\ldots,x_n],\ (f,g)\mapsto fg$$ 是双线性的。
考虑 $R$-模 $R^n$。点积 $$\langle\cdot,\cdot\rangle:R^n\times R^n\to R,\ ((x_1,\ldots,x_n)^\top,(y_1,\ldots,y_n)^\top)\mapsto \sum_{i=1}^n x_i y_i$$ 是一个双线性映射,其中 $\top$ 表示转置,也就是将 $R^n$ 的元素视为垂直向量,而非水平向量。
矩阵乘法定义了一个双线性映射。更精确地说,对于正整数 $m$、$n$ 和 $k$,映射 $$M_{m\times n}(R)\times M_{n\times k}(R)\to M_{m\times k}(R),\ (A,B)\mapsto A\cdot B$$ 是双线性的。
如果 $L$ 和 $M$ 是 $R$-模,那么零映射 $b:L\times M\to N,\ (\ell,m)\mapsto 0$ 对每个 $R$-模 $N$ 都是双线性的。
映射 $b:R\times R\to R,\ (a,b)\mapsto a+b$ 不是双线性的。例如,固定 $b=1$,映射 $a\mapsto a+1$ 不是线性的,正如我们在线性映射一节的示例 7 中已经讨论过的。
映射 $b:R\times R\to R,\ (a,b)\mapsto ab+1$ 不是双线性的。如前所述,固定 $b=1$ 得到映射 $a\mapsto a+1$,我们知道它不是线性的。
双线性映射就是一个函数,它对两个变量分别具有线性行为。 可以将双线性映射视为线性映射的“双输入版本”。当同时涉及两个模的元素时,它们提供了一种以保持模结构的方式(即尊重模的加法和标量乘法)进行映射的方法。
这正是双线性映射对张量积如此重要的原因:正如我们将在下一篇文章中看到的,张量积被设计为将双线性映射编码为普通的线性映射。从这个意义上说,双线性映射是动机对象,而张量积是让我们能够使用线性代数处理它们的工具。
现在我们已经了解了环、模、线性映射、同构和双线性映射,我们终于准备好介绍张量积了,这将是下一篇文章的主要主题。
特别感谢 Nicolas Mohnblatt、Jason Park、Varun Thakore、Khaled Suliman 和 Youssef23 抽出时间帮助我润色这篇文章。
zkSecurity 为零知识证明、MPC、FHE、共识协议等密码学系统提供审计、研究和开发服务。
- 原文链接: blog.zksecurity.xyz/post...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
作者暂未设置收款二维码