try ai
科普
编辑
分享
反馈
  • 张量的外积

张量的外积

SciencePedia玻尔百科
核心要点
  • 外积通过将低阶张量的分量相乘来构建高阶张量,是一种基本的“升阶”运算。
  • 点积和矩阵乘法等我们熟悉的操作,其实是一个两步过程:先进行外积,再进行缩并。
  • 在物理学中,外积对于构建在不同坐标系下均保持有效的张量定律至关重要,尤其是在相对论中。
  • 在数据科学中,张量分解方法逆转了这一过程,将复杂数据分解为简单外积之和,以揭示潜在模式。

引言

在数学和物理学领域,乘法不是一个单一的概念,而是一组多样化的运算。点积将向量压缩成一个标量,叉积产生一个新向量,但还存在一种更为基本和构造性的乘法形式:外积。这种运算满足了一种关键需求,即需要一种系统性的方法,从向量等更简单的分量构建称为张量的复杂多维对象。它为现代物理学和数据分析的语言提供了基础语法。本文旨在全面介绍这一重要工具。我们将首先深入探讨外积的原理和机制,探索它如何创造更高阶的张量,以及它与矩阵乘法和缩并等其他运算的关系。随后,我们将探索其多样化的应用和跨学科联系,发现外积如何统一几何概念、构建物理学的不变定律,以及在机器学习中如何解构复杂数据集。

原理与机制

想象一下你在学做饭。你从基本动作开始:切、搅、热。然后你学习如何组合它们。先把洋葱切好再炒,与先炒再试图去切,结果截然不同。顺序和组合方式至关重要。在数学和物理学中,情况类似。我们有基本原料——数和向量——也有基本动作,如加法和减法。但乘法呢?事实证明,“乘法”并非一个单一的配方。你可能知道,点积取两个向量,得到一个数字,即标量。叉积(在三维空间中)取两个向量,得到一个新向量。今天,我们将探讨一种更通用、更强大的乘法形式,它构成了构建物理学语言的基本“切分与组合”配方:​​外积​​。

一种新的乘法

我们从最简单的情况开始。假设我们有两个存在于三维空间中的向量 u\mathbf{u}u 和 v\mathbf{v}v。当我们对它们进行外积运算时会发生什么?我们用一个特殊符号 ⊗\otimes⊗ 来表示这个运算。我们这样写:

T=u⊗v\mathbf{T} = \mathbf{u} \otimes \mathbf{v}T=u⊗v

这个新对象 T\mathbf{T}T 是什么?它不是标量,也不是向量。它是一种新的、更丰富的对象,一个​​张量​​。如果一个向量像一个数字列表(u1,u2,u3u_1, u_2, u_3u1​,u2​,u3​),那么这个新张量就像一个数字网格。我们如何填充这个网格呢?规则非常简单。要得到网格中第 iii 行、第 jjj 列的元素(我们称之为 TijT_{ij}Tij​),你只需将 u\mathbf{u}u 的第 iii 个分量与 v\mathbf{v}v 的第 jjj 个分量相乘。

Tij=uivjT_{ij} = u_i v_jTij​=ui​vj​

就是这样!没有求和,没有复杂的规则。只是逐个分量地直接相乘。例如,如果你想找到第3行第1列的分量,你只需取第一个向量的第3个分量和第二个向量的第1个分量,将它们相乘:T31=u3v1T_{31} = u_3 v_1T31​=u3​v1​。如果 u=(u1,u2,u3)\mathbf{u} = (u_1, u_2, u_3)u=(u1​,u2​,u3​) 且 v=(v1,v2,v3)\mathbf{v} = (v_1, v_2, v_3)v=(v1​,v2​,v3​),完整的张量 T\mathbf{T}T 可以写成一个矩阵:

T=(u1v1u1v2u1v3u2v1u2v2u2v3u3v1u3v2u3v3)\mathbf{T} = \begin{pmatrix} u_1 v_1 & u_1 v_2 & u_1 v_3 \\ u_2 v_1 & u_2 v_2 & u_2 v_3 \\ u_3 v_1 & u_3 v_2 & u_3 v_3 \end{pmatrix}T=​u1​v1​u2​v1​u3​v1​​u1​v2​u2​v2​u3​v2​​u1​v3​u2​v3​u3​v3​​​

你可以把张量想象成一台机器。一个向量 u\mathbf{u}u 是一台简单的机器,它接收一个基向量(比如“x方向”),然后输出一个数字(分量 uxu_xux​)。这个新张量 T\mathbf{T}T 是一台更复杂的机器。它接收两个基向量(比如“z方向”和“x方向”),然后输出数字 T31T_{31}T31​。它关联了两个不同的方向。

数索引的艺术:阶为何物?

这引导我们用一种非常简单的方式来对这些对象进行分类:通过计算它们的索引数量。一个标量,比如温度,不需要索引。它是一个​​0阶​​张量。一个向量,比如速度,需要一个索引来指定分量(viv_ivi​)。它是一个​​1阶​​张量。我们的新对象 T\mathbf{T}T 需要两个索引(TijT_{ij}Tij​),是一个​​2阶​​张量。

因此,外积是一种​​升阶运算​​。它将你相乘的对象的阶数相加。你取一个1阶向量和另一个1阶向量,它们的外积是一个(1+1)=2阶的张量。

这不仅限于向量。这个原理是完全通用的。假设你有两个2阶张量,一个描述材料中的应力 SijS_{ij}Sij​,另一个描述某种动力学性质 KklK_{kl}Kkl​。它们的外积是什么?你只需将它们的分量相乘,形成一个新的、更宏大的对象,Mijkl=SijKklM_{ijkl} = S_{ij} K_{kl}Mijkl​=Sij​Kkl​。这个新对象有多少个索引?四个!所以,它是一个​​4阶​​张量。

你可以感觉到这里的模式。就像玩乐高积木一样。你可以用这种方式将它们拼接在一起,构建出越来越复杂的结构。我们甚至可以对四个不同的向量 a\mathbf{a}a、b\mathbf{b}b、c\mathbf{c}c 和 d\mathbf{d}d 进行外积,构造一个4阶张量,其分量为 Tijkl=aibjckdlT_{ijkl} = a_i b_j c_k d_lTijkl​=ai​bj​ck​dl​。以这种方式由多个向量的外积构建的张量,在高阶意义上被称为​​1秩张量​​(这是一个有点令人困惑但标准化的名称!),它们构成了从机器学习到量子物理学等领域中表示复杂多维数据的基本构建模块。

两种积的故事

现在我们必须非常小心,因为我们走到了一个困惑了代代学生的岔路口。考虑涉及两个2阶张量 A\mathbf{A}A 和 B\mathbf{B}B 的分量的两个表达式:

  1. AijBklA_{ij} B_{kl}Aij​Bkl​
  2. AijBjkA_{ij} B_{jk}Aij​Bjk​

它们看起来几乎一样,但描述的却是完全不同的世界。秘密就在于索引。我们有一个规则,一个绝妙的简写方法,叫做​​爱因斯坦求和约定​​:如果一个索引在单个项中恰好出现两次,就意味着对该索引进行求和。被求和的索引称为​​哑指标​​。只出现一次的索引称为​​自由指标​​。自由指标的数量告诉你结果对象的阶数。

我们来看第一个表达式 AijBklA_{ij} B_{kl}Aij​Bkl​。每个索引——i,j,k,li, j, k, li,j,k,l——都只出现一次。它们都是自由指标。一共有四个,所以这代表一个4阶张量的分量。这就是我们的​​外积​​。

现在看第二个表达式 Cik=AijBjkC_{ik} = A_{ij} B_{jk}Cik​=Aij​Bjk​。索引 jjj 在右边出现了两次。它是一个哑指标!这里隐藏着一个求和:Cik=∑jAijBjkC_{ik} = \sum_j A_{ij} B_{jk}Cik​=∑j​Aij​Bjk​。索引 iii 和 kkk 是自由的,因为它们各出现一次。有两个自由指标,结果 CikC_{ik}Cik​ 是一个2阶张量。这不是外积,这是普通的​​矩阵乘法​​!

所以,矩阵乘法实际上是一个两步过程:先进行外积,然后进行一个称为​​缩并​​的操作,即对一对索引进行“求和”。缩并总是将张量的阶数降低2。

这揭示了不同类型乘积之间深刻的统一性。我们熟悉的两个向量的点积 u⋅v\mathbf{u} \cdot \mathbf{v}u⋅v,实际上只是它们外积的缩并。外积得到 Tij=uivjT_{ij} = u_i v_jTij​=ui​vj​。如果我们将索引设为相等并求和(我们写作 uiviu_i v_iui​vi​)来进行缩并,我们就得到了标量点积:∑iTii=∑iuivi=u⋅v\sum_i T_{ii} = \sum_i u_i v_i = \mathbf{u} \cdot \mathbf{v}∑i​Tii​=∑i​ui​vi​=u⋅v。点积远非一个独立的规则,它只是外积更丰富结构的一个投影。

内在特性:对称性与结构

当我们构建一个像 T=u⊗v\mathbf{T} = \mathbf{u} \otimes \mathbf{v}T=u⊗v 这样的张量时,它只是一个没有灵魂的数字网格吗?还是它具有某种内在特性?我们来研究一下。分量 TijT_{ij}Tij​ 和 TjiT_{ji}Tji​ 相同吗?

我们知道 Tij=uivjT_{ij} = u_i v_jTij​=ui​vj​,根据同样的规则,Tji=ujviT_{ji} = u_j v_iTji​=uj​vi​。因为 ui,vju_i, v_jui​,vj​ 都只是数字,一般情况下没有理由认为 uivju_i v_jui​vj​ 等于 ujviu_j v_iuj​vi​。所以,通常情况下,T\mathbf{T}T 是不对称的。

然而,任何2阶张量都可以分解为两部分:一个纯​​对称​​部分和一个纯​​反对称​​部分。这就像任何函数都可以分为偶部和奇部一样。方法很简单:

对称部分:Sij=12(Tij+Tji)S_{ij} = \frac{1}{2}(T_{ij} + T_{ji})Sij​=21​(Tij​+Tji​) 反对称部分:Aij=12(Tij−Tji)A_{ij} = \frac{1}{2}(T_{ij} - T_{ji})Aij​=21​(Tij​−Tji​)

你可以自己验证,SijS_{ij}Sij​ 总是等于 SjiS_{ji}Sji​,而 AijA_{ij}Aij​ 总是等于 −Aji-A_{ji}−Aji​。将它们加回来,Sij+AijS_{ij} + A_{ij}Sij​+Aij​,就得到了原来的 TijT_{ij}Tij​。这种分解非常有用,因为它经常将一个物理过程分离成两个不同的部分,例如,旋转(反对称)和拉伸(对称)。即使是由外积构造的简单张量也具有这种隐藏的结构。

现在来看一点小魔术。如果我们用一个向量与自身的外积来创建一个张量会发生什么?设 T=v⊗v\mathbf{T} = \mathbf{v} \otimes \mathbf{v}T=v⊗v,所以其分量为 Tij=vivjT_{ij} = v_i v_jTij​=vi​vj​。它的反对称部分是什么?

Aij=12(Tij−Tji)=12(vivj−vjvi)A_{ij} = \frac{1}{2}(T_{ij} - T_{ji}) = \frac{1}{2}(v_i v_j - v_j v_i)Aij​=21​(Tij​−Tji​)=21​(vi​vj​−vj​vi​)

由于分量 viv_ivi​ 和 vjv_jvj​ 只是数字,它们的乘法是可交换的,即 vivj=vjviv_i v_j = v_j v_ivi​vj​=vj​vi​。因此,括号中的表达式永远为零!反对称部分完全消失了。由一个向量与自身外积形成的张量,必然是一个​​对称张量​​。这是一个从定义中直接得出的简单而优雅的真理。

自然的语言:物理学的构建模块

到目前为止,我们主要使用像 i,j,ki, j, ki,j,k 这样的下标索引。但在物理学中,尤其是在爱因斯坦的相对论中,你会看到索引既有下标(vμv_\muvμ​)也有上标(uμu^\muuμ)。这不仅仅是为了装饰;它们讲述了一个深刻的故事,关于这些量在改变视角(即坐标系)时如何表现。

带有上标的对象,如粒子的四维速度 uμu^\muuμ,称为​​逆变向量​​。带有下标的对象,如场的梯度 gν=∂ψ∂xνg_\nu = \frac{\partial \psi}{\partial x^\nu}gν​=∂xν∂ψ​,称为​​协变向量​​(或余向量)。

外积完美地遵循了这种区别。如果一位物理学家通过对流体的速度 uμu^\muuμ 和某种化学浓度的梯度 gνg_\nugν​ 进行外积来提出一个新的量,得到的对象是 Aνμ=uμgνA^\mu_\nu = u^\mu g_\nuAνμ​=uμgν​。这个新张量从其“父母”那里继承了特性:它有一个逆变索引(μ\muμ)和一个协变索引(ν\nuν)。它是一个​​混合2阶张量​​。

这就是张量和外积的真正力量所在。它们提供了一种系统的方法来构造具有清晰、可预测变换性质的物理量。这使我们能够以张量形式写下物理定律——比如麦克斯韦方程组或爱因斯坦场方程。其惊人的结果是,这些方程对于任何观察者,无论其运动状态如何,都具有相同的形式。外积提供了砖块,而缩并提供了砂浆,用以构建这些普适的、不变的自然法则。简单地将分量相乘,Tij=uivjT_{ij} = u_i v_jTij​=ui​vj​,是通往理解时空本身基本结构道路上的第一步。

应用与跨学科联系

现在我们已经熟悉了外积的数学工具,你可能会问一个完全合理的问题:它到底有什么用?事实证明,答案非常广泛。外积不仅仅是数学家工具箱里又一个晦涩的运算。从深层意义上说,它就像一台基础的织布机,更复杂的结构之布就是在这上面织就的。它是自然界用以从更简单的向量类分量构建高阶关系的工具。要看到这一点,我们不必舍近求远;我们可以从我们自己世界的熟悉几何学开始,然后走向物理学和数据科学的前沿。

统一我们世界的几何学

你可能在物理和数学课上花了很多年时间学习点积(或内积)和标量三重积等概念。它们看起来像是用于不同工作的不同工具:一个用于投影向量和计算功,另一个用于计算体积。但如果我告诉你,它们都是一个更深层的张量运算的两种表现形式呢?

让我们取两个普通向量 u\mathbf{u}u 和 v\mathbf{v}v。它们的外积 T=u⊗v\mathbf{T} = \mathbf{u} \otimes \mathbf{v}T=u⊗v 是一个2阶张量,一个矩阵,其元素 TijT_{ij}Tij​ 就是 uivju_i v_jui​vj​。现在,让我们做一件有趣的事:把这个矩阵的对角线元素加起来。这个操作,如你所知,称为求迹。我们会得到什么?我们发现,这个新对象的迹恰好是原始向量的点积:Tr(u⊗v)=∑kukvk=u⋅v\mathrm{Tr}(\mathbf{u} \otimes \mathbf{v}) = \sum_k u_k v_k = \mathbf{u} \cdot \mathbf{v}Tr(u⊗v)=∑k​uk​vk​=u⋅v。这岂不是很神奇?将两个向量“压缩”成一个数字的内积,可以被看作是更高维世界中的一个两步过程:首先,用外积将向量展开成一个张量,然后用迹将其缩并回去。

奇妙之处不止于此。考虑三个向量 P\mathbf{P}P、Q\mathbf{Q}Q 和 R\mathbf{R}R。我们可以用它们构建一个3阶张量,Tijk=PiQjRkT_{ijk} = P_i Q_j R_kTijk​=Pi​Qj​Rk​,这就像一个三维的乘法表。这个张量包含了这三个向量分量的所有可能的乘积组合。现在,如果我们将这个张量与完全反对称的列维-奇维塔符号 ϵijk\epsilon_{ijk}ϵijk​ 进行缩并会发生什么?这个缩并 S=∑ijkϵijkTijk=∑ijkϵijkPiQjRkS = \sum_{ijk} \epsilon_{ijk} T_{ijk} = \sum_{ijk} \epsilon_{ijk} P_i Q_j R_kS=∑ijk​ϵijk​Tijk​=∑ijk​ϵijk​Pi​Qj​Rk​ 原来就是标量三重积 P⋅(Q×R)\mathbf{P} \cdot (\mathbf{Q} \times \mathbf{R})P⋅(Q×R),它给出了由这三个向量定义的平行六面体的有符号体积。同样,一个我们熟悉的几何概念,从张量构造和缩并的系统规则中自然地浮现出来,揭示了其下统一的结构。

构建物理学的语言

外积作为“结构构建者”的这一角色在物理学中是绝对必要的。物理定律不能依赖于观察者选择的任意坐标系。正如爱因斯坦教导我们的,自然定律对每个人都必须是相同的。张量是表达这一思想的完美语言,因为它们具有明确定义的变换性质。如果一个张量方程在一个坐标系中成立,那么它在所有坐标系中都成立。

但是这些物理张量从何而来?很多时候,它们是由更基本的对象构建起来的,比如相对论中时空的四维向量。外积是关键的构造原理。例如,在狭义相对论中,你可能会用时空位置四维向量 xμx^\muxμ 来描述一个事件,用四维速度 UνU^\nuUν 来描述一个粒子的运动。通过对它们进行外积,你可以构造一个2阶张量 Tμν=xμUνT^{\mu\nu} = x^\mu U^\nuTμν=xμUν。因为它是由两个行为良好的四维向量构建的,所以这个新张量保证在从一个惯性系到另一个惯性系的洛伦兹变换下能够正确地变换。这个原理被用来构建物理学中一些最重要的对象,如电磁场张量和应力-能量张量,确保物理学方程尊重宇宙的基本对称性。

这种构造方法也让我们对自然界中出现的张量的复杂结构有了更深的理解。例如,描述广义相对论中时空曲率的黎曼曲率张量 RabcdR_{abcd}Rabcd​ 具有一组丰富的对称性。人们可能会想,它是否可以由两个反对称张量的简单外积形成,比如 Tabcd=FabHcdT_{abcd} = F_{ab}H_{cd}Tabcd​=Fab​Hcd​。当你研究这种可能性时,你会发现这样的张量自动满足黎曼张量的两个对称性(在其第一对和最后一对索引上是反对称的)。然而,它不满足其他对称性,比如对交换对称性(Rabcd=RcdabR_{abcd}=R_{cdab}Rabcd​=Rcdab​)或第一比安基恒等式。这告诉我们,时空的曲率具有比简单乘积更微妙和受约束的结构;其深刻的几何意义被编码在无法通过单个外积捕捉的对称性中。

解构数据:信号处理与机器学习

到目前为止,我们一直使用外积进行合成——从简单的向量构建复杂的张量。但在当今的数据世界里,我们常常面临相反的问题:我们淹没在复杂的多维数据集中,并希望找到隐藏在其中的简单而有意义的模式。在这里,我们将机器反向运行。这就是​​张量分解​​的世界。

整个事业都建立在一个简单而优美的思想之上。多维数据最基本的部分是一个​​1秩张量​​,根据定义,它就是几个向量的外积。想象一个用户对电影评分的数据集,其中你还知道用户的位置。这是一个3阶张量:(用户,电影,位置)。这个张量的一个单一的1秩分量可以表示为(用户偏好向量)⊗\otimes⊗(电影属性向量)⊗\otimes⊗(位置因素向量)。它代表了数据中一个单一、连贯的“故事”——例如,“大城市的年轻科幻迷倾向于喜欢大片动作电影”。

像​​典范多项分解(CP分解)​​这类方法的目标,是将一个庞大而复杂的数据张量表示为少数几个这种简单、可解释的1秩张量之和。张量的“秩”是完美重构它所需的最少此类1秩项的数量。这个过程就像聆听一个复杂的和弦,并将其分解成正在演奏的单个音符。它具有巨大的实际应用价值,从电信中分离混合信号、神经科学中分析大脑活动,到在网络上提供个性化推荐。

这种将张量视为“构建模块”的观点是如此核心,以至于人们为其发展出了一种强大的可视化语言:​​张量网络​​。在这种图形演算中,一个张量是一个节点,它的索引是伸出的“腿”。三个向量的外积 Tijk=uivjwkT_{ijk} = u_i v_j w_kTijk​=ui​vj​wk​ 可以优雅地表示为三个独立的节点,它们的腿向外伸出,完全不相连。这种可视化方式清楚地表明,没有任何索引被求和——它是一个纯粹的乘积,一个可以用来构建代表缩并和分解的更复杂、相互连接网络的基础。

当然,这个强大的思想不仅仅是黑板上的图表。它是一个具体的计算现实。外积是几乎所有数值计算库中的基本函数,从 Python 的 NumPy 到 Google 的 TensorFlow。高效计算任意阶张量外积的能力不仅是张量分解的计算基石,也是建立深度学习中使用的复杂网络层的基础。

最后,值得注意的是,“外积”或“张量积”这个概念是如此基本,以至于它超越了这些应用,出现在抽象数学的最高领域。在作为对称性的数学语言的群表示论中,人们可以定义表示的外张量积。这使得数学家能够通过研究其各个部分的表示来理解复合系统的对称性。

从我们熟悉的线和体积的几何学,到时空的规律,从大数据中隐藏的模式,到对称性本身的抽象本质,外积始终是一个统一的概念。它是一个简单而强大的组合与创造规则,一次又一次地证明,在数学中,如同在自然界中一样,最复杂、最美丽的结构往往源于最简单的开端。