最近看论文时遇到很多有关矩阵迹的相关运算,故在网上搜索了不少相关资料,将其整理为此文。包含矩阵的迹相关的概念、性质和运算(如求导);此外还包含共轭转置对矩阵的求导——将矩阵本身和其共轭转置当作两个无关的变量即可。
修改记录:
2024/03/14
- 修正了复数矩阵中带共轭的求导公式
- 增加了常用矩阵求导公式表格(来自《Complex-Valued Matrix Derivatives》)
一、定义
矩阵的迹是指:一个 n×n 矩阵 A 主对角线上各元素的和。即
tr(A)=n∑i=1aii
显然,只有方阵才有迹。
二、迹的性质
-
tr(a)=a
即:标量的迹就是其本身。在标量对矩阵或向量求导中应用较多。
-
tr(A)=tr(AT)
即:矩阵的迹等于其转置的迹。
证明:矩阵转置不改变主对角线元素。
-
tr(A+B)=tr(A)+tr(B)
-
tr(AB)=tr(BA)
证明:
tr(AB)=n∑i=1(AB)ii=n∑i=1m∑j=1aij∗bji=m∑j=1n∑i=1bji∗aij=m∑j=1(BA)jj=tr(BA)
-
tr(ABC)=tr(CAB)=tr(BCA)
即:连乘矩阵的迹,循环交换位置后,迹不变。
证明:这是 tr(AB)=tr(BA) 的推广。
tr(ABC)=tr((AB)C)=tr(CAB)
-
tr((A⊙B)TC)=tr((A)T(B⊙C))
矩阵乘法和迹交换,其中 ⊙ 是哈德玛积,即对应元素之积。
-
tr(A)=∑nk=1λk
即:矩阵的迹等于矩阵特征值之和。
证明:可参考文章为什么特征值之和会等于矩阵的迹?。
-
若 A=αβT,则 tr(A)=tr(αβT)=αTβ=βTα
其中,α 和 β 都是列向量。
-
tr(xTAx)=tr(AxxT)=xTAx
即:二次型的迹就是其本身。其中,x 是列向量。因为二次型是一个 1×1 的矩阵。
三、矩阵的迹对矩阵求导
-
∂tr(X)∂X=I
证明:
∂tr(X)∂X=⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣∂∑ni=1xii∂x11∂∑ni=1xii∂x12⋯∂∑ni=1xii∂x1n∂∑ni=1xii∂x22⋱∂∑ni=1xii∂xnn⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦=I
-
∂tr(g(X))∂X=g′(X)
-
∂tr(AX)∂X=∂tr(XA)∂X=AT
证明:
由于
tr(AX)=n∑i=1m∑j=1aij∗xji=m∑j=1n∑i=1xji∗aij
则 ∂tr(AX)∂xij=aji ,恰好是矩阵 A 的转置对应元素,因此得证。
-
∂tr(AXT)∂X=∂tr(XTA)∂X=A
证明同上。
-
∂tr(AXB)∂X=∂tr(XBA)∂X=(BA)T=ATBT
证明:把矩阵 BA 当作整体再利用上面的定理即可。
-
∂tr(AXBXT)∂X=AXB+ATXBT
证明:分步求导。
∂tr(AXBXT)∂X=∂tr(XBXTA)∂X+∂tr(XTAXB)∂X=(BXTA)T+AXB=AXB+ATXBT
四、含共轭的迹求导
参考链接
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验