Skip to content

02 矩阵运算与矩阵微积分

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

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

Hadamard 积

同型矩阵逐元素相乘:

(AB)ij=aijbij.

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

Kronecker 积

A=(aij)Fm×n,则

AB=(aijB).

它满足混合乘积公式

(AB)(CD)=ACBD,

前提是维数相容。还有

(AB)T=ATBT.

2. 向量化与 Sylvester 方程

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

vec(AXB)=(BTA)vec(X).

因此 Sylvester 方程

AXXB=C

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

(IABTI)vec(X)=vec(C).

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

3. 先约定梯度的形状

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

  • f:RnRf(x)Rn 为列向量。
  • g:RnRm:Jacobian Dg(x)Rm×n
  • F:Rm×nRXFRm×n,满足
dF=XF,dXF=tr((XF)TdX).

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

4. 常用公式与推导方式

二次型

f(x)=xTAxf(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)=12Axb22f(x)=AT(Axb).

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

5. 链式法则的维数检查

h(x)=f(g(x))g:RnRm,则

h(x)=Dg(x)Tf(g(x)).

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

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

A,B0,可将它们写成 Gram 矩阵

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

于是

(AB)ij=xi,xjyi,yj=xiyi,xjyj.

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

7. Sylvester 方程的谱分离条件

AXXB=C 向量化后,系数矩阵为

K=IABTI.

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

σ(A)σ(B)=.

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

(aibj)xij=cij,xij=cijaibj.

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

8. 两个常用的矩阵微分

由恒等式 XX1=I 取微分,得到

d(X1)=X1(dX)X1.

X0,Jacobi 公式给出

dlogdetX=tr(X1dX),XlogdetX=XT.

进一步,若 F(X)=tr(CX1),则

dF=tr(X1CX1dX),XF=XTCTXT.

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

9. 自检

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

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