什么是张量 (tensor)?

一方面,日常直觉和物理研究告诉人们,同一物理量的值,在不同坐标系下的坐标往往是不同的,物理学家希望自己研究的对象,如果去除坐标系变换的影响,应该是同一个量,于是就把这些符合某种坐标变换法则的物理量称为张量;另一方面,黎曼流形研究的对象恰好就是曲面上的各种对象在不同坐标系下的不同表示之间的联系,在流形上的众多对象中,把流形切丛上的多重线性映射称为张量(场)。当然,这两方面说的是一个概念。 想了解什么是张量,最好的方法是通过举例子来说明。我们从大家日常熟知的物理量入手进行介绍,在第(5)小结给出物理学家喜欢的张量的变换公式,在第(8)小结给出数学上的严格定义,并说明数学定义和物理上常用的张量变换公式是吻合的。 0 记号 我们用 来表示某个点在某个坐标系下的 n 维坐标,用上标表示坐标分量: 例如,三维欧式空间可以用直角坐标 来表示: 也可以用球坐标 来表示: 其中 是半径, 是 与 z 轴的夹角, 是 在 XY 平面上投影与 x 轴的夹角。变换关系是: 1 标量(0 阶张量) 假设 是在(n 维)欧式空间中一点 处的某个物理量,经过坐标变换,点 变成了 , 处的同一物理量的值为 。因为 和 代表的是空间中同一点,只是因为坐标系不同导致坐标值不同,又因为 和 测量的是同一物理量,所以一定有 。 就称为0 阶张量,其变换法则就是 。 2 微分、速度(1 阶张量) 考虑某质点在很短时间内发生了位移,在两个坐标系中,这一位移分别描述为: 如果把 看作是 的函数,那么根据微分 / 导数的链式法则,我们知道: (1) 写成矩阵的形式就是: (2) 其中 和 都是 n 维列向量, 是个 n 维方阵,它第 i 行第 j 列上的数是 ,也就是函数 的雅可比矩阵。对于球面坐标转换,有: 所以可以看到,虽然 和 之间的变换关系可能是非线性的,但是 和 之间的变换关系是线性的。这种具有线性变换关系的物理量 就是一阶张量。我们可以给式子两边同时除个 ,就得到: 也具有完全类似的形式。也就是说,(在非相对论环境中)速度矢量是一阶张量。这符合我们对速度的直觉:它是物理量,只是在不同的坐标系下坐标不同罢了。 在(1)式中,如果我们把 简写成 ,并且默认这样的运算规定:如果一堆记号中某个字母同时出现在上标和下标,就省略掉求和号,但不忘记要对它们求和,(1)式就写成了: (3) 这种去掉求和号的分量形式的变换法则很常见,习惯后也很方便用于计算,称为爱因斯坦求和约定。 3 梯度(1 阶张量) 下面来观察标量的梯度如何变化。咱们定义梯度算子是: 经过坐标变换的梯度算子是: 因为咱们已经知道 ,由导数的链式法则可以得到: 写成矩阵的形式就是: 既然标量 保持不变,我们可以把它省略,规定: 是作用在标量上的算子,其中我们用 来代表 。那么梯度算则的变换法则就是: 或者写成分量形式: (4) 从而 或者说 的变换也是线性的,是一阶张量。 如果我们比较微分和梯度的变换法则(3)式和(4)式,也就是: 就会发现第一行撇在右边,第二行撇在左边,所以虽然它们都是线性变换,但是 的位置相反,或者说这两种张量的变换规则是相反的。为了区分,它们分别叫做 covariant(协变)和 contravariant(逆变)的,我曾经听若干著名物理学家说过他们从来分不清谁是谁。大家都见过这种差别,在线性代数中,坐标的变换法则和坐标系的变换法则相反,因为一个是协变的,另一个是逆变的。 从 出发,咱们首先把带撇和不带撇的部分交换一下,注意 要变成 ,然后交换一下 和左右两边,就变成了 ,比较改变前后我们就发现,把矩阵从右边移到左边,只需要把 变成 ,是不是很方便?类似地,由 可以立即得到: (5) 4 度规(长度、角度的度量)(2 阶张量) 大家都知道在直角坐标系里,两点 和 之间的距离 可以用勾股定理来计算: 其中我们把单位矩阵的分量用 来表示,当 时其值为 1,否则值为 0,使用爱因斯坦求和约定,距离的平方可以写成: 然而,如果是在其他空间,比如在曲面上,长度的定义就变得复杂了,但是仍然有迹可循。我们定义在某个坐标系中,长度的平方为: 矩阵 就刻画了在一个坐标系中某个点的长度和角度等几何度量,称为 metric 张量或者度规。为了看出它是个张量,在另一个坐标系中我们有: 因为长度是物理标量,是不变的,而微分的变换公式我们在(5)式中已经得到了,这样就有: 也就是说: (6) 这种变换法则说明 是二阶张量 写成矩阵的形式就是: (7) 所以说,如果两个度规的矩阵表示之间可以用合同变换相联系,那么他们其实只是一个度规在不同坐标系下的坐标表示。结合(2)我们再一次发现 验证了在不同坐标系下长度是不变的标量。刚才我们已经发现,在三维直角坐标系的度规是单位矩阵: 转换到球面坐标中就变成了: 所以可以看到,从空间中任何一点依径向向外走 ,行进长度恒等于 ;如果是纬度增大 ,那么行进长度 与半径成正比,你在月球上朝北走 1 度的长度和在地球上朝北走 1 度的长度的比值恰好是两个星球的半径之比;如果是经度增大 ,行进长度为 ,也就是说,跨越相同的经度时,越靠近赤道,需要行走的距离越大,越靠近两极,需要行走的距离越小,在两极时 等于 0 或者 ,你站着不动就可以去任意经度。 总而言之,度规 是二阶张量,长度 是 0 阶张量。 5 (物理学家的)张量 推广一下,一个东西 是张量,就是说它满足变换法则: 如果 ,那么 (8) 前面我们看到一阶张量的变换可以用线性变换来刻画,二阶张量可以用矩阵合同变换来刻画,但是高阶张量矩阵就不够用了,用爱因斯坦求和约定刻画最方便。在第 7 节我们会举一个不是张量的例子并把它修补成张量。 6 面积元(0 阶张量) 是从点 到点 之间的 n 维小立方体的面积 / 体积,这个量是标量,也就是说不随坐标系变化。为了看出这一点,我们首先认识到在欧式空间中 是单位矩阵,体积元是 , 在其他空间中由积分区域的坐标变换规则,有: 又因为(7)得到 ,也就是说 ,所以 因而 是一个不随坐标系改变的量,又因为它在欧式空间中是体积元,它在任何其他坐标系中也是体积元这个物理量。 7 协变导数(1 协变 1 逆变张量) 假设我们现在得到了某个一阶张量 满足(3)式: 我们知道它其实就是曲面上的微分。一个让人好奇的问题是,它可不可以继续求导呢?当然可以,结果是 。然而当你验证张量定义,把这个式子展开后,就发现它不等于 按照任意张量变换法则变换后的值,原因是: 可以发现等式右边第一项符合二阶张量的运算法则,但是第二项不符合。为了符合张量变换条件,需要更改定义,给等式两边加上一项,这一项也不是张量,但是它经过坐标变换后多出来的项和上面等式右边第二项经过变换多出来项正好相反,抵消掉了,保证结果是个张量。新的导数被称为协变导数(covariant derivative): (9) 称为 Christoffel symbol,它不是三阶张量。但保证了 满足二阶张量的变换法则: 这里我们简单理解一下协变导数的物理意义。如果你站在光滑的曲面上任意一点,把局部放大,就可以把曲面近似成一个平面,这个平面,就是曲面在一点的切平面。在曲面上运动的质点 的速度 与曲面相切,因此在这个切平面上。如果继续对速度求导,就得到加速度 ,然而这个加速度会跑到曲面外边去。这就好比在地球表面上运动的质点,速度一定和地面相切,而加速度方向会指到外太空去,对于生活在二维球面上的生物来说,它没有办法测量出跑出自己空间的物理量,所以加速度在这种球面生物看来就是不符合张量法则的量。为了让它符合,就需要把加速度的指向曲面切平面外部的分量去除,或者说投影到切平面上,最终得到的量,就是加速度的协变导数,符合张量求导法则。人类能知道加速度跑出球面是因为人类生活在三维空间或者四维时空,人类自然也无法测量跑出四维时空的物理量,所以仍然需要协变导数,让物理量在四维时空中的投影满足张量法则。此外,Christoffel symbol 反应了空间的弯曲程度或者说度规随坐标位置变化的变化程度。 最后我们举一个例子说明协变导数有什么用。假设曲面上有一条以弧长 为参数的曲线 ,它的速度矢量是 ,由(9),速度矢量的协变导数是: 因为: 给等式两边乘上 再令导数等于 0,就得到: 当当当当,我们就得到了黎曼几何里最重要的公式——测地线方程。这其实是 n 个方程,符合这些方程的曲线,就是曲面上的最短线测地线了。比如如果你在球面坐标上求出它的解,解就是大圆,在时空中求它的解就会发现光线走直线,地球绕着太阳转的根本原因就是:大家都是在弯曲的时空中走测地线,也就是时空中的直线。 8 (数学家的)张量 为了理解张量的数学定义下面首先做一些说明。 我们用 代表一个 n 维微分流形或者说光滑曲面。 上每一点都可以有若干局部坐标,例如 和 ,写成分量的形式就是 和 ,不同坐标之间的变换是光滑的。我们记 是定义在 上的可微函数的集合。现在考虑曲面上一个点 ,曲面上所有过这一点的曲线的切线构成了曲面在这一点的切平面,记为 。 中的元素是这样的元素: 这些元素的定义域是 中在 可微的函数,值域是实数。咱们随便拿个可微函数 在 点用 作用一下,结果就是 ,也就是函数 在方向 上的导数。关键点在于,这些导数构成了一个 n 维线性空间,称为 点处的切空间,一个基就是 。下面我们可以定义这样一个函数,定义域是曲面上任意一点,在每一点 的值是它的切空间 中的一点,那么这样的函数就叫做切向量场,所有这样的函数构成的集合咱们记成 称为切丛(Tangent bundle),显然 上也存在线性结构,因为我们可以定义这样 n 个切向量场:在曲面上任意一点,这 n 个切向量是那个点处的切空间的一组基。在曲面上滑动后,这 n 个切向量场也就成了 的一组基, 显然就是 的一组基。 从而,数学家的张量就定义为 n 维流形切空间上的多重线性映射: 满足对每一个自变量是线性的: 由于这个定义告诉我们 是线性的,我们又知道 上存在线性结构,立即就可以得到下面几个重要结论,用一个三阶张量 举例说明: (1)如果知道了 在一组基,比如 的值,也就知道了 在任意处的值,比如我们令 ,那么就有: (2)如果同一个切向量可以有两种坐标系表示,比如 ,那么就有: 从(4)式我们已经知道 ,从而由 ,得出 ,这样就得到: 比较一下我们就发现: 这就是第五小节中物理学家眼中张量的定义!也就是张量在不同坐标系下分量式的变换公式。 此外,有了切空间,我们还可以定义它的对偶线性空间 ,叫做余切丛,里面的元素是这样的函数:以 中的元素为自变量的线性泛函。虽然名字和描述都很唬人,但是显然 的一组基就是 ,它是 的对偶基,因为在流形 的任意一点有: ,我们可以继续把张量的定义域拓展到这个空间中来: 重复上面的过程就会发现: 这是同时有协变和逆变的张量的变换公式。 最后,我们来看看前面举的几个例子是如何带入到这个定义中去的: (1)对于 0 阶张量,也即任意实函数 ,自变量里有 0 个 或者 元素,所以 在任意坐标系中都不变。 (2) 切向量 , (3) 微分 , (4) 度规 , 后面有时间我会补上曲率张量,Ricci 张量和 Scalar 张量,这些张量帮助爱因斯坦发展了广义相对论。 查看知乎讨论

什么是张量 (tensor)?
头图

一方面,日常直觉和物理研究告诉人们,同一物理量的值,在不同坐标系下的坐标往往是不同的,物理学家希望自己研究的对象,如果去除坐标系变换的影响,应该是同一个量,于是就把这些符合某种坐标变换法则的物理量称为张量;另一方面,黎曼流形研究的对象恰好就是曲面上的各种对象在不同坐标系下的不同表示之间的联系,在流形上的众多对象中,把流形切丛上的多重线性映射称为张量(场)。当然,这两方面说的是一个概念。

想了解什么是张量,最好的方法是通过举例子来说明。我们从大家日常熟知的物理量入手进行介绍,在第(5)小结给出物理学家喜欢的张量的变换公式,在第(8)小结给出数学上的严格定义,并说明数学定义和物理上常用的张量变换公式是吻合的。

0 记号

我们用

来表示某个点在某个坐标系下的 n 维坐标,用上标表示坐标分量:

例如,三维欧式空间可以用直角坐标

来表示:

也可以用球坐标

来表示:

其中

是半径,

与 z 轴的夹角,

在 XY 平面上投影与 x 轴的夹角。变换关系是:

1 标量(0 阶张量)

假设

是在(n 维)欧式空间中一点

处的某个物理量,经过坐标变换,点

变成了

处的同一物理量的值为

。因为

代表的是空间中同一点,只是因为坐标系不同导致坐标值不同,又因为

测量的是同一物理量,所以一定有

就称为0 阶张量,其变换法则就是

2 微分、速度(1 阶张量)

考虑某质点在很短时间内发生了位移,在两个坐标系中,这一位移分别描述为:

如果把

看作是

的函数,那么根据微分 / 导数的链式法则,我们知道:

(1)

写成矩阵的形式就是:

(2)

其中

都是 n 维列向量,

是个 n 维方阵,它第 i 行第 j 列上的数是

,也就是函数

雅可比矩阵。对于球面坐标转换,有:

所以可以看到,虽然

之间的变换关系可能是非线性的,但是

之间的变换关系是线性的。这种具有线性变换关系的物理量

就是一阶张量。我们可以给式子两边同时除个

,就得到:

也具有完全类似的形式。也就是说,(在非相对论环境中)速度矢量是一阶张量。这符合我们对速度的直觉:它是物理量,只是在不同的坐标系下坐标不同罢了。

在(1)式中,如果我们把

简写成

,并且默认这样的运算规定:如果一堆记号中某个字母同时出现在上标和下标,就省略掉求和号,但不忘记要对它们求和,(1)式就写成了:

(3)

这种去掉求和号的分量形式的变换法则很常见,习惯后也很方便用于计算,称为爱因斯坦求和约定。

3 梯度(1 阶张量)

下面来观察标量的梯度如何变化。咱们定义梯度算子是:

经过坐标变换的梯度算子是:

因为咱们已经知道

,由导数的链式法则可以得到:

写成矩阵的形式就是:

既然标量

保持不变,我们可以把它省略,规定:

是作用在标量上的算子,其中我们用

来代表

。那么梯度算则的变换法则就是:

或者写成分量形式:

(4)

从而

或者说

的变换也是线性的,是一阶张量。

如果我们比较微分和梯度的变换法则(3)式和(4)式,也就是:

就会发现第一行撇在右边,第二行撇在左边,所以虽然它们都是线性变换,但是

的位置相反,或者说这两种张量的变换规则是相反的。为了区分,它们分别叫做 covariant(协变)和 contravariant(逆变)的,我曾经听若干著名物理学家说过他们从来分不清谁是谁。大家都见过这种差别,在线性代数中,坐标的变换法则和坐标系的变换法则相反,因为一个是协变的,另一个是逆变的。

出发,咱们首先把带撇和不带撇的部分交换一下,注意

要变成

,然后交换一下

和左右两边,就变成了

,比较改变前后我们就发现,把矩阵从右边移到左边,只需要把

变成

,是不是很方便?类似地,由

可以立即得到:

(5)

4 度规(长度、角度的度量)(2 阶张量)

大家都知道在直角坐标系里,两点

之间的距离

可以用勾股定理来计算:

其中我们把单位矩阵的分量用

来表示,当

时其值为 1,否则值为 0,使用爱因斯坦求和约定,距离的平方可以写成:

然而,如果是在其他空间,比如在曲面上,长度的定义就变得复杂了,但是仍然有迹可循。我们定义在某个坐标系中,长度的平方为:

矩阵

就刻画了在一个坐标系中某个点的长度和角度等几何度量,称为 metric 张量或者度规。为了看出它是个张量,在另一个坐标系中我们有:

因为长度是物理标量,是不变的,而微分的变换公式我们在(5)式中已经得到了,这样就有:

也就是说:

(6)

这种变换法则说明

是二阶张量

写成矩阵的形式就是:

(7)

所以说,如果两个度规的矩阵表示之间可以用合同变换相联系,那么他们其实只是一个度规在不同坐标系下的坐标表示。结合(2)我们再一次发现

验证了在不同坐标系下长度是不变的标量。刚才我们已经发现,在三维直角坐标系的度规是单位矩阵:

转换到球面坐标中就变成了:

所以可以看到,从空间中任何一点依径向向外走

,行进长度恒等于

;如果是纬度增大

,那么行进长度

与半径成正比,你在月球上朝北走 1 度的长度和在地球上朝北走 1 度的长度的比值恰好是两个星球的半径之比;如果是经度增大

,行进长度为

,也就是说,跨越相同的经度时,越靠近赤道,需要行走的距离越大,越靠近两极,需要行走的距离越小,在两极时

等于 0 或者

,你站着不动就可以去任意经度。

总而言之,度规

是二阶张量,长度

是 0 阶张量。

5 (物理学家的)张量

推广一下,一个东西

是张量,就是说它满足变换法则:

如果

,那么

(8)

前面我们看到一阶张量的变换可以用线性变换来刻画,二阶张量可以用矩阵合同变换来刻画,但是高阶张量矩阵就不够用了,用爱因斯坦求和约定刻画最方便。在第 7 节我们会举一个不是张量的例子并把它修补成张量。

6 面积元(0 阶张量)

是从点

到点

之间的 n 维小立方体的面积 / 体积,这个量是标量,也就是说不随坐标系变化。为了看出这一点,我们首先认识到在欧式空间中

是单位矩阵,体积元是

在其他空间中由积分区域的坐标变换规则,有:

又因为(7)得到

,也就是说

,所以

因而

是一个不随坐标系改变的量,又因为它在欧式空间中是体积元,它在任何其他坐标系中也是体积元这个物理量。

7 协变导数(1 协变 1 逆变张量)

假设我们现在得到了某个一阶张量

满足(3)式:

我们知道它其实就是曲面上的微分。一个让人好奇的问题是,它可不可以继续求导呢?当然可以,结果是

。然而当你验证张量定义,把这个式子展开后,就发现它不等于

按照任意张量变换法则变换后的值,原因是:

可以发现等式右边第一项符合二阶张量的运算法则,但是第二项不符合。为了符合张量变换条件,需要更改定义,给等式两边加上一项,这一项也不是张量,但是它经过坐标变换后多出来的项和上面等式右边第二项经过变换多出来项正好相反,抵消掉了,保证结果是个张量。新的导数被称为协变导数(covariant derivative):

(9)

称为 Christoffel symbol,它不是三阶张量。但保证了

满足二阶张量的变换法则:

这里我们简单理解一下协变导数的物理意义。如果你站在光滑的曲面上任意一点,把局部放大,就可以把曲面近似成一个平面,这个平面,就是曲面在一点的切平面。在曲面上运动的质点

的速度

与曲面相切,因此在这个切平面上。如果继续对速度求导,就得到加速度

,然而这个加速度会跑到曲面外边去。这就好比在地球表面上运动的质点,速度一定和地面相切,而加速度方向会指到外太空去,对于生活在二维球面上的生物来说,它没有办法测量出跑出自己空间的物理量,所以加速度在这种球面生物看来就是不符合张量法则的量。为了让它符合,就需要把加速度的指向曲面切平面外部的分量去除,或者说投影到切平面上,最终得到的量,就是加速度的协变导数,符合张量求导法则。人类能知道加速度跑出球面是因为人类生活在三维空间或者四维时空,人类自然也无法测量跑出四维时空的物理量,所以仍然需要协变导数,让物理量在四维时空中的投影满足张量法则。此外,Christoffel symbol 反应了空间的弯曲程度或者说度规随坐标位置变化的变化程度。

最后我们举一个例子说明协变导数有什么用。假设曲面上有一条以弧长

为参数的曲线

,它的速度矢量是

,由(9),速度矢量的协变导数是:

因为:

给等式两边乘上

再令导数等于 0,就得到:

当当当当,我们就得到了黎曼几何里最重要的公式——测地线方程。这其实是 n 个方程,符合这些方程的曲线,就是曲面上的最短线测地线了。比如如果你在球面坐标上求出它的解,解就是大圆,在时空中求它的解就会发现光线走直线,地球绕着太阳转的根本原因就是:大家都是在弯曲的时空中走测地线,也就是时空中的直线。

8 (数学家的)张量

为了理解张量的数学定义下面首先做一些说明。

我们用

代表一个 n 维微分流形或者说光滑曲面。

上每一点都可以有若干局部坐标,例如

,写成分量的形式就是

,不同坐标之间的变换是光滑的。我们记

是定义在

上的可微函数的集合。现在考虑曲面上一个点

,曲面上所有过这一点的曲线的切线构成了曲面在这一点的切平面,记为

中的元素是这样的元素:

这些元素的定义域是

中在

可微的函数,值域是实数。咱们随便拿个可微函数

点用

作用一下,结果就是

,也就是函数

在方向

上的导数。关键点在于,这些导数构成了一个 n 维线性空间,称为

点处的切空间,一个基就是

。下面我们可以定义这样一个函数,定义域是曲面上任意一点,在每一点

的值是它的切空间

中的一点,那么这样的函数就叫做切向量场,所有这样的函数构成的集合咱们记成

称为切丛(Tangent bundle),显然

上也存在线性结构,因为我们可以定义这样 n 个切向量场:在曲面上任意一点,这 n 个切向量是那个点处的切空间的一组基。在曲面上滑动后,这 n 个切向量场也就成了

的一组基,

显然就是

的一组基。

从而,数学家的张量就定义为 n 维流形切空间上的多重线性映射:

满足对每一个自变量是线性的:

由于这个定义告诉我们

是线性的,我们又知道

上存在线性结构,立即就可以得到下面几个重要结论,用一个三阶张量

举例说明:

(1)如果知道了

在一组基,比如

的值,也就知道了

在任意处的值,比如我们令

,那么就有:

(2)如果同一个切向量可以有两种坐标系表示,比如

,那么就有:

从(4)式我们已经知道

,从而由

,得出

,这样就得到:

比较一下我们就发现:

这就是第五小节中物理学家眼中张量的定义!也就是张量在不同坐标系下分量式的变换公式。

此外,有了切空间,我们还可以定义它的对偶线性空间

,叫做余切丛,里面的元素是这样的函数:以

中的元素为自变量的线性泛函。虽然名字和描述都很唬人,但是显然

的一组基就是

,它是

的对偶基,因为在流形

的任意一点有:

,我们可以继续把张量的定义域拓展到这个空间中来:

重复上面的过程就会发现:

这是同时有协变和逆变的张量的变换公式。

最后,我们来看看前面举的几个例子是如何带入到这个定义中去的:

(1)对于 0 阶张量,也即任意实函数

,自变量里有 0 个

或者

元素,所以

在任意坐标系中都不变。

(2) 切向量

(3) 微分

(4) 度规

后面有时间我会补上曲率张量,Ricci 张量和 Scalar 张量,这些张量帮助爱因斯坦发展了广义相对论。