矩阵的迹——性质及运算

最近看论文时遇到很多有关矩阵迹的相关运算,故在网上搜索了不少相关资料,将其整理为此文。包含矩阵的迹相关的概念、性质和运算(如求导);此外还包含共轭转置对矩阵的求导——将矩阵本身和其共轭转置当作两个无关的变量即可。

修改记录:
2024/03/14

  • 修正了复数矩阵中带共轭的求导公式
  • 增加了常用矩阵求导公式表格(来自《Complex-Valued Matrix Derivatives》)

一、定义

矩阵的迹是指:一个 \(n\times n\) 矩阵 \(\mathbf{A}\)​ 主对角线上各元素的和。即

\[\operatorname{tr}(\mathbf{A})=\sum_{i=1}^na_{ii} \]

显然,只有方阵才有迹

二、迹的性质

  1. \(\operatorname{tr}(a)=a\)

    即:标量的迹就是其本身。在标量对矩阵或向量求导中应用较多。

  2. \(\operatorname{tr}(\mathbf{A})=\operatorname{tr}(\mathbf{A}^T)\)

    即:矩阵的迹等于其转置的迹。

    证明:矩阵转置不改变主对角线元素。

  3. \(\operatorname{tr}(\mathbf{A}+\mathbf{B})=\operatorname{tr}(\mathbf{A})+\operatorname{tr}(\mathbf{B})\)

  4. \(\operatorname{tr}(\mathbf{AB})=\operatorname{tr}(\mathbf{BA})\)

    证明:

    \[\begin{aligned} \operatorname{tr}(\mathbf{A B})&=\sum_{i=1}^{n}(\mathbf{A B})_{i i}=\sum_{i=1}^{n} \sum_{j=1}^{m} a_{i j} * b_{j i} \\ &=\sum_{j=1}^{m} \sum_{i=1}^{n} b_{j i} * a_{i j}=\sum_{j=1}^{m}(\mathbf{B A})_{j j}=\operatorname{tr}(\mathbf{B A}) \end{aligned} \]

  5. \(\operatorname{tr}(\mathbf{ABC})=\operatorname{tr}(\mathbf{CAB})=\operatorname{tr}(\mathbf{BCA})\)

    即:连乘矩阵的迹,循环交换位置后,迹不变。

    证明:这是 \(\operatorname{tr}(\mathbf{AB})=\operatorname{tr}(\mathbf{BA})\) 的推广。

    \[\operatorname{tr}(\mathbf{ABC})=\operatorname{tr}(\mathbf{(AB)C})=\operatorname{tr}(\mathbf{CAB}) \]

  6. \(\operatorname{tr}((\mathbf{A}\odot\mathbf{B})^T\mathbf{C})=\operatorname{tr}((\mathbf{A})^T(\mathbf{B}\odot\mathbf{C}))\)

    矩阵乘法和迹交换,其中 \(\odot\) 是哈德玛积,即对应元素之积。

  7. \(\operatorname{tr}(\mathbf{A})=\sum_{k=1}^n\lambda_k\)

    即:矩阵的迹等于矩阵特征值之和

    证明:可参考文章为什么特征值之和会等于矩阵的迹?

  8. \(\mathbf{A}=\alpha\beta^T\),则 \(\operatorname{tr}(\mathbf{A})=\operatorname{tr}(\alpha\beta^T)=\alpha^T\beta=\beta^T\alpha\)

    其中,\(\alpha\)\(\beta\) 都是列向量。

  9. \(\operatorname{tr}(\mathbf{x}^T\mathbf{Ax})=\operatorname{tr}(\mathbf{Ax}\mathbf{x}^T)=\mathbf{x}^T\mathbf{Ax}\)

    即:二次型的迹就是其本身。其中,\(\mathbf{x}\) 是列向量。因为二次型是一个 \(1\times1\) 的矩阵。

三、矩阵的迹对矩阵求导

  1. \(\frac{\partial\operatorname{tr}(\mathbf{X})}{\partial\mathbf{X}}=\mathbf{I}\)

    证明:

    \[\frac{\partial \operatorname{tr}(\mathbf{X})}{\partial \mathbf{X}}=\left[\begin{array}{cccc} \frac{\partial \sum_{i=1}^{n} x_{i i}}{\partial x_{11}} & \frac{\partial \sum_{i=1}^{n} x_{i i}}{\partial x_{12}} & \cdots & \frac{\partial \sum_{i=1}^{n} x_{i i}}{\partial x_{1 n}} \\ & \frac{\partial \sum_{i=1}^{n} x_{i i}}{\partial x_{22}} & & \\ & & \ddots & \\ & & & \frac{\partial \sum_{i=1}^{n} x_{i i}}{\partial x_{n n}} \end{array}\right]=\mathbf{I} \]

  2. \(\frac{\partial \operatorname{tr}(g(\mathbf{X}))}{\partial \mathbf{X}}=g^{\prime}(\mathbf{X})\)

  3. \(\frac{\partial \operatorname{tr}(\mathbf{AX})}{\partial \mathbf{X}}=\frac{\partial \operatorname{tr}(\mathbf{XA})}{\partial \mathbf{X}}=\mathbf{A}^T\)

    证明:

    由于

    \[\operatorname{tr}(\mathbf{A X})=\sum_{i=1}^{n} \sum_{j=1}^{m} a_{i j} * x_{j i}=\sum_{j=1}^{m} \sum_{i=1}^{n} x_{j i} * a_{i j} \]

    \(\frac{\partial \operatorname{tr}(\mathbf{AX})}{\partial x_{ij}}=a_{ji}\) ,恰好是矩阵 \(\mathbf{A}\) 的转置对应元素,因此得证。

  4. \(\frac{\partial \operatorname{tr}(\mathbf{AX}^T)}{\partial \mathbf{X}}=\frac{\partial \operatorname{tr}(\mathbf{X}^T\mathbf{A})}{\partial \mathbf{X}}=\mathbf{A}\)

    证明同上。

  5. \(\frac{\partial \operatorname{tr}(\mathbf{AXB})}{\partial \mathbf{X}}=\frac{\partial \operatorname{tr}(\mathbf{XBA})}{\partial \mathbf{X}}=(\mathbf{BA})^T=\mathbf{A}^T\mathbf{B}^T\)

    证明:把矩阵 \(\mathbf{BA}\) 当作整体再利用上面的定理即可。

  6. \(\frac{\partial \operatorname{tr}(\mathbf{AXB}\mathbf{X}^T)}{\partial \mathbf{X}}=\mathbf{AXB}+\mathbf{A}^T\mathbf{X}\mathbf{B}^T\)

    证明:分步求导。

    \[\begin{aligned} \frac{\partial \operatorname{tr}(\mathbf{AXB}\mathbf{X}^T)}{\partial \mathbf{X}}&=\frac{\partial \operatorname{tr}(\mathbf{X}\mathbf{BX}^T\mathbf{A})}{\partial \mathbf{X}}+\frac{\partial \operatorname{tr}(\mathbf{X}^T\mathbf{AXB})}{\partial \mathbf{X}}\\ &=(\mathbf{BX}^T\mathbf{A})^T+\mathbf{AXB}\\ &=\mathbf{AXB}+\mathbf{A}^T\mathbf{X}\mathbf{B}^T \end{aligned} \]

四、含共轭的迹求导

  • \(\frac{\partial \operatorname{tr}(\mathbf{X}^*)}{\partial \mathbf{X}}=\mathbf{0}\)

    将复数矩阵 \(\mathbf{X}\) 写成实部和虚部,即 \(\mathbf{X}=\mathbf{A}+i\mathbf{B}\) 。然后再分别求导即可证明。

    \[\frac{\partial \operatorname{tr}(\mathbf{X}^*)}{\partial \mathbf{X}}=\frac{\partial \operatorname{tr}(\mathbf{A}-i\mathbf{B})}{\partial (\mathbf{A}+i\mathbf{B})}=\frac{\partial \operatorname{tr}(\mathbf{A})}{\partial (\mathbf{A}+i\mathbf{B})}+\frac{\partial \operatorname{tr}(i\mathbf{B})}{\partial (\mathbf{A}+i\mathbf{B})}=\mathbf{0} \]

    即求导时,矩阵与其共轭矩阵相当于两个无关的变量。

  • \(\frac{\partial \operatorname{tr}(\mathbf{X})}{\partial \mathbf{X}^*}=\mathbf{0}\)

  • \(\frac{\partial \operatorname{tr}(\mathbf{AX}^H)}{\partial \mathbf{X}}=\mathbf{0}\)

  • \(\frac{\partial \operatorname{tr}(\mathbf{X}^H\mathbf{A}\mathbf{X})}{\partial \mathbf{X}}=\mathbf{A}^T\mathbf{X}^*\)

  • 常用的矩阵求导公式

参考链接

posted @ 2022-08-24 11:31  无发可理的理发师  阅读(17794)  评论(0编辑  收藏  举报