在應用中,經常會碰到需要對某個矩陣的行列式進行求導的情況。而行列式的計算方法比較復雜,如果將它展開成后計算,會比較麻煩,因此最好直接記住一些結論。
本文以計算\(\dfrac{\partial |A|}{\partial A}\)和\(\dfrac{\partial \ln |A|}{\partial A}\)為例,介紹如何對行列式求導,並希望大家可以記住結論。
首先,為防止大家線性代數的內容忘得差不多了,我們先以方陣\(A\)(\(n\times n\))為例,回顧一下與行列式有關的基本概念:
- minor(余子式,或者叫余因式)\(M\):是一個\(n\times n\)方陣,其中元素\(M_{ij}\)就是把原方陣\(A\)去掉第\(i\)行、第\(j\)列之后再取行列式的值;
- cofactor(代數余子式)\(C\):\(C_{ij}=(-1)^{i+j}M_{ij}\);
- adjugate(伴隨矩陣)\(A^*\):\(A^*_{ij}=(-1)^{i+j}M_{ji}\),即\(A^*=C'\);
而方陣\(A\)行列式,就可以用某一行(比如第\(i\)行)的cofactor \(C\)的形式來表達(當然也可以用\(A^*\)):$$|A|=\sum_{j}A_{ij}C_{ij}$$
另外,若\(A\)是非奇異矩陣,則有
\[A^{-1}=\dfrac{A^*}{|A|}=\dfrac{C'}{|A|} \]
現在,再來看對\(|A|\)的求導。對於\(A\)的某個元素\(A_{ij}\),將行列式寫成\(A\)的第\(i\)行展開的形式,我們有
\[\dfrac{\partial |A|}{\partial A_{ij}} = \dfrac{\partial \sum_{j}A_{ij}C_{ij}}{\partial A_{ij}}=C_{ij} \]
第二個等式是因為,對於任意的\(j\),在\(C_{ij}\)的計算中都是剔除了\(A_{ij}\)的,也即它和\(A_{ij}\)的變動沒關系。
因此,我們有
\[\dfrac{\partial |A|}{\partial A} = C = (A^*)' \]
如果\(A\)非奇異,那么有
\[\dfrac{\partial |A|}{\partial A} = (|A|A^{-1})'= |A|(A^{-1})' \]
對於\(\ln |A|\),利用鏈式法則,有
\[\dfrac{\partial \ln |A|}{\partial A} = \dfrac{1}{|A|} |A|(A^{-1})' = (A^{-1})' \]
