您好,欢迎访问三七文档
矩阵函数求导 首先要区分两个概念:矩阵函数和函数矩阵(1)函数矩阵,简单地说就是多个一般函数的阵列,包括单变量和多变量函数。函数矩阵的求导和积分是作用在各个矩阵元素上,没有更多的规则。单变量函数矩阵的微分与积分 考虑实变量t的实函数矩阵()()()ijmnXtxt×=,所有分量函数()ijxt定义域相同。定义函数矩阵的微分与积分00()(),()().ttijijttddXtxtXdxddxdxττττ⎛⎞⎛⎞⎟⎜⎟⎜⎟==⎜⎟⎜⎟⎟⎜⎜⎟⎜⎝⎠⎝⎠∫∫函数矩阵的微分有以下性质:(1)()()()()()dddXtYtXtYtdtdtdt+=+;(2)()()()()()()()ddXtdYtXtYtYtXtdtdtdt=+;特殊情形(a)若K是常数矩阵,则()()()ddKXtKXtdtdt=;(b)若()Xt是方阵,则2()()()()()ddXtdXtXtXtXtdtdtdt=+;(3)()111()()()()ddXtXtXtXtdtdt=----;(4)对任意的方阵A和时变量t,恒有AtAtAtdeAeeAdt==;(5)若ABBA=,则ABBAABeeeee+==。如果,AB可交换,则许多三角不等式可以推广到矩阵上。如sin(),sin(2)AbA+等。参考文献:余鄂西,矩阵论,高等教育出版社。(2)矩阵函数,就是自变量为矩阵的函数映射;根据函数的自变量和因变量的形式可分为多种。矩阵函数的导数 定义(向量导数):映射:nmf→\\,()()12(),(),,()(),1...Tmiffxfxfxfxim===,定义映射的导数为一个mn×的偏导数矩阵(),1...,1...iijjdfxDfimjndx⎡⎤===⎢⎥⎣⎦.例如dAxAdx=,⇒()()()(),,DfxgxDfxDgxαβαβαβ⎡⎤+=+∈∈⎢⎥⎣⎦\\()()''()()()Dfgxfgxgx⎡⎤=⎢⎥⎣⎦''()()()()()(),,TTTnmDfxgxgxfxfxgxfg⎡⎤=+∈→⎢⎥⎣⎦\\⇒()()TTTTTdxAxxAAxxAAdx=+=+定义(矩阵导数):()vec()()vec()dAXdAXdXdX有符号说明•d/dx(y)是一个向量,其第(i)个元素是dy(i)/dx•d/dx(y)是一个向量,其第(i)个元素是dy/dx(i)•d/dx(yT)是一个矩阵,其第(i,j)个元素是dy(j)/dx(i)•d/dx(Y)是一个矩阵,其第(i,j)个元素是dy(i,j)/dx•d/dX(y)是一个矩阵,其第(i,j)个元素是dy/dx(i,j)注意Hermitian转置不能应用,因为复共轭不可解析,x,y是向量,X,Y是矩阵,x,y是标量。在下面的表达中A,B,C是不依赖于X的矩阵,a,b是不依赖于x的向量,线性积 •d/dx(AYB)=A*d/dx(Y)*Bod/dx(Ay)=A*d/dx(y)•d/dx(xTA)=Aod/dx(xT)=Iod/dx(xTa)=d/dx(aTx)=a•d/dX(aTXb)=abTod/dX(aTXa)=d/dX(aTXTa)=aaT•d/dX(aTXTb)=baT•d/dx(YZ)=Y*d/dx(Z)+d/dx(Y)*Z二次积 •d/dx(Ax+b)TC(Dx+e)=ATC(Dx+e)+DTCT(Ax+b)od/dx(xTCx)=(C+CT)x[C:symmetric]:d/dx(xTCx)=2Cxd/dx(xTx)=2xod/dx(Ax+b)T(Dx+e)=AT(Dx+e)+DT(Ax+b)d/dx(Ax+b)T(Ax+b)=2AT(Ax+b)o[C:symmetric]:d/dx(Ax+b)TC(Ax+b)=2ATC(Ax+b)•d/dX(aTXTXb)=X(abT+baT)od/dX(aTXTXa)=2XaaT•d/dX(aTXTCXb)=CTXabT+CXbaTod/dX(aTXTCXa)=(C+CT)XaaTo[C:Symmetric]d/dX(aTXTCXa)=2CXaaT•d/dX((Xa+b)TC(Xa+b))=(C+CT)(Xa+b)aT三次积 •d/dx(xTAxxT)=(A+AT)xxT+xTAxI逆 •d/dx(Y-1)=-Y-1d/dx(Y)Y-1迹 Note:matrixdimensionsmustresultinann*nargumentfortr().•d/dX(tr(X))=I•d/dX(tr(Xk))=k(Xk-1)T•d/dX(tr(AXk))=SUMr=0:k-1(XrAXk-r-1)T•d/dX(tr(AX-1B))=-(X-1BAX-1)Tod/dX(tr(AX-1))=d/dX(tr(X-1A))=-X-TATX-T•d/dX(tr(ATXBT))=d/dX(tr(BXTA))=ABod/dX(tr(XAT))=d/dX(tr(ATX))=d/dX(tr(XTA))=d/dX(tr(AXT))=A•d/dX(tr(AXBXT))=ATXBT+AXBod/dX(tr(XAXT))=X(A+AT)od/dX(tr(XTAX))=XT(A+AT)od/dX(tr(AXTX))=(A+AT)X•d/dX(tr(AXBX))=ATXTBT+BTXTAT••[C:symmetric]d/dX(tr((XTCX)-1A)=d/dX(tr(A(XTCX)-1)=-(CX(XTCX)-1)(A+AT)(XTCX)-1•[B,C:symmetric]d/dX(tr((XTCX)-1(XTBX))=d/dX(tr((XTBX)(XTCX)-1)=-2(CX(XTCX)-1)XTBX(XTCX)-1+2BX(XTCX)-1•行列式 •d/dX(det(X))=d/dX(det(XT))=det(X)*X-Tod/dX(det(AXB))=det(AXB)*X-Tod/dX(ln(det(AXB)))=X-T•d/dX(det(Xk))=k*det(Xk)*X-Tod/dX(ln(det(Xk)))=kX-T•[Real]d/dX(det(XTCX))=det(XTCX)*(C+CT)X(XTCX)-1o[C:Real,Symmetric]d/dX(det(XTCX))=2det(XTCX)*CX(XTCX)-1•[C:Real,Symmetricc]d/dX(ln(det(XTCX)))=2CX(XTCX)-1Jacobian 如果y是x的函数,则dyT/dx是y关于x的Jacobian矩阵。其行列式|dyT/dx|是表示了dy和dx的超体积比值.Jacobian行列式出现在变元积分中:Integral(f(y)dy)=Integral(f(y(x))|dyT/dx|dx).Hessian矩阵 如果f是x的函数,则对称矩阵d2f/dx2=d/dxT(df/dx)就是f(x)的Hessian矩阵。满足df/dx=0的x的值,当Hessian是正定、负定、不定时,就是相应的最小值、最大值、或者是鞍点。•d2/dx2(aTx)=0•d2/dx2(Ax+b)TC(Dx+e)=ATCD+DTCTAod2/dx2(xTCx)=C+CTd2/dx2(xTx)=2Iod2/dx2(Ax+b)T(Dx+e)=ATD+DTAd2/dx2(Ax+b)T(Ax+b)=2ATAo[C:symmetric]:d2/dx2(Ax+b)TC(Ax+b)=2ATCA
本文标题:矩阵求导
链接地址:https://www.777doc.com/doc-5419861 .html