Skip to content

02 矩阵运算与矩阵微积分 ​

1. 三种“乘法”解决三类问题 ​

普通矩阵乘法负责线性映射的复合。除此之外,本课常用两种乘积。

Hadamard 积 ​

同型矩阵逐元素相乘:

(A∘B)ij=aijbij.

它满足交换律、结合律和分配律,但一般不能和普通矩阵乘法混为一谈。Schur 乘积定理指出:若 A,B 都是 Hermite 半正定矩阵,则 A∘B 仍半正定。

Kronecker 积 ​

若 A=(aij)∈Fm×n,则

A⊗B=(aijB).

它满足混合乘积公式

(A⊗B)(C⊗D)=AC⊗BD,

前提是维数相容。还有

(A⊗B)T=AT⊗BT.

2. 向量化与 Sylvester 方程 ​

把矩阵 X=[x1,…,xn] 的列依次堆叠,记为 vec(X)。核心恒等式是

vec(AXB)=(BT⊗A)vec(X).

因此 Sylvester 方程

AX−XB=C

可化为一个普通线性系统:

(I⊗A−BT⊗I)vec(X)=vec(C).

这个改写很重要:矩阵未知量被拉直为向量未知量,Kronecker 积记录了左右乘法。

3. 先约定梯度的形状 ​

矩阵微积分最常见的错误不是求导法则,而是维数错位。本系列采用:

  • f:Rn→R:∇f(x)∈Rn 为列向量。
  • g:Rn→Rm:Jacobian Dg(x)∈Rm×n。
  • F:Rm×n→R:∇XF∈Rm×n,满足
dF=⟨∇XF,dX⟩F=tr((∇XF)TdX).

“先写微分,再把 dX 收到迹的最后”通常比逐元素求导可靠。

4. 常用公式与推导方式 ​

二次型 ​

f(x)=xTAx⟹∇f(x)=(A+AT)x.

若 A=AT,则 ∇f=2Ax,Hessian 为 2A。

迹形式 ​

令 F(X)=tr(XTAX)。由

dF=tr(dXTAX)+tr(XTAdX)

以及迹的循环性质,得到

∇XF=(A+AT)X.

最小二乘 ​

f(x)=12∥Ax−b∥22⟹∇f(x)=AT(Ax−b).

驻点满足正规方程 ATAx=ATb。第 8 章会用 SVD 解释其几何意义与退化情形。

5. 链式法则的维数检查 ​

若 h(x)=f(g(x)),g:Rn→Rm,则

∇h(x)=Dg(x)T∇f(g(x)).

右侧维数为 (n×m)(m×1)=n×1。每次推导都做这一步,能提前排除大量转置错误。

6. Schur 乘积定理为什么成立 ​

若 A,B⪰0,可将它们写成 Gram 矩阵

aij=⟨xi,xj⟩,bij=⟨yi,yj⟩.

于是

(A∘B)ij=⟨xi,xj⟩⟨yi,yj⟩=⟨xi⊗yi,xj⊗yj⟩.

A∘B 因而也是一组向量的 Gram 矩阵,所以半正定。这个证明把 Hadamard 积与 Kronecker 积连在了一起:逐元素相乘可以在张量积空间中解释为普通内积。

7. Sylvester 方程的谱分离条件 ​

将 AX−XB=C 向量化后,系数矩阵为

K=I⊗A−BT⊗I.

K 的特征值是所有差 λi(A)−λj(B)。因此方程对每个 C 都有唯一解,当且仅当

σ(A)∩σ(B)=∅.

对角情形能直接看清这个结论。若 A=diag(ai)、B=diag(bj),则

(ai−bj)xij=cij,xij=cijai−bj.

某个 ai=bj 时,相应方程可能矛盾,也可能留下自由变量;无解和多解都会出现。

8. 两个常用的矩阵微分 ​

由恒等式 XX−1=I 取微分,得到

d(X−1)=−X−1(dX)X−1.

若 X≻0,Jacobi 公式给出

dlog⁡detX=tr(X−1dX),∇Xlog⁡detX=X−T.

进一步,若 F(X)=tr(CX−1),则

dF=−tr(X−1CX−1dX),∇XF=−X−TCTX−T.

推导时始终先写微分,再利用 tr(ABC)=tr(BCA) 把 dX 移到最后,转置位置就不容易出错。

9. 自检 ​

  • [ ] 能写出 vec(AXB) 的公式并检查维数。
  • [ ] 能把 Sylvester 方程化为线性系统。
  • [ ] 能用微分法推导 ∇Xtr(XTAX)。
  • [ ] 不混淆 Jacobian、梯度与它们的转置。
  • [ ] 能用 Gram 矩阵证明 Schur 乘积定理。
  • [ ] 能用谱分离判断 Sylvester 方程是否唯一可解。

下一章:向量范数与矩阵范数。