【矩阵分析与应用】【第1章 矩阵与线性方程组】【1.6.2.2 迹的循环置换性质】
-
- [1. 引言:为什么需要循环置换性质?](#1. 引言:为什么需要循环置换性质?)
- [2. 循环置换性质的定义](#2. 循环置换性质的定义)
-
- [2.1 基本表述](#2.1 基本表述)
- [2.2 重要限制](#2.2 重要限制)
- [3. 性质的理论基础](#3. 性质的理论基础)
-
- [3.1 从两个矩阵的情况出发](#3.1 从两个矩阵的情况出发)
- [3.2 推广到多个矩阵](#3.2 推广到多个矩阵)
1. 引言:为什么需要循环置换性质?
在矩阵微分中,我们经常需要处理复杂的矩阵乘积的迹。迹的循环置换性质是矩阵微分中最重要的"技巧",它让我们能够自由地重新排列矩阵乘积,从而将微分结果 d f df df "凑"成我们想要的标准形式。
核心价值 :这个性质使得我们能够在不改变迹值的前提下,将目标矩阵(通常是 d X d\mathbf{X} dX)移动到乘积链的末尾,为后续的导数识别奠定基础。
2. 循环置换性质的定义
2.1 基本表述
对于任意一组矩阵 A , B , C , ... \mathbf{A}, \mathbf{B}, \mathbf{C}, \ldots A,B,C,...,只要它们的维度使得下列矩阵乘法是可行的,那么迹在循环置换下保持不变。
三元情况 :
Tr ( A B C ) = Tr ( B C A ) = Tr ( C A B ) \text{Tr}(\mathbf{A}\mathbf{B}\mathbf{C}) = \text{Tr}(\mathbf{B}\mathbf{C}\mathbf{A}) = \text{Tr}(\mathbf{C}\mathbf{A}\mathbf{B}) Tr(ABC)=Tr(BCA)=Tr(CAB)
一般情况 (k个矩阵):
Tr ( A 1 A 2 ⋯ A k ) = Tr ( A 2 A 3 ⋯ A k A 1 ) = Tr ( A 3 A 4 ⋯ A k A 1 A 2 ) = ⋯ \text{Tr}(\mathbf{A}_1\mathbf{A}_2 \cdots \mathbf{A}_k) = \text{Tr}(\mathbf{A}_2\mathbf{A}_3 \cdots \mathbf{A}_k\mathbf{A}_1) = \text{Tr}(\mathbf{A}_3\mathbf{A}_4 \cdots \mathbf{A}_k\mathbf{A}_1\mathbf{A}_2) = \cdots Tr(A1A2⋯Ak)=Tr(A2A3⋯AkA1)=Tr(A3A4⋯AkA1A2)=⋯
2.2 重要限制
关键点 :只能进行循环 置换(像一个圆圈),不能进行任意置换。
正确示例 :
Tr ( A B C ) = Tr ( B C A ) ✓ \text{Tr}(\mathbf{A}\mathbf{B}\mathbf{C}) = \text{Tr}(\mathbf{B}\mathbf{C}\mathbf{A}) \quad \text{✓} Tr(ABC)=Tr(BCA)✓
错误示例 :
Tr ( A B C ) = Tr ( A C B ) ✗ \text{Tr}(\mathbf{A}\mathbf{B}\mathbf{C}) = \text{Tr}(\mathbf{A}\mathbf{C}\mathbf{B}) \quad \text{✗} Tr(ABC)=Tr(ACB)✗
3. 性质的理论基础
3.1 从两个矩阵的情况出发
循环置换性质的基础来源于迹的基本性质:
Tr ( A B ) = Tr ( B A ) \text{Tr}(\mathbf{A}\mathbf{B}) = \text{Tr}(\mathbf{B}\mathbf{A}) Tr(AB)=Tr(BA)
证明 :
迹是矩阵对角线元素之和: Tr ( A ) = ∑ i A i i \text{Tr}(\mathbf{A}) = \sum_i A_{ii} Tr(A)=∑iAii
矩阵乘积 A B \mathbf{A}\mathbf{B} AB 的第 i i i 个对角线元素为:
A B \] i i = ∑ k A i k B k i \[\\mathbf{A}\\mathbf{B}\]_{ii} = \\sum_k A_{ik}B_{ki} \[AB\]ii=k∑AikBki 因此: Tr ( A B ) = ∑ i \[ A B \] i i = ∑ i ∑ k A i k B k i \\text{Tr}(\\mathbf{A}\\mathbf{B}) = \\sum_i \[\\mathbf{A}\\mathbf{B}\]_{ii} = \\sum_i \\sum_k A_{ik}B_{ki} Tr(AB)=i∑\[AB\]ii=i∑k∑AikBki 同理: Tr ( B A ) = ∑ i \[ B A \] i i = ∑ i ∑ k B i k A k i \\text{Tr}(\\mathbf{B}\\mathbf{A}) = \\sum_i \[\\mathbf{B}\\mathbf{A}\]_{ii} = \\sum_i \\sum_k B_{ik}A_{ki} Tr(BA)=i∑\[BA\]ii=i∑k∑BikAki 由于求和索引 i i i 和 k k k 都是哑元,且 A i k B k i = B k i A i k A_{ik}B_{ki} = B_{ki}A_{ik} AikBki=BkiAik,因此两个求和式相等。 #### 3.2 推广到多个矩阵 **三个矩阵的情况** : Tr ( A B C ) = Tr ( ( A B ) C ) = Tr ( C ( A B ) ) (应用 Tr ( X Y ) = Tr ( Y X ) ) = Tr ( C A B ) \\begin{aligned} \\text{Tr}(\\mathbf{A}\\mathbf{B}\\mathbf{C}) \&= \\text{Tr}((\\mathbf{A}\\mathbf{B})\\mathbf{C}) \\\\ \&= \\text{Tr}(\\mathbf{C}(\\mathbf{A}\\mathbf{B})) \\quad \\text{(应用 } \\text{Tr}(\\mathbf{X}\\mathbf{Y}) = \\text{Tr}(\\mathbf{Y}\\mathbf{X}) \\text{)} \\\\ \&= \\text{Tr}(\\mathbf{C}\\mathbf{A}\\mathbf{B}) \\end{aligned} Tr(ABC)=Tr((AB)C)=Tr(C(AB))(应用 Tr(XY)=Tr(YX))=Tr(CAB) 同理可证明其他循环排列也相等。