logo

스칼라 함수의 행렬 미분 표 📂다변수벡터해석

스칼라 함수의 행렬 미분 표

설명

행렬 미분에 관한 공식을 아래의 표와 같이 정리해두었다. 문서 전체에서 사용되는 표기법은 다음과 같다.

  • a,bRn\mathbf{a}, \mathbf{b} \in \mathbb{R}^{n}: x\mathbf{x}X\mathbf{X}에 의존하지 않는 상수벡터
  • A,B,CRn×n\mathbf{A}, \mathbf{B}, \mathbf{C} \in \mathbb{R}^{n \times n}: x\mathbf{x}X\mathbf{X}에 의존하지 않는 상수행렬
  • xRn\mathbf{x} \in \mathbb{R}^{n}: 변수벡터
  • XRn×n\mathbf{X} \in \mathbb{R}^{n \times n}: 변수행렬

미분 규칙에서 흥미로운 점은, Tr(X)=Tr(XT)\Tr (\mathbf{X}) = \Tr (\mathbf{X}^{\mathsf{T}})이므로 XTr(X)=I=XTr(XT)\nabla_{\mathbf{X}} \Tr (\mathbf{X}) = I = \nabla_{\mathbf{X}} \Tr (\mathbf{X}^{\mathsf{T}})가 성립하지만 앞뒤로 다른 행렬이 곱해지는 순간 전치의 성질 때문에 X\mathbf{X}가 포함된 식과 XT\mathbf{X}^{\mathsf{T}}가 포함된 식의 미분 결과가 달라진다는 것이다.

f(X)f(\mathbf{X})미분 Xf\nabla_{\mathbf{X}} f증명
Tr(X)\Tr (\mathbf{X}), Tr(XT)\Tr (\mathbf{X}^{\mathsf{T}})II바로가기
Tr(aX)\Tr (a\mathbf{X}), Tr(aXT)\Tr (a\mathbf{X}^{\mathsf{T}})aIaI바로가기
Tr(AX)\Tr (\mathbf{A}\mathbf{X}), Tr(XA)\Tr (\mathbf{X}\mathbf{A})AT\mathbf{A}^{\mathsf{T}}바로가기
Tr(AXT)\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}), Tr(XAT)\Tr (\mathbf{X}\mathbf{A}^{\mathsf{T}})A\mathbf{A}바로가기
Tr(AXB),Tr(BAX),Tr(XBA)\Tr (\mathbf{A}\mathbf{X}\mathbf{B}), \Tr (\mathbf{B}\mathbf{A}\mathbf{X}), \Tr (\mathbf{X}\mathbf{B}\mathbf{A})ATBT\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}바로가기
Tr(AXTB),Tr(BAXT),Tr(XTBA)\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{B}), \Tr (\mathbf{B}\mathbf{A}\mathbf{X}^{\mathsf{T}}), \Tr (\mathbf{X}^{\mathsf{T}}\mathbf{B}\mathbf{A})BA\mathbf{B}\mathbf{A}바로가기
Tr(AXTX)\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{X})X(A+AT)\mathbf{X}(\mathbf{A} + \mathbf{A}^{\mathsf{T}})바로가기
Tr(AXX)\Tr (\mathbf{A}\mathbf{X}\mathbf{X})ATXT+XTAT\mathbf{A}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}} + \mathbf{X}^{\mathsf{T}}\mathbf{A}^{\mathsf{T}}바로가기
Tr(AXTXB)\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{X}\mathbf{B})X(BA+ATBT)\mathbf{X}(\mathbf{B}\mathbf{A} + \mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}})바로가기
Tr(AXXB)\Tr (\mathbf{A}\mathbf{X}\mathbf{X}\mathbf{B})ATBTXT+XTATBT\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}} + \mathbf{X}^{\mathsf{T}}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}바로가기
Tr(ATXTBX)\Tr (\mathbf{A}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{B}\mathbf{X})BXAT+BTXA\mathbf{B}\mathbf{X}\mathbf{A}^{\mathsf{T}} + \mathbf{B}^{\mathsf{T}}\mathbf{X}\mathbf{A}바로가기
Tr(AXTCXB)\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{B})CXBA+CTXATBT\mathbf{C}\mathbf{X}\mathbf{B}\mathbf{A} + \mathbf{C}^{\mathsf{T}}\mathbf{X}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}바로가기
Tr(AXCXB)\Tr (\mathbf{A}\mathbf{X}\mathbf{C}\mathbf{X}\mathbf{B})ATBTXTCT+CTXTATBT\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}^{\mathsf{T}} + \mathbf{C}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}바로가기
Tr(Xn)\Tr (\mathbf{X}^{n})n(XT)n1n(\mathbf{X}^{\mathsf{T}})^{n-1}바로가기
Tr(AXn)\Tr (\mathbf{A}\mathbf{X}^{n})i=0n1[Xn1iAXi]T\sum\limits_{i=0}^{n-1} \left[ \mathbf{X}^{n-1-i}\mathbf{A}\mathbf{X}^{i} \right]^{\mathsf{T}}바로가기
Tr(p(X))\Tr (p(\mathbf{X})) *아래정의참고{}^{\tiny \text{아래정의참고}}(p(X))T(p^{\prime}(\mathbf{X}))^{\mathsf{T}}바로가기
  • p(x)p(x)를 임의의 다항식이라 하자. p(x)p^{\prime}(x)pp도함수라고 하자. p(X)p(\mathbf{X})p(X)p^{\prime}(\mathbf{X})pppp^{\prime}에 대응되는 행렬 다항식이다. p(x)=i=0maixip(x)=i=1miaixi1    p(X)=i=0maiXip(X)=i=1miaiXi1 \begin{align*} p(x) &= \sum\limits_{i=0}^{m} a_{i}x^{i} \\ p^{\prime}(x) &= \sum\limits_{i=1}^{m} i a_{i}x^{i-1} \end{align*} \implies \begin{align*} p(\mathbf{X}) &= \sum\limits_{i=0}^{m} a_{i}\mathbf{X}^{i} \\ p^{\prime}(\mathbf{X}) &= \sum\limits_{i=1}^{m} i a_{i}\mathbf{X}^{i-1} \end{align*}
f(X)f(\mathbf{X})결과 Xf\nabla_{\mathbf{X}} f증명
aTXb\mathbf{a}^{\mathsf{T}}\mathbf{X}\mathbf{b}abT\mathbf{a}\mathbf{b}^{\mathsf{T}}바로가기
aTXTXb\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{X}\mathbf{b}X(abT+baT)\mathbf{X}(\mathbf{a}\mathbf{b}^{\mathsf{T}} + \mathbf{b}\mathbf{a}^{\mathsf{T}})바로가기
aTXXb\mathbf{a}^{\mathsf{T}}\mathbf{X}\mathbf{X}\mathbf{b}abTXT+XTabT\mathbf{a}\mathbf{b}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}} + \mathbf{X}^{\mathsf{T}}\mathbf{a}\mathbf{b}^{\mathsf{T}}바로가기
aTXTCXb\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{b}CXbaT+XCTabT\mathbf{C}\mathbf{X}\mathbf{b}\mathbf{a}^{\mathsf{T}} + \mathbf{X}\mathbf{C}^{\mathsf{T}}\mathbf{a}\mathbf{b}^{\mathsf{T}}바로가기

증명

증명에는 트레이스 트릭이 사용된다. 이를 모르면 증명을 따라갈 수 없으므로 먼저 읽고 계산 방법을 이해한 후에 증명을 보라.

행렬미분소의 성질

변수인 행렬 X,YRn×n\mathbf{X}, \mathbf{Y} \in \mathbb{R}^{n \times n}와 스칼라 αR\alpha \in \mathbb{R}, 상수 행렬 ARn×n\mathbf{A} \in \mathbb{R}^{n \times n}에 대해서 다음이 성립한다.

  1. d(αX)=αdX\mathrm{d}(\alpha \mathbf{X}) = \alpha \mathrm{d}\mathbf{X}
  2. d(XT)=(dX)T\mathrm{d}(\mathbf{X}^{\mathsf{T}}) = (\mathrm{d}\mathbf{X})^{\mathsf{T}}
  3. d(AX)=AdX\mathrm{d}(\mathbf{A}\mathbf{X}) = \mathbf{A} \mathrm{d}\mathbf{X} 그리고 d(XA)=(dX)A\mathrm{d}(\mathbf{X}\mathbf{A}) = (\mathrm{d}\mathbf{X}) \mathbf{A}
  4. d(X+Y)=dX+dY\mathrm{d}(\mathbf{X} + \mathbf{Y}) = \mathrm{d}\mathbf{X} + \mathrm{d}\mathbf{Y}
  5. d(XY)=(dX)Y+XdY\mathrm{d}(\mathbf{X}\mathbf{Y}) = (\mathrm{d}\mathbf{X})\mathbf{Y} + \mathbf{X} \mathrm{d}\mathbf{Y}

트레이스의 성질

  1. Tr(αX)=αTr(X)\Tr (\alpha \mathbf{X}) = \alpha \Tr (\mathbf{X})
  2. 선형성: Tr(X+Y)=Tr(X)+Tr(Y)\Tr (\mathbf{X} + \mathbf{Y}) = \Tr (\mathbf{X}) + \Tr (\mathbf{Y})
  3. 순환성: Tr(XYZ)=Tr(YZX)=Tr(ZXY)\Tr (\mathbf{X}\mathbf{Y}\mathbf{Z}) = \Tr (\mathbf{Y}\mathbf{Z}\mathbf{X}) = \Tr (\mathbf{Z}\mathbf{X}\mathbf{Y})
  4. 전치불변성: Tr(XT)=Tr(X)\Tr (\mathbf{X}^{\mathsf{T}}) = \Tr (\mathbf{X})

f(X)=Tr(aX)f(\mathbf{X}) = \Tr (a\mathbf{X})

df=dTr(f)=dTr(aX)=Trd(aX)=Tr(adX)=Tr(aIdX)=Tr((aI)TdX) \begin{align*} \mathrm{d}f &= \mathrm{d} \Tr (f) \\ &= \mathrm{d} \Tr (a\mathbf{X}) \\ &= \Tr \mathrm{d}(a\mathbf{X}) \\ &= \Tr (a\mathrm{d}\mathbf{X}) \\ &= \Tr (aI\mathrm{d}\mathbf{X}) \\ &= \Tr ((aI)^{\mathsf{T}}\mathrm{d}\mathbf{X}) \end{align*}

    X(Tr(aX))=aI \implies \nabla_{\mathbf{X}} (\Tr (a\mathbf{X})) = aI

a=1a = 1이면,

    X(Tr(X))=I \implies \nabla_{\mathbf{X}} (\Tr (\mathbf{X})) = I

또한 Tr(aXT)=Tr(aX)\Tr (a\mathbf{X}^{\mathsf{T}}) = \Tr (a\mathbf{X})이므로,

X(Tr(aXT))=aI \nabla_{\mathbf{X}} (\Tr (a\mathbf{X}^{\mathsf{T}})) = aI

    X(Tr(XT))=I \implies \nabla_{\mathbf{X}} (\Tr (\mathbf{X}^{\mathsf{T}})) = I

f(X)=Tr(AX)f(\mathbf{X}) = \Tr (\mathbf{A}\mathbf{X})

df=dTr(f)=dTr(AX)=Trd(AX)=Tr(AdX)=Tr(ATdX) \begin{align*} \mathrm{d}f &= \mathrm{d} \Tr (f) \\ &= \mathrm{d} \Tr (\mathbf{A}\mathbf{X}) \\ &= \Tr \mathrm{d}(\mathbf{A}\mathbf{X}) \\ &= \Tr (\mathbf{A} \mathrm{d}\mathbf{X}) \\ &= \Tr (\mathbf{A}^{\mathsf{T}}\mathrm{d}\mathbf{X}) \end{align*}

    X(Tr(AX))=AT \implies \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X})) = \mathbf{A}^{\mathsf{T}}

f(X)=Tr(AXB)f(\mathbf{X}) = \Tr (\mathbf{A}\mathbf{X}\mathbf{B})

df=dTr(f)=dTr(AXB)=Trd(AXB)=Tr(A(dX)B)=Tr(BA(dX))=Tr((ATBT)TdX) \begin{align*} \mathrm{d}f &= \mathrm{d} \Tr (f) \\ &= \mathrm{d} \Tr (\mathbf{A}\mathbf{X}\mathbf{B}) \\ &= \Tr \mathrm{d}(\mathbf{A}\mathbf{X}\mathbf{B}) \\ &= \Tr (\mathbf{A} (\mathrm{d}\mathbf{X})\mathbf{B}) \\ &= \Tr (\mathbf{B}\mathbf{A} (\mathrm{d}\mathbf{X})) \\ &= \Tr ((\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}})^{\mathsf{T}}\mathrm{d}\mathbf{X}) \end{align*}

    X(Tr(AXB))=ATBT \implies \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}\mathbf{B})) = \mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}

혹은, Tr(AXB)=Tr(BAX)\Tr (\mathbf{A}\mathbf{X}\mathbf{B}) = \Tr (\mathbf{B}\mathbf{A}\mathbf{X})이고 X(Tr(AX))=AT\nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X})) = \mathbf{A}^{\mathsf{T}}이므로,

X(Tr(AXB))=ATBT \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}\mathbf{B})) = \mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}

f(X)=Tr(AXTB)f(\mathbf{X}) = \Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{B})

df=dTr(f)=dTr(AXTB)=Trd(AXTB)=Tr(A(dX)TB)=Tr((dX)TBA)=Tr((BA)TdX) \begin{align*} \mathrm{d}f &= \mathrm{d} \Tr (f) \\ &= \mathrm{d} \Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{B}) \\ &= \Tr \mathrm{d}(\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{B}) \\ &= \Tr (\mathbf{A} (\mathrm{d}\mathbf{X})^{\mathsf{T}}\mathbf{B}) \\ &= \Tr ((\mathrm{d}\mathbf{X})^{\mathsf{T}}\mathbf{B}\mathbf{A}) \\ &= \Tr ((\mathbf{B}\mathbf{A})^{\mathsf{T}}\mathrm{d}\mathbf{X}) \end{align*}

    X(Tr(AXTB))=BA \implies \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{B})) = \mathbf{B}\mathbf{A}

혹은, Tr(AXTB)=Tr(BTXAT)=Tr(ATBTX)\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{B}) = \Tr (\mathbf{B}^{\mathsf{T}}\mathbf{X}\mathbf{A}^{\mathsf{T}})=\Tr (\mathbf{A}^{\mathsf{T}} \mathbf{B}^{\mathsf{T}} \mathbf{X})이고 XTr(AX)=AT\nabla_{\mathbf{X}} \Tr (\mathbf{A}\mathbf{X}) = \mathbf{A}^{\mathsf{T}}이므로,

X(Tr(AXTB))=BA \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{B})) = \mathbf{B}\mathbf{A}

만약 B=I\mathbf{B} = I이면,

X(Tr(AXT))=A \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}})) = \mathbf{A}

f(X)=Tr(ATXTBX)f(\mathbf{X}) = \Tr (\mathbf{A}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{B}\mathbf{X})

df=dTr(f)=dTr(ATXTBX)=Trd(ATXTBX)=Tr(AT(dX)TBX+ATXTB(dX))=Tr((dX)TBXAT+ATXTBdX)=Tr((BXAT)TdX+(BTXA)TdX)=Tr((BXAT+BTXA)TdX) \begin{align*} \mathrm{d}f &= \mathrm{d} \Tr (f) \\ &= \mathrm{d} \Tr (\mathbf{A}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{B}\mathbf{X}) \\ &= \Tr \mathrm{d}(\mathbf{A}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{B}\mathbf{X}) \\ &= \Tr (\mathbf{A}^{\mathsf{T}} (\mathrm{d}\mathbf{X})^{\mathsf{T}}\mathbf{B}\mathbf{X} + \mathbf{A}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{B}(\mathrm{d}\mathbf{X})) \\ &= \Tr ((\mathrm{d}\mathbf{X})^{\mathsf{T}} \mathbf{B}\mathbf{X}\mathbf{A}^{\mathsf{T}} + \mathbf{A}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{B} \mathrm{d}\mathbf{X}) \\ &= \Tr ((\mathbf{B}\mathbf{X}\mathbf{A}^{\mathsf{T}})^{\mathsf{T}}\mathrm{d}\mathbf{X} + (\mathbf{B}^{\mathsf{T}}\mathbf{X}\mathbf{A})^{\mathsf{T}}\mathrm{d}\mathbf{X}) \\ &= \Tr ((\mathbf{B}\mathbf{X}\mathbf{A}^{\mathsf{T}} + \mathbf{B}^{\mathsf{T}}\mathbf{X}\mathbf{A})^{\mathsf{T}}\mathrm{d}\mathbf{X}) \\ \end{align*}

    X(Tr(ATXTBX))=BXAT+BTXA \implies \nabla_{\mathbf{X}} (\Tr (\mathbf{A}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{B}\mathbf{X})) = \mathbf{B}\mathbf{X}\mathbf{A}^{\mathsf{T}} + \mathbf{B}^{\mathsf{T}}\mathbf{X}\mathbf{A}

f(X)=Tr(AXTCXB)f(\mathbf{X}) = \Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{B})

df=dTr(f)=dTr(AXTCXB)=Trd(AXTCXB)=Tr(A(dX)TCXB+AXTC(dX)B)=Tr((dX)TCXBA+BAXTCdX)=Tr((CXBA)TdX+(CTXATBT)TdX)=Tr((CXBA+CTXATBT)TdX) \begin{align*} \mathrm{d}f &= \mathrm{d} \Tr (f) \\ &= \mathrm{d} \Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{B}) \\ &= \Tr \mathrm{d}(\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{B}) \\ &= \Tr (\mathbf{A} (\mathrm{d}\mathbf{X})^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{B} + \mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{C}(\mathrm{d}\mathbf{X})\mathbf{B}) \\ &= \Tr ((\mathrm{d}\mathbf{X})^{\mathsf{T}} \mathbf{C}\mathbf{X}\mathbf{B}\mathbf{A} + \mathbf{B}\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{C} \mathrm{d}\mathbf{X}) \\ &= \Tr ((\mathbf{C}\mathbf{X}\mathbf{B}\mathbf{A})^{\mathsf{T}}\mathrm{d}\mathbf{X} + (\mathbf{C}^{\mathsf{T}}\mathbf{X}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}})^{\mathsf{T}}\mathrm{d}\mathbf{X}) \\ &= \Tr ((\mathbf{C}\mathbf{X}\mathbf{B}\mathbf{A} + \mathbf{C}^{\mathsf{T}}\mathbf{X}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}})^{\mathsf{T}}\mathrm{d}\mathbf{X}) \\ \end{align*}

    X(Tr(AXTCXB))=CXBA+CTXATBT \implies \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{B})) = \mathbf{C}\mathbf{X}\mathbf{B}\mathbf{A} + \mathbf{C}^{\mathsf{T}}\mathbf{X}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}

혹은, Tr(AXTCXB)=Tr(BAXTCX)\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{B}) = \Tr (\mathbf{B}\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X})이고 X(Tr(AXTBX))=BXA+BTXAT\nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{B}\mathbf{X})) = \mathbf{B}\mathbf{X}\mathbf{A} + \mathbf{B}^{\mathsf{T}}\mathbf{X}\mathbf{A}^{\mathsf{T}}이므로,

X(Tr(AXTCXB))=CXBA+CTXATBT \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{B})) = \mathbf{C}\mathbf{X}\mathbf{B}\mathbf{A} + \mathbf{C}^{\mathsf{T}}\mathbf{X}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}

만약 C=I\mathbf{C} = I이면,

X(Tr(AXTXB))=XBA+XATBT=X(BA+ATBT) \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{X}\mathbf{B})) = \mathbf{X}\mathbf{B}\mathbf{A} + \mathbf{X}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}} = \mathbf{X}(\mathbf{B}\mathbf{A} + \mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}})

만약 B=C=I\mathbf{B} = \mathbf{C} = I이면,

X(Tr(AXTX))=XA+XAT=X(A+AT) \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}^{\mathsf{T}}\mathbf{X})) = \mathbf{X}\mathbf{A} + \mathbf{X}\mathbf{A}^{\mathsf{T}} = \mathbf{X}(\mathbf{A} + \mathbf{A}^{\mathsf{T}})

f(X)=Tr(AXCXB)f(\mathbf{X}) = \Tr (\mathbf{A}\mathbf{X}\mathbf{C}\mathbf{X}\mathbf{B})

df=dTr(f)=dTr(AXCXB)=Trd(AXCXB)=Tr(A(dX)CXB+AXC(dX)B)=Tr(CXBAdX+BAXCdX)=Tr((CXBA+BAXC)dX)=Tr((ATBTXTCT+CTXTATBT)TdX) \begin{align*} \mathrm{d}f &= \mathrm{d} \Tr (f) \\ &= \mathrm{d} \Tr (\mathbf{A}\mathbf{X}\mathbf{C}\mathbf{X}\mathbf{B}) \\ &= \Tr \mathrm{d} (\mathbf{A}\mathbf{X}\mathbf{C}\mathbf{X}\mathbf{B}) \\ &= \Tr (\mathbf{A}(\mathrm{d}\mathbf{X})\mathbf{C}\mathbf{X}\mathbf{B} + \mathbf{A}\mathbf{X}\mathbf{C}(\mathrm{d}\mathbf{X})\mathbf{B}) \\ &= \Tr (\mathbf{C}\mathbf{X}\mathbf{B}\mathbf{A}\mathrm{d}\mathbf{X} + \mathbf{B}\mathbf{A}\mathbf{X}\mathbf{C}\mathrm{d}\mathbf{X}) \\ &= \Tr ((\mathbf{C}\mathbf{X}\mathbf{B}\mathbf{A} + \mathbf{B}\mathbf{A}\mathbf{X}\mathbf{C})\mathrm{d}\mathbf{X}) \\ &= \Tr ((\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}^{\mathsf{T}} + \mathbf{C}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}})^{\mathsf{T}}\mathrm{d}\mathbf{X}) \\ \end{align*}

    X(Tr(AXCXB))=(ATBTXTCT+CTXTATBT) \implies \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}\mathbf{C}\mathbf{X}\mathbf{B})) = (\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}^{\mathsf{T}} + \mathbf{C}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}})

만약 C=I\mathbf{C} = I이면,

X(Tr(AXXB))=ATBTXT+XTATBT \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}\mathbf{X}\mathbf{B})) = \mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}} + \mathbf{X}^{\mathsf{T}}\mathbf{A}^{\mathsf{T}}\mathbf{B}^{\mathsf{T}}

f(X)=Tr(Xn)f(\mathbf{X}) = \Tr (\mathbf{X}^{n})

df=dTr(f)=dTr(Xn)=Trd(Xn)=Tr((dX)Xn1+X(dX)Xn2++Xn2(dX)X+Xn1dX)=Tr(Xn1dX++Xn1dXn)=Tr(nXn1dX)=Tr(((nXn1)T)TdX) \begin{align*} \mathrm{d}f &= \mathrm{d} \Tr (f) \\ &= \mathrm{d} \Tr (\mathbf{X}^{n}) \\ &= \Tr \mathrm{d}(\mathbf{X}^{n}) \\ &= \Tr \left( (\mathrm{d}\mathbf{X}) X^{n-1} + \mathbf{X} (\mathrm{d}\mathbf{X}) X^{n-2} + \cdots + \mathbf{X}^{n-2}(\mathrm{d}\mathbf{X})\mathbf{X} + \mathbf{X}^{n-1}\mathrm{d}\mathbf{X} \right) \\ &= \Tr \left( \overbrace{\mathbf{X}^{n-1} \mathrm{d}\mathbf{X} + \cdots + \mathbf{X}^{n-1} \mathrm{d}\mathbf{X}}^{n} \right) \\ &= \Tr \left( n\mathbf{X}^{n-1} \mathrm{d}\mathbf{X} \right) \\ &= \Tr \left( ((n\mathbf{X}^{n-1})^{\mathsf{T}})^{\mathsf{T}} \mathrm{d}\mathbf{X} \right) \\ \end{align*}

    X(Tr(Xn))=n(XT)n1 \implies \nabla_{\mathbf{X}} (\Tr (\mathbf{X}^{n})) = n(\mathbf{X}^{\mathsf{T}})^{n-1}

f(X)=Tr(AXn)f(\mathbf{X}) = \Tr (\mathbf{A}\mathbf{X}^{n})

df=dTr(f)=dTr(AXn)=Trd(AXn)=Tr[A(dX)Xn1+AX(dX)Xn2+AXn2(dX)X+AXn1(dX)]=Tr[Xn1AdX+Xn2AXdX++XAXn2dX+AXn1dX]=Tr([i=0n1Xn1iAXi]dX)=Tr(([i=0n1Xn1iAXi]T)TdX)=Tr((i=0n1[Xn1iAXi]T)TdX) \begin{align*} \mathrm{d}f &= \mathrm{d} \Tr (f) \\ &= \mathrm{d} \Tr (\mathbf{A}\mathbf{X}^{n}) \\ &= \Tr \mathrm{d}(\mathbf{A}\mathbf{X}^{n}) \\ &= \Tr \left[ \mathbf{A}(\mathrm{d}\mathbf{X})\mathbf{X}^{n-1} + \mathbf{A}\mathbf{X}(\mathrm{d}\mathbf{X})\mathbf{X}^{n-2} + \cdots \mathbf{A}\mathbf{X}^{n-2}(\mathrm{d}\mathbf{X})\mathbf{X} + \mathbf{A}\mathbf{X}^{n-1}(\mathrm{d}\mathbf{X}) \right] \\ &= \Tr \left[ \mathbf{X}^{n-1}\mathbf{A} \mathrm{d}\mathbf{X} + \mathbf{X}^{n-2}\mathbf{A}\mathbf{X} \mathrm{d}\mathbf{X} + \cdots + \mathbf{X}\mathbf{A}\mathbf{X}^{n-2}\mathrm{d}\mathbf{X} + \mathbf{A}\mathbf{X}^{n-1}\mathrm{d}\mathbf{X} \right] \\ &= \Tr \left( \left[ \sum\limits_{i=0}^{n-1} \mathbf{X}^{n-1-i}\mathbf{A}\mathbf{X}^{i} \right]\mathrm{d}\mathbf{X} \right) \\ &= \Tr \left( \left( \left[ \sum\limits_{i=0}^{n-1} \mathbf{X}^{n-1-i}\mathbf{A}\mathbf{X}^{i} \right]^{\mathsf{T}} \right)^{\mathsf{T}} \mathrm{d}\mathbf{X} \right) \\ &= \Tr \left( \left( \sum\limits_{i=0}^{n-1} \left[ \mathbf{X}^{n-1-i}\mathbf{A}\mathbf{X}^{i} \right]^{\mathsf{T}} \right)^{\mathsf{T}} \mathrm{d}\mathbf{X} \right) \\ \end{align*}

    X(Tr(AXn))=i=0n1[Xn1iAXi]T \implies \nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}^{n})) = \sum\limits_{i=0}^{n-1} \left[ \mathbf{X}^{n-1-i}\mathbf{A}\mathbf{X}^{i} \right]^{\mathsf{T}}

f(X)=Tr(amXm++a1X+a0)f(\mathbf{X}) = \Tr (a_{m}\mathbf{X}^{m} + \dots + a_{1}\mathbf{X} + a_{0})

X(Tr(Xn))=n(XT)n1\nabla_{\mathbf{X}} (\Tr (\mathbf{X}^{n})) = n(\mathbf{X}^{\mathsf{T}})^{n-1}이고 트레이스와 미분 X\nabla_{X}는 선형이므로,

XTr(amXm++a1X+a0)=mam(XT)m1+2a2XT+a1=i=1miai(XT)i1 \begin{align*} \nabla_{\mathbf{X}} \Tr (a_{m}\mathbf{X}^{m} + \dots + a_{1}\mathbf{X} + a_{0}) &= ma_{m}(\mathbf{X}^{\mathsf{T}})^{m-1} + 2a_{2}\mathbf{X}^{\mathsf{T}} + a_{1} \\ &= \sum\limits_{i=1}^{m} i a_{i}(\mathbf{X}^{\mathsf{T}})^{i-1} \end{align*}

f(X)=aTXXbf(\mathbf{X}) = \mathbf{a}^{\mathsf{T}}\mathbf{X}\mathbf{X}\mathbf{b}

트레이스의 정의와 성질에 따라 다음이 성립한다.

X(aTXXb)=XTr(aTXXb)=XTr(baTXX) \nabla_{\mathbf{X}} ( \mathbf{a}^{\mathsf{T}}\mathbf{X}\mathbf{X}\mathbf{b} ) = \nabla_{\mathbf{X}} \Tr( \mathbf{a}^{\mathsf{T}}\mathbf{X}\mathbf{X}\mathbf{b} ) = \nabla_{\mathbf{X}} \Tr( \mathbf{b}\mathbf{a}^{\mathsf{T}}\mathbf{X}\mathbf{X} )

X(Tr(AXX))=ATXT+XTaT\nabla_{\mathbf{X}} (\Tr (\mathbf{A}\mathbf{X}\mathbf{X})) = \mathbf{A}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}} + \mathbf{X}^{\mathsf{T}}\mathbf{a}^{\mathsf{T}}이므로,

X(aTXXb)=abTXT+XTabT \nabla_{\mathbf{X}} (\mathbf{a}^{\mathsf{T}}\mathbf{X}\mathbf{X}\mathbf{b}) = \mathbf{a}\mathbf{b}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}} + \mathbf{X}^{\mathsf{T}}\mathbf{a}\mathbf{b}^{\mathsf{T}}

f(X)=aTXTCXbf(\mathbf{X}) = \mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{b}

df=dTr(f)=dTr(aTXTCXb)=dTr(baTXTCX)=Trd(baTXTCX)=Tr(baT(dX)TCX+baTXTCdX)=Tr((dX)TCXbaT+(CTXabT)TdX)=Tr((CXbaT)TdX+(CTXabT)TdX)=Tr([CXbaT+CTXabT]TdX) \begin{align*} \mathrm{d}f &= \mathrm{d} \Tr (f) \\ &= \mathrm{d} \Tr (\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{b}) \\ &= \mathrm{d} \Tr (\mathbf{b}\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}) \\ &= \Tr \mathrm{d}(\mathbf{b}\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}) \\ &= \Tr \left( \mathbf{b}\mathbf{a}^{\mathsf{T}}(\mathrm{d}\mathbf{X})^{\mathsf{T}}\mathbf{C}\mathbf{X} + \mathbf{b}\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathrm{d}\mathbf{X} \right) \\ &= \Tr \left( (\mathrm{d}\mathbf{X})^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{b}\mathbf{a}^{\mathsf{T}} + (\mathbf{C}^{\mathsf{T}}\mathbf{X}\mathbf{a}\mathbf{b}^{\mathsf{T}})^{\mathsf{T}}\mathrm{d}\mathbf{X} \right) \\ &= \Tr \left( (\mathbf{C}\mathbf{X}\mathbf{b}\mathbf{a}^{\mathsf{T}})^{\mathsf{T}}\mathrm{d}\mathbf{X} + (\mathbf{C}^{\mathsf{T}}\mathbf{X}\mathbf{a}\mathbf{b}^{\mathsf{T}})^{\mathsf{T}}\mathrm{d}\mathbf{X} \right) \\ &= \Tr \left( \left[ \mathbf{C}\mathbf{X}\mathbf{b}\mathbf{a}^{\mathsf{T}} + \mathbf{C}^{\mathsf{T}}\mathbf{X}\mathbf{a}\mathbf{b}^{\mathsf{T}} \right]^{\mathsf{T}}\mathrm{d}\mathbf{X} \right) \\ \end{align*}

    X(aTXTCXb)=CXbaT+CTXabT \implies \nabla_{\mathbf{X}} (\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{b}) = \mathbf{C}\mathbf{X}\mathbf{b}\mathbf{a}^{\mathsf{T}} + \mathbf{C}^{\mathsf{T}}\mathbf{X}\mathbf{a}\mathbf{b}^{\mathsf{T}}

혹은, X(aTXTCXb)=XTr(aTXTCXb)=XTr(baTXTCX)\nabla_{\mathbf{X}} (\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{b}) = \nabla_{\mathbf{X}} \Tr (\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{b}) = \nabla_{\mathbf{X}} \Tr (\mathbf{b}\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X})이고,

X(Tr(ATXTBX))=BXAT+BTXA\nabla_{\mathbf{X}} (\Tr (\mathbf{A}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{B}\mathbf{X})) = \mathbf{B}\mathbf{X}\mathbf{A}^{\mathsf{T}} + \mathbf{B}^{\mathsf{T}}\mathbf{X}\mathbf{A}이므로 다음이 성립한다.

X(aTXTCXb)=CXbaT+CTXabT \nabla_{\mathbf{X}} (\mathbf{a}^{\mathsf{T}}\mathbf{X}^{\mathsf{T}}\mathbf{C}\mathbf{X}\mathbf{b}) = \mathbf{C}\mathbf{X}\mathbf{b}\mathbf{a}^{\mathsf{T}} + \mathbf{C}^{\mathsf{T}}\mathbf{X}\mathbf{a}\mathbf{b}^{\mathsf{T}}