我要加入 登录
声振论坛 返回首页

afnuaa的个人空间 http://home.vibunion.com/?101905 [收藏] [复制] [分享] [RSS]

日志

转:矩阵求导

已有 1537 次阅读2012-7-27 17:27 |个人分类:数学学习|

http://www.psi.toronto.edu/matrix/calculus.html Derivatives of Linear Products
  • d/dx (AYB) =A * d/dx (Y) * B
    • d/dx (Ay) =A * d/dx (y)
  • d/dx (xTA) =A
    • d/dx (xT) =I
    • d/dx (xTa) = d/dx (aTx) = a
  • d/dX (aTXb) = abT
    • d/dX (aTXa) = d/dX (aTXTa) = aaT
  • d/dX (aTXTb) = baT
  • d/dx (YZ) =Y * d/dx (Z) + d/dx (Y) * Z
Derivatives of Quadratic Products
  • d/dx (Ax+b)TC(Dx+e) = ATC(Dx+e) + DTCT(Ax+b)
    • d/dx (xTCx) = (C+CT)x
      • [C: symmetric]: d/dx (xTCx) = 2Cx
      • d/dx (xTx) = 2x
    • d/dx (Ax+b)T (Dx+e) = AT (Dx+e) + DT (Ax+b)
      • d/dx (Ax+b)T (Ax+b) = 2AT (Ax+b)
    • [C: symmetric]: d/dx (Ax+b)TC(Ax+b) = 2ATC(Ax+b)
  • d/dX (aTXTXb) = X(abT + baT)
    • d/dX (aTXTXa) = 2XaaT
  • d/dX (aTXTCXb) = CTXabT + CXbaT
    • d/dX (aTXTCXa) = (C + CT)XaaT
    • [C:Symmetric] d/dX (aTXTCXa) = 2CXaaT
  • d/dX ((Xa+b)TC(Xa+b)) = (C+CT)(Xa+b)aT
Derivatives of Cubic Products
  • d/dx (xTAxxT) = (A+AT)xxT+xTAxI
Derivatives of Inverses
  • d/dx (Y-1) = -Y-1d/dx (Y)Y-1
Derivative of Trace

Note: matrix dimensions must result in an n*n argument for tr().

  • 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)T
    • d/dX (tr(AX-1)) =d/dX (tr(X-1A)) = -X-TATX-T
  • d/dX (tr(ATXBT)) = d/dX (tr(BXTA)) = AB
    • d/dX (tr(XAT)) = d/dX (tr(ATX)) =d/dX (tr(XTA)) = d/dX (tr(AXT)) = A
  • d/dX (tr(AXBXT)) = ATXBT + AXB
    • d/dX (tr(XAXT)) = X(A+AT)
    • d/dX (tr(XTAX)) = XT(A+AT)
    • d/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
Derivative of Determinant

Note: matrix dimensions must result in an n*n argument for det().

  • d/dX (det(X)) = d/dX (det(XT)) = det(X)*X-T
    • d/dX (det(AXB)) = det(AXB)*X-T
    • d/dX (ln(det(AXB))) = X-T
  • d/dX (det(Xk)) = k*det(Xk)*X-T
    • d/dX (ln(det(Xk))) = kX-T
  • [Real] d/dX (det(XTCX)) = det(XTCX)*(C+CT)X(XTCX)-1
    • [C: Real,Symmetric] d/dX (det(XTCX)) = 2det(XTCX)* CX(XTCX)-1
  • [C: Real,Symmetricc] d/dX (ln(det(XTCX))) = 2CX(XTCX)-1
Jacobian

If y is a function of x, then dyT/dx is the Jacobian matrix of y with respect to x.

Its determinant, |dyT/dx|, is the Jacobian of y with respect to x and represents the ratio of the hyper-volumes dy and dx. The Jacobian occurs when changing variables in an integration: Integral(f(y)dy)=Integral(f(y(x)) |dyT/dx| dx).

Hessian matrix

If f is a function of x then the symmetric matrix d2f/dx2 = d/dxT(df/dx) is the Hessian matrix of f(x). A value of x for which df/dx = 0 corresponds to a minimum, maximum or saddle point according to whether the Hessian is positive definite, negative definite or indefinite.

  • d2/dx2 (aTx) = 0
  • d2/dx2 (Ax+b)TC(Dx+e) = ATCD + DTCTA
    • d2/dx2 (xTCx) = C+CT
      • d2/dx2 (xTx) = 2I
    • d2/dx2 (Ax+b)T (Dx+e) = ATD + DTA
      • d2/dx2 (Ax+b)T (Ax+b) = 2ATA
    • [C: symmetric]: d2/dx2 (Ax+b)TC(Ax+b) = 2ATCA

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 我要加入

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-3 03:42 , Processed in 0.033208 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部