张量

                     

贡献者: JierPeter; addis

预备知识 矩阵

   “张量” 一词最早出现在结构力学里,用来描述应力的性质,因此被叫做张力(tensile stress)。现在我们知道,张力只是一种更一般的数学对象,张量(tensor),的特例,而这种对象在物理学的各个角落频繁出现。因此,我们会从现代角度,从根本上定义张量的概念,并展示如何将张量表示成常见的多维矩阵的形式。为了便于理解本条内容,读者应有扎实的线性代数功底。本文所介绍的是最根本的张量的定义,没有附加任何其它结构或限制,也暂未使用爱因斯坦求和约定,以方便初学者入门。

1. 简介

   张量本身,是一种多重线性映射。特别地,二阶张量可以看成是把两个向量映射成一个数字,也可以看成是把一个向量映射成一个向量。这里的数字是在定义以上向量的中的,在物理中一般是实数域或复数域。

   许多物理量都可以看成是线性映射。比如说,质量可以看成一个张量,它把加速度向量映射成一个力向量;转动惯量惯性张量也可以看成张量,它把角速度向量映射成一个角动量向量。张量的阶数不同,性质看起来也不同,但它们都有一个共性,即都是线性(式 2 )的。在未来的学习中遇到张量时,不妨思考 “这个张量是为了把什么映射为什么而定义的”,有利于加深理解。

2. 1-线性函数,2-线性函数以及它们的表示

   我们知道,给定两个向量空间 VW,我们可以构造从 VW 的线性映射。在这种情况下,自变量变量都也只有一个元素。多重线性映射,比如 k 重线性映射,就是拿一系列 V1,V2,,Vk 来进行一个多元映射,让这个多元映射中的某一个自变量 viV 单独变化时,映射看起来就像一个普通的线性映射。

   最简单的情况,就是考虑 W 是一个一维空间。在这种情况下,W 也可以看作实数域本身,而不是线性空间。将集合中的元素映射到数字集合上的映射,我们用一个特殊的术语来称呼,函数,也就是中学课程中函数一词,毕竟中学所涉及到的映射基本上都是实数到实数的映射,自然被称为函数。那么当线性映射的目标是一维的 W 时,由于此时 W 被看成实数域,我们特别地把这个映射称为线性函数。下面,我们就要用线性函数的概念来一步步引入多重线性映射和张量的概念及其表示。

线性函数用向量表示

定义 1 线性函数

   给定实数域 R 上的 n 维线性空间 V,称 f:VRV 到域 R 上的一个线性函数,如果 f 满足以下线性性:对于任意的 v1,v2Va1,a2R,都有 a1f(v1)+a2f(v2)=f(a1v1+a2v2)

   如果把域 R 本身看成一个一维的线性空间,那么线性函数就是 V 到这个一维空间上的线性映射。因此,我们只需要任取一个 V 的基,研究基向量被 f 映射到哪里,就可以计算出任意的 vV 被映射到哪里了。

   设 V 有基 {ei}i=1n。如果基向量 ei 被映射为 f(ei)=miR,那么对于任意的向量 v=a1e1++anen,根据线性性可以得到:

(1)f(a1e1++anen)=f(a1e1)++f(anen)=m1a1++mnan .
其中 m1a1++mnan 可以看成是向量 m 点乘 v 所得到的,其中 m=m1e1+m2e2++mnen

   也就是说,每个线性函数 f 对应一个向量 m,使得 f(v)=mv。这个向量 m,在以上给定的基 {ei}i=1n 中的坐标为 (m1,m2,,mn)T。当然,用别的基表达,坐标也会不一样,但向量还是那个向量。

   由于线性函数是一个向量空间到实数上的映射,我们也将其称为一个1-线性函数,以和其它多重线性函数区分,比如接下来讨论的 2-线性函数。

2-线性函数用矩阵表示

   继续使用上述给定的 n 维线性空间 V,但是我们现在拿出 2V 来构造映射 f:V×VR

定义 2 2-线性函数

   称 f:V×VR 为一个 2-线性映射,如果对于任意固定的 v0f(v0,v)f(v,v0) 都是 v 的线性函数,那么称 f 是一个 V2 上的 2-线性函数双线性函数(bilinear function)

   双线性函数定义的另一种表达方法,是对任意 v1,v2,u1,u2V 和标量 a1,a2,b1,b2,都有

(2)f(a1v1+a2v2,b1u1+b2u2)=a1f(v1,b1u1+b2u2)+a2f(v2,b1u1+b2u2)=a1b1f(v1,u1)+a2b1f(v2,u1)+a1b2f(v1,u2)+a2b2f(v2,u2) .

   为了表示这个映射,我们需要给两个 V 取定基。不过这里有两个 V,所以可以取两组不同的基,各 V 各自用一个单独的基。我们设第一个 V 的基是 {ei}i=1n,第二个的是 {ei}i=1n(许多情况下,两组基可以选为相同的)。选定各自的基以后,向量都可以表示成其坐标构成的列向量,而双线性函数就被表示为一个矩阵(以 2 维的 V 为例):

(3)v=a1e1+a2e2cv=(a1a2)u=b1e1+b2e2cu=(b1b2)fM=(f(e1,e1)f(e1,e2)f(e2,e1)f(e2,e2)) .

   这样,我们就有 f(v,u)=cvTMcu。注意这里 cvT 表示 cv 作为矩阵的转置1

   若双线性型满足 f(v,u)=f(u,v) 就称其为对称的,此时它对应的矩阵(若两组基相同)也是对称矩阵。

习题 1 

   把列向量看成矩阵,根据矩阵的运算法则,将式 3 代入式 2 ,验证 f(v,u)=cvTMcu

   上面给出的例子是 2 维的 V 的情况。推广到 n 维的 V 时,M 要扩展成一个 n×n 的矩阵,其中第 ij 列的元素是 mij=f(ei,ej)

   我们来看一个简单的 2-线性函数的例子。

例 1 功率

   三维空间里一个物体的受力,可以构成一个三维实线性空间 V,这个物体的速度,也可以构成一个 V2。用 F 表示物体受到的力,v 表示物体的速度,那么这个力对物体做功的功率 P 就是一个双线性函数:P=Fv。如果选定了受力空间和速度空间的基,还可以把向量 Fv 分别表示成列向量 cFcv,那么就有 P=cFTPcv,这里的 P 就是一个双线性函数在选定基底下的矩阵,它的作用是表示功率的计算方式。如果我们按以下方式选择基:受力空间的基是沿着 xyz 方向的大小为 1N 的力,而速度空间的基是沿着 xyz 方向的大小为 1m/s 的速度,那么在这两组基下,表示功率的双线性函数的矩阵就是单位矩阵 (100010001);如果把受力空间的基改为沿着 yxz 方向,那么表示功率的双线性函数的矩阵就变成了 (010100001)。此时,如果把速度空间的基改为沿着 xzy 方向,那么功率函数的矩阵就变成了 (001100010)

   可以看到,功率函数把受力、速度两个向量映射为一个实数,功率。选定受力空间和速度空间的不同基,可以得到功率函数的不同矩阵表达。这些矩阵表达了功率函数的特点,却随着基的变化而变化。类比线性代数中所学的线性映射,都可以表示为一个矩阵,虽然矩阵随着基的选取的不同可能也会不同,但是这些矩阵都表示同一个线性映射。同样,我们也可以把功率函数看成本身不变的,只是其矩阵表示随着基的选取不同而可能不同。

矩阵的拓展

   为了方便推广 2-线性函数的概念,我们需要用到向量矩阵的概念,因此要简单回顾一下矩阵运算。矩阵只是一种运算的表达方式。虽然我们常见的矩阵元素都是实数或者复数,但是只要是可以相加和相乘的元素都可以当作矩阵元素,例如行向量、列向量都可以作为矩阵的元素。

例 2 矩阵运算的例子

  • 向量可以和数字相乘。如果 vi 表示向量,ai 表示数字,那么 (v1v2v3) 是三个向量排成的矩阵,(a1a2a3) 是三个数字排成的矩阵,按照向量的数乘来进行矩阵乘法,(v1v2v3)(a1a2a3)=(a1v1+a2v2+a3v3) 就是一个向量,而 (a1a2a3)(v1v2v3)=(a1v1a1v2a1v3a2v1a2v2a2v3a3v1a3v2a3v3)9 个向量排成的矩阵。
  • 向量之间可以有点乘。因此 (v1v2v3v4)(v5v6)=(v1v5+v2v6v3v5+v4v6) 是两个数字排成的矩阵。
  • 3 维向量之间可以有叉乘。因此 (v1v2v3v4)×(v5v6)=(v1×v5+v2×v6v3×v5+v4×v6) 是两个向量排成的矩阵。

2-线性函数的向量矩阵表示

   设一个 2-线性函数 f:V2R 在基 {ei}i=1n(为方便计,两个 V 用同一组基)下的矩阵表达是

(4)(mij)=(m11m12m1nm21m22m2nmn1mn2mnn) .
则把每一行当成一个行向量,记为 mi=(mi1mi2min),那么 f 可以表达为行向量的行矩阵:
(5)M=(m1m2mn) .

   对于任意向量 v,uV,如果它们在同一个基下的列向量是 cvcu,那么 Mcv 是一个行向量,Mcvcu 是一个 R 中的数3

   因此,M 可以表示双线性函数 f,规则是:f(v,u)=Mcvcu

   你可能注意到了,2-线性函数的表示开始变得复杂了。好消息是,在后续的小节中我们会介绍爱因斯坦求和约定,这是一个能大大简化以上表达的规则。

3. 把线性函数称作张量

   一个 2-线性函数,又被称为一个二阶张量。同样地,一个 1-线性函数被称为一个一阶张量。由此还可以推广,一个实数被称为一个零阶张量。这就是现代数学中张量的定义之一。所谓的 k-阶张量就是一个 k-线性函数。

   不过,张量不仅仅是到数域上的映射。换句话说,张量不仅仅是线性函数,准确来说应该是线性映射。我们接下来就要深入讨论这一点。

4. 重新思考 2-线性函数

   我们再次观察一下 2-线性函数。虽然我们定义 2-线性函数是把两个向量映射到一个数字,但是在上面 “2-线性函数的向量矩阵表示” 的例子中我们也发现,一个 2-线性函数也可以看成是把一个向量映射到一个 1-线性函数上。比如说,例子中的函数,在给定的基下,就把 cv 映射到了 Mcv 上,而当你把 Mcv 当成一个整体的时候,会发现它是关于 cu 的一个 1-线性函数。由于 1-线性函数可以对应成一个向量,我们也可以把一个 2-线性函数看成是把一个向量映射到一个向量上。

   总而言之,一个 2-线性函数可以看成是把两个向量映射到一个数字,也可以是把一个向量映射到一个 1-线性函数上,还可以是把一个向量映射到一个向量上。最后一种解读方式是不是很眼熟?没错,这种语境下,它就是线性代数研究了很久的 “线性变换” 或 “两个线性空间之间的线性映射”。

   有了这个认识,我们就可以举出更多的 2-线性映射的例子了。

例 3 转动惯量

   更详细的分析可参见网球拍定理(科普)

   角速度被定义为一个向量,其大小就是角速度的大小,方向则按照右手定则确定。给定参考点,一个质点的角动量被定义为 r×mv,其中 r 是从参考点到质点位置的位移向量,m 是质点的质量,v 是质点的速度向量。一个质点系统的角动量,定义为所有质点的角动量之和。

   对于一个质量均匀分布的球体,由于它高度对称,如果它的角速度是 ω,那么它的角动量也沿着 ω 的方向,因此可以表示为 L=Iω,其中 L 是球体的角动量,数字 I 被称为转动惯量

   但是,如果一个刚体是 x 轴上一对对称质点构成的,它们的质量都是 m,到原点的距离都是 r,那么当这个刚体的角速度在 y,z 方向上时,角动量非零,且和角速度同向;当角速度在 x 方向上时,角动量为零。也就是说,转动惯量一般没法简单表示为一个实数 I,而应该用一个 2-线性函数来表示,即惯性张量。在这个例子中,在给定的直角坐标系上,惯性张量表示为一个矩阵

(6)(00002mr20002mr2) .

   拿出你的手机,把它近似看成一个长方体。取一个直角坐标系,使得三个坐标轴分别垂直于手机的正面、侧面和顶面,那么你的手机的转动惯量就可以表示成

(7)(a000b000c) .
其中通常有 a>b>c,因为你的手机的厚度从薄到厚依次是正面、侧面和顶面对应的方向。如果选用其它坐标系,这个转动惯量通常就是另一个矩阵的样子,但不管选什么坐标系表示手机的转动惯量矩阵,它们都是相似的。

   接下来一个例子也是极为常用的二阶张量。

例 4 电极化率

   我们简单介绍一下电极化率的概念。如果你已经熟悉电极化率的概念,可以跳过介绍部分(从图 1 之后看起);如果你想了解电极化率的更多相关知识,请参考电动力学相关文章。

   电偶极子是指一对电荷量相同的正负电荷构成的微观系统,它有一个性质叫电偶极矩,是一个向量。如果两个电荷分别带电荷 ±q,而从负电荷到正电荷的位移是 r,那么我们定义此电偶极矩就是 p=qr。当然,宏观上我们可以认为这两个电荷位置实际上是重合的,但仍然具有电偶极矩 p,也就是所谓的 “理想电偶极子”。

   从数学上来说,电荷是点粒子的一个性质,它是一个数字;偶极矩也是点粒子4的一个性质,它是一个向量。

   一些不对称的分子中,电子云的电荷中心可能和原子核的电荷中心不重合,一个这样的分子就可以看成是一个电偶极子。如果我们把一定区域里的电偶极子的电偶极矩都按照向量加法加起来,得到的总向量再除以这个区域的体积,我们就得到这个区域里电偶极矩的密度;当选定区域趋于一个点时,还能得到电偶极矩在一个点上的密度。当然,这里假设电偶极矩是连续的,因为宏观实验上所说的点,其实并不是严格意义上的点,也包含了大量的电偶极子。

   一般情况下,即使有大量电偶极子存在,物质也不会显出电性,因为各个地方的电偶极子都互相抵消了,使得电偶极矩的密度5处处为零。但是如果物质处在电场下,就不一定了。正电荷趋于往电场方向移动,负电荷趋于往电场方向的负方向移动,于是电偶极子就趋于让自己的方向和电场方向平行。当然,电偶极子的长度也会发生变化,改变电偶极矩的大小,但是这种改变对电偶极矩密度的改变相比转向带来的改变,微不足道6。当原本指向均匀地分布在各个方向上的电偶极子开始指向同一个方向的时候,各个点上就会出现非零的电偶极矩了,物质也开始显出电性。

图
图 1:电场引起电偶极矩密度变化的示意图。左图中物质里的电偶极子方向随机均匀分布,整体上不显电性;右图中物质里分布着水平向右的电场,在电场作用下电偶极子们都指向水平向右了,出现了水平向右的电偶极矩密度,宏观上开始表现出电性(存在束缚电荷)。

   电偶极矩密度不为零的时候,物质里会出现束缚电荷,但这不是我们目前关心的。我们目前关心的是,电偶极矩密度是怎么被电场影响的。

   对于可以自由运动的电偶极子,比如水分子,这个规律其实非常简单:记 P 是某一点的电偶极矩密度,E 是物质内的电场分布,那么就有 P=ϵE,其中 ϵ 是一个实数。也就是说,P 总是和 E 平行,并且大小之比恒为 ϵ。这个时候,我们可以说水具有电极化张量 M,使得 P=ME。如果按照国际单位制,把 EP 的基都选为同一组直角坐标系上的单位向量,那么水的电极化张量就可以表示为

(8)(ϵ000ϵ000ϵ) ,
这是单位矩阵的 ϵ

   但是电极化张量并非总是这么简单的。如果在一个晶体里,固有的电偶极子都是指向水平方向的,但是水平向右和向左的电偶极子互相抵消,总体上还是不显电性;同时,这些电偶极子无论如何都被限制在水平方向上,那么它们就无法转向。当晶体中存在水平向右的电场 E 的时候,水平向右的电偶极子被拉长、向左的被缩短,于是出现了水平向右的电偶极矩密度 P=ϵE。如果晶体中的电场不在水平方向,那么由于电偶极矩密度还是限制在了水平方向上,因此电场和电偶极矩密度不再平行了。按照国际单位制,把 EP 的基都选为同一组直角坐标系上的单位向量,那么这个晶体里的电极化张量就变成了

(9)(ϵ00000000) ,
不再是单位矩阵的 ϵ

   实际情况下,由于晶格对晶体中电荷在不同方向上的运动有不同程度的阻碍,晶体里的电极化张量不一定是单位矩阵的倍数。不过,由于改变基时矩阵变为相似矩阵,那么如果电极化张量在某个基下的矩阵表示是可对角化的,那么总能找到 E 的一组基,使得电极化张量的矩阵是一个对角矩阵;换句话说,沿着这基向量方向上的电场,引起的电偶极矩密度依然和电场平行,只不过不同的方向上倍数不一样。

5. k 阶张量

k-线性函数

   把 2-线性函数的定义推广,就得到 k-线性函数的定义。

习题 2 

   请尝试给出 k-线性函数的定义。答案就在题目下方。

定义 3 k-线性函数

   给定域 R 上的 n 维线性空间 V,称 f:VkRV 到域 R 上的一个k-线性函数线性泛函(linear functional),如果 f 对于每一个自变量都是线性的;或者说,当 k 个自变量中只有一个在变化,其它分量不变,那么 f 对于那个变化的自变量是线性函数。特别地,线性函数又被称为 1-线性函数。

   有了 k-线性函数的概念,我们就可以定义 k-阶张量了:

定义 4 张量

   一个 k-线性函数,被称为一个 k-阶张量。

6. 张量的阶数

   从前面的讨论我们知道,一个二阶张量还可以看成是把一个向量映射到一个向量;向量可以和一阶张量一一对应,因此二阶张量也可以看成是把一个一阶张量映射到一个一阶张量。同样地,一个三阶张量可以看成是把两个线性函数映射到一个一阶张量。

   事实上,一个 k-阶张量 f(v1,v2,,vk)k-线性函数,固定住其中几个自变量,比如说 v1vm,那么 f(v1,v2,,vk) 可以看成是剩下 (km) 个自变量的 km-线性函数 g(vm+1,,vk)。也就是说,f 把前 m 个向量映射成一个 km 线性函数。因此,我们也可以说,一个 k 阶张量把 m 个向量映射为一个 (km)-线性函数。由于线性函数就是对偶向量,也是向量,因此可以说 “一个 k 阶张量是把 m 个向量映射成 km 个向量”。

   以上观察意味着,我们有一个非常简单的法则来判断一个张量的阶数:阶数就是涉及的向量空间的数目。比如说,如果一个张量把 3 个向量映射为 2 个向量,那么它的阶数就是 5;如果一个张量把 2 个向量映射为一个数字,那么它的阶数就是 2.

7. 小结与拓展

   一个 n 维的 k 阶张量,可以表示为一个 k 维的超立方体矩阵,其中每条边包含了 n 个实数。

   我们在之前的定义中都把线性空间看成是定义在实数域 R 上的,而线性函数是线性空间映射到实数。实际上,这一点可以推广到,把线性空间定义在任何域 F 上,线性函数就是线性空间映射到这个域 F 上。这样也可以讨论线性空间上的张量。

   目前物理学中常用到的域,是实数域 R 和复数域 C

   像转动惯量这样的物理量,为什么可以看成线性映射呢?这是因为物理量彼此不是独立存在的,多个物理量之间相互作用而影响了其它的物理量,本身就是一种多个物理量映射到其它物理量或它们的性质的过程,就像牛顿第二定律可以看成是把加速度映射到力上,而质量的作用就是作为映射的函数。因此,物理量本身也可以看成是映射的过程,而在许多物理理论中,我们都可以线性地描述这些映射关系,因此常常可以把物理量看成是线性映射。


1. ^ 如果使用其它的基,那么向量 vu 的坐标和映射 f 的矩阵会有不同表示,但是计算出来的 cvTMcu 仍然是一致的。
2. ^ 回忆:R 上的线性空间,只要维度相同,都可以看成同一个空间。
3. ^ 此处把向量 m1T 看成 m 的元素,向量 v,u 看成列矩阵,进行矩阵乘法,应用数乘来乘以每一个数和向量 m1T
4. ^ 当我们把电偶极子的两个电荷视为在同一位置的时候,我们就把它看成在这个位置的一个粒子了。
5. ^ 电动力学中,将电偶极矩的密度称为电极化强度(polarization)。
6. ^ 对于没有自带电偶极矩的分子,或者单独的原子,转向效应是不存在的,这个时候只剩下电偶极矩被拉伸带来的效应了。

                     

© 小时科技 保留一切权利