矩陣行列式是如何求二階導數?

矩陣行列式看成n^2個變數Xij的多元函數,如何求二階導數?且用矩陣形式表示?是用行列式求導公式嗎?但感覺不適用於多元函數,求大神指教


看這個問題放了好多天了也沒人做,幫你算下好了。。。

先求下gradient:

det(X+dX)=det(X)det(I+X^{-1}dX)

因為X^{-1}dX 的特徵值都很小, det(I+X^{-1}dX)approx 1+mathrm{tr}(X^{-1}dX)

由此可知d(det(X))=det(X+dX)-det(X)=det(X)mathrm{tr}(X^{-1}dX)

因此gradient就是det(X)X^{-1}

---------------------------------------------------------------------------------

接下來算Hessian, 按照定義:

d(det(X)X^{-1})=d(det(X))X^{-1}+det(X)d(X^{-1})

根據前面的計算可知d(det(X))=det(X)mathrm{tr}(X^{-1}dX)

同時由於XX^{-1}=I 可知dXX^{-1}+Xd(X^{-1})=0

因此d(X^{-1})=-X^{-1}dXX^{-1}

把這兩項帶入到d(det(X)X^{-1}) 可知

d(det(X)X^{-1})=det(X)X^{-1}mathrm{tr}(X^{-1}dX)-det(X)X^{-1}dXX^{-1}

最後一步是把d(det(X)X^{-1}) 寫成mathrm{vec}(dX) 的函數,也就是上面式子的右邊取mathrm{vec}得到:

det(X)mathrm{vec}(X^{-1})mathrm{vec}(X^{-1})^Tmathrm{vec}(dX)-det(X)(X^{-1}otimes X^{-1})mathrm{vec}(dX)

其中otimes 是kronecker product。因此最後的二階導數(Hessian)為

det(X)(mathrm{vec}(X^{-1})mathrm{vec}(X^{-1})^T-X^{-1}otimes X^{-1})


如果所有元素是獨立的,那麼很好求吧。比如關於xij的導數就是它的代數餘子式。再求一次又得到一個餘子式。


推薦閱讀:

矩陣奇異值與矩陣範數之間有什麼聯繫?
如何直觀理解矩陣和線性代數?
hessian矩陣的特徵向量有什麼含義?
如何對SPD流形上的測地距離進行凸近似?
矩陣的指數函數到底說的是個啥?

TAG:數學 | 線性代數 | 矩陣 | 行列式 |