雅可比矩阵和矩阵微分

实值函数分类

雅可比矩阵

在向量分析中,雅可比矩阵是函数以一阶偏导数以一定方式排列成的矩阵,其行列式称为雅可比行列式

  • 1×m行向量偏导算子定义为Dx=defxT=[x1...xm]所以实值标量函数f(x)在x的偏导向量由1×m行向量给出
Dxf(x)=f(x)xT=[f(x)x1,...,f(x)xm]

当实值标量函数f(X)的变元为实值矩阵XRm×n,可能存在两种定义

  • Jacobian偏导Dxf(x)=deff(X)XT=[f(X)x11...f(X)xm1.........f(X)x1n...f(X)xmn]
  • 行向量偏导DvecXf(X)=f(X)vecT(X)=[f(X)x11...f(X)xm1...f(X)x1n...f(X)xmn]
  • 两者关系Dvecf(X)=rvec(DXf(X))=(vec(DXTf(X)))T即实值标量函数f(X)的行向量偏导DvecXf(X)等于Jacobian矩阵的转置DXTf(X)的列向量化

矩阵函数雅克比矩阵

函数为矩阵,变元为矩阵

DXF(X)=f(X)XT=[f(X)XT...f(X)XT.........f(X)XT...f(X)XT]=[f11x11...f11xm1...f11x1n...f11xm1..................fp1x11...fp1xm1...fp1x1n...fp1xm1..................f1qx11...f1qxm1...f1qx1n...f1qxm1..................fpqx11...fpqxm1...fpqx1n...fpqxm1]

梯度矩阵

采用列向量作为偏导算子称为偏导算子

x=def[x1,...,xm]T=x
  • 标量函数的梯度向量

    xf(x)=[f(x)x1,...,f(x)xm]T
  • 矩阵梯度向量

    vecXf(X)=f(X)vecX=[f(X)x11...f(X)xm1...f(X)x1n...f(X)xmn]T
  • 梯度矩阵xf(x)=f(X)XT=[f(X)x11...f(X)x1n.........f(X)xm1...f(X)xmn]

实标量函数和矩阵函数的梯度矩阵是雅克比矩阵的转置

偏导和梯度计算

  • F(X)=c为常数,其中X为m×n矩阵,则梯度cX=Om×n
  • 线性法则
  • 乘积法则
  • 商法则
  • 链式法则

独立性基本假设

假定实值函数的向量变元和矩阵变元无任何特殊结构则

xixj={1i=j0otherxklxij={1k=i,l=j0other

example

求实值函数f(x)=xTAx的Jacobian矩阵,$x^TAx=\sum{k=1}^n\sum{l=1}^na_{kl}x_kx_l\frac{\partial x^TAx}{\partial x^T}$的第i个分量为

xTAxxT=xik=1nl=1naklxkxl=k=1nxkaki+l=1nxlail

我可以得到行偏导向量和梯度向量

Df(x)=xTA+xTAT=xT(A+AT)Xf(x)=(AT+A)x

一阶实矩阵微分

  • 标量函数tr(U)的微分d[tr(U)]=d(i=1nuii)=i=1nduii=tr(dU)
  • 矩阵乘积UV的微分矩阵d(UV)=(dU)V+U(dV)
  • 矩阵的迹的矩阵微分等于矩阵微分的迹d(tr(X))=tr(dX)

标量函数f(x)的jacobian矩阵辨识

  • 以向量为变元的标量函数f(x)的微分df(x)=f(x)x1dx1+...+f(x)xmdxm=f(x)xTdx=(dx)Tf(x)x如果令A=f(x)xT我们可以把一阶微分写成迹的形式df(x)=tr(Adx)Dxf(x)=f(x)xT=A

标量函数f(X)的jacobian矩阵辨识

df(X)=(vec(AT))Td(vecX)

A为标量函数f(X)的Jacobin矩阵

df(x)=tr(Adx)Dxf(x)=f(x)xT=Adf(X)=tr(AdX)DXf(X)=f(X)XT=ADXf(X)=f(X)XT=AXf(X)=AT

Hessian 矩阵

H[f(x)]=2f(x)xxT=[2fx1x1...f2x1xm.........2fxmx1...2fxmxm]Rm×mH[f(x)]=x2f(x)=x(Dxf(x))[Hf(x)]i,j=[2f(x)xxT]=xi[f(x)xj]

共轭梯度和复Hessian矩阵

形式偏导

z=12>(xjy)

实部和虚部相互独立

单个复变量梯度

zf(z,z)=f(z,z)|z=C

单个复变量微分

df(z,z)=f(z,zzdz+f(z,z)zdz

复变元向量违法

df(z,z)=f(z,z)zTdz+(z,z)zHdz

标量函数的梯度向量和共轭梯度向量

zf(z,z)=(Dzf(z,z))T

常见矩阵偏导

aTxx=axTax=axTAxx=(A+AT)xxTAxxT=xT(A+AT)xTAx=A(aAx)TB(aAx)x=2ATB(aAx)