矩阵的迹(Trace),说白了,就是方阵主对角线上所有元素的总和。
就这么简单。
你看这个矩阵 A:
A =
| 2 9 8 |
| 4 7 3 |
| 1 5 6 |
它的主对角线就是从左上角到右下角的那条线,上面的元素是 2, 7, 6。
那么矩阵 A 的迹,记作 tr(A),就是:
tr(A) = 2 + 7 + 6 = 15。
再来一个 2×2 的矩阵 B:
B =
| 1 -3 |
| 4 5 |
它的迹就是 tr(B) = 1 + 5 = 6。
这里有个关键点:只有方阵(行数和列数相等)才有迹。因为长方形的矩阵没有一条贯穿始终的“主对角线”。所以,以后一提到“迹”,你脑子里就要立刻反应过来,我们正在聊的是一个方阵。
好了,定义说完了。你可能会觉得,这不就是个简单的加法吗?有什么大不了的?
问得好。如果“迹”仅仅是把几个数加起来,它就没什么意思了。它的真正厉害之处在于它的一些奇特性质,以及这些性质背后所揭示的矩阵的深层信息。
迹的第一个重要性质:线性
“线性”这个词听起来有点学术,但意思很简单。它包含两条:
1. tr(A + B) = tr(A) + tr(B)
2. tr(c * A) = c * tr(A) (c 是一个常数)
这很好理解。两个矩阵相加,就是对应位置的元素相加。那么新矩阵对角线上的元素,就是原来两个矩阵对角线上元素的和。把它们再加起来求迹,结果当然跟分别求迹再相加是一样的。
这说明“迹”这个操作很“规矩”,可以很方便地参与到各种代数运算里,不会破坏原有的加法和数乘结构。这在数学推导里是很好的品质。
迹的第二个,也是最核心的性质:轮换不变性
这个性质是迹的灵魂。它的表达式是:
tr(AB) = tr(BA)
即使 AB ≠ BA (我们知道矩阵乘法通常不满足交换律),它们的迹也一定是相等的。
为什么?我们可以简单证明一下。
假设 A 是 m x n 矩阵,B 是 n x m 矩阵,这样 AB 是 m x m 的方阵,BA 是 n x n 的方阵,它们都可以求迹。
(AB) 的对角线元素 (AB)_ii 是 A 的第 i 行和 B 的第 i 列的点积。
(AB)_ii = Σ (A_ij * B_ji) (j 从 1 到 n)
所以 tr(AB) = Σ (AB)_ii = Σ Σ (A_ij * B_ji) (i 从 1 到 m,j 从 1 到 n)
现在看 BA。
(BA) 的对角线元素 (BA)_jj 是 B 的第 j 行和 A 的第 j 列的点积。
(BA)_jj = Σ (B_jk * A_kj) (k 从 1 到 m)
所以 tr(BA) = Σ (BA)_jj = Σ Σ (B_jk * A_kj) (j 从 1 到 n,k 从 1 到 m)
你看上面两个双重求和的式子,一个是 Σ Σ (A_ij * B_ji),一个是 Σ Σ (B_jk * A_kj)。它们用的字母不一样,但本质上是把所有 A_ij 和 B_ji 对应相乘后再加起来。求和的顺序不影响总和。所以它们是相等的。
这个性质可以推广。比如对于三个矩阵的乘积:
tr(ABC) = tr(BCA) = tr(CAB)
你看,就像把 ABC 这个字符串的第一个字母 A 挪到最后变成 BCA,再把 B 挪到最后变成 CAB。只要保持这种“循环轮换”的顺序,迹就不会变。
但是要注意,tr(ABC) 不一定等于 tr(ACB)。顺序不能随便打乱,只能像一个圈一样转。
这个性质为什么重要?因为它说明,迹捕捉到的是矩阵乘法组合中某种“与顺序无关”的内在属性。这引出了它和另一个核心概念的联系。
迹与特征值 (Eigenvalues) 的深刻联系
这是一个惊人的事实:一个矩阵的迹,等于它所有特征值的总和。
tr(A) = λ₁ + λ₂ + … + λn
特征值是什么?简单说,一个矩阵 A 作用于一个向量 v,如果结果只是把 v 拉伸或缩短了 λ 倍,而方向不变(A * v = λ * v),那么 λ 就是 A 的一个特征值,v 就是对应的特征向量。
特征值是描述一个线性变换(矩阵就是线性变换的表示)最核心的数字。它们告诉你,这个变换在哪些“特征方向”上,起到了纯粹的拉伸或压缩作用,以及拉伸或压缩了多少。
所以,“迹等于特征值之和”这个事实,一下子就把迹的地位抬高了。迹不再只是对角线上几个数字的简单加法,它成了整个矩阵内在特性的一个“数值签名”。
这个性质也解释了为什么相似矩阵的迹相等。
什么是相似矩阵?如果存在一个可逆矩阵 P,使得 B = P⁻¹AP,那么 A 和 B 就是相似矩阵。它们本质上是同一个线性变换在不同坐标系下的表示。
既然是同一个变换,那它的内在属性(比如特征值)应该是一样的。所以 A 和 B 的特征值完全相同。因此,它们的迹也必须相等。
我们也可以用“轮换不变性”来证明这一点:
tr(B) = tr(P⁻¹AP)
利用轮换不变性,把 P⁻¹ 挪到后面去:
tr(P⁻¹AP) = tr(A * P * P⁻¹)
因为 P * P⁻¹ 等于单位矩阵 I,所以:
tr(A * I) = tr(A)
你看,tr(B) = tr(A)。
所以,一个矩阵不管怎么换坐标系(做相似变换),它的迹是不会变的。这说明迹是一个“不变量”,它反映的是矩阵所代表的那个线性变换本身固有的东西,而不是它在某个特定坐标系下的偶然表现。
那么,迹在现实世界里有什么用?
物理学,尤其是量子力学
在量子力achieve学里,物理量(比如能量、动量)是用算符(Operator)来表示的,而算符在特定基底下就是矩阵。一个量子系统的状态则由一个密度矩阵 ρ 来描述。你想知道某个物理量 A 在这个系统里的平均值(期望值)是多少?计算方法就是 tr(ρA)。迹在这里扮演了求平均值的角色。机器学习和统计学
在主成分分析(PCA)中,我们会处理协方差矩阵。协方差矩阵对角线上的元素是各个维度的方差。那么,协方-差矩阵的迹,就是所有维度方差的总和,被称为“总方差”。这个值衡量了数据整体的离散程度。
在一些优化算法,特别是与矩阵相关的算法里,迹也经常被用作正则化项(regularizer)。比如,通过最小化一个矩阵的迹,可以间接达到某些我们想要的效果。计算机图形学
一个 3D 变换矩阵(比如旋转、缩放)的迹可以提供一些有用的信息。例如,对于一个纯旋转矩阵 R,它的迹等于 1 + 2cos(θ),其中 θ 就是旋转的角度。通过计算迹,我们可以反推出旋转角度。
更广义地说,一个变换矩阵的迹,可以看作是这个变换导致的“体积”微元变化的率。这和向量场中的“散度”(Divergence)概念直接挂钩。
迹的直观感受:散度
如果你学过多元微积分,你可能知道散度的概念。一个向量场的散度,衡量的是从一个点流出的通量。散度为正,表示这个点是一个“源头”,有东西在往外发散;散度为负,表示这是一个“汇点”,有东西在往内汇集。
一个线性变换(由矩阵 A 代表)也可以看作一个线性的向量场 F(x) = Ax。这个场的散度是多少?答案就是 tr(A)。
所以,你可以这样直观地理解迹:
它衡量了一个线性变换在总体上是“扩张”的还是“收缩”的。
* 如果 tr(A) > 0,说明这个变换整体上倾向于把空间“撑大”。
* 如果 tr(A) < 0,说明这个变换整体上倾向于把空间“压扁”。
* 如果 tr(A) = 0,说明这个变换在某种程度上保持了“体积”(这不完全准确,但可以作为一种直观感觉)。比如,一个二维平面上的纯剪切变换,它的矩阵可能是 [[1, k], [0, 1]],迹是 2。但一个旋转90度的变换,矩阵是 [[0, -1], [1, 0]],迹是0,它不改变面积。
所以,下次你看到“矩阵的迹”,不要只把它看作一个简单的加法。你要想到:
* 这是一个只对方阵有意义的标量。
* 它具有轮换不变性,tr(AB) = tr(BA)。
* 它等于矩阵所有特征值的和。
* 它是在坐标变换下的不变量,反映了变换的内在属性。
* 它可以被看作是线性变换导致的“扩张”或“收缩”的度量,就像向量场的散度。
它是一个从矩阵的复杂结构中提取出的一个简单却极其深刻的数字。

技能提升网