証明集 第7章: 行列式の微分
Proofs: Determinant Derivatives
本章では行列式 det(X) および対数行列式 log det(X) の行列微分を証明する。 行列式の微分は、多変量正規分布の対数尤度の最適化(共分散行列の推定)、 ガウス過程回帰のハイパーパラメータ学習、ベイズ推論における周辺尤度の計算など、 統計学と機械学習の核心的な場面で必要となる。 証明は余因子展開と Jacobi の行列式微分公式に基づき、成分ごとの計算から行列形式の結果を導出する。
前提知識: 第4章(行列微分の基本公式)、 第5章(トレースの微分)。 本章の結果を用いる章: 第8章(逆行列の微分)、 第9章(固有値の微分)。
行列式の微分
本章の公式は、特に断りのない限り、以下の条件下で成立する:
- 行列 $\boldsymbol{X}$ は正則($\det \boldsymbol{X} \neq 0$)であり、微分は正則性が保たれる開集合 $\{\boldsymbol{X} \in \mathbb{R}^{N \times N} : \det \boldsymbol{X} \neq 0\}$ 上で定義される
- 非正方行列を含む公式では、フルランク条件($\mathrm{rank}(\boldsymbol{X}) = \min(M, N)$)が必要
- すべての公式は分母レイアウト(denominator layout)に基づく
7.1 行列式 $|\boldsymbol{X}|$ の微分
証明
行列式の余因子展開(A.13)を確認する。行列式は任意の行 $i$ について、その行の要素と対応する余因子の積の和として展開できる。
\begin{equation}|\boldsymbol{X}| = \displaystyle\sum_{j=0}^{N-1} X_{ij} \tilde{X}_{ij}\label{eq:7-1-1}\end{equation}
ここで $\tilde{X}_{ij}$ は $\boldsymbol{X}$ の $(i, j)$ 余因子(cofactor)である。
余因子の定義を確認する。$\tilde{X}_{ij}$ は $\boldsymbol{X}$ から第 $i$ 行と第 $j$ 列を取り除いた $(N-1) \times (N-1)$ 小行列の行列式(小行列式)に、符号 $(-1)^{i+j}$ を掛けたものである。
\begin{equation}\tilde{X}_{ij} = (-1)^{i+j} M_{ij}\label{eq:7-1-2}\end{equation}
ここで $M_{ij}$ は $(i, j)$ 小行列式である。
重要な性質として、余因子 $\tilde{X}_{ij}$ は $X_{ij}$ 自身を含まないことに注目する。これは小行列式 $M_{ij}$ が第 $i$ 行と第 $j$ 列を除いて計算されるためである。
行列式 $|\boldsymbol{X}|$ を成分 $X_{ij}$ で偏微分する。\eqref{eq:7-1-1}の余因子展開を用いると次のようになる。
\begin{equation}\dfrac{\partial}{\partial X_{ij}} |\boldsymbol{X}| = \dfrac{\partial}{\partial X_{ij}} \displaystyle\sum_{k=0}^{N-1} X_{ik} \tilde{X}_{ik}\label{eq:7-1-3}\end{equation}
和の微分を各項の微分の和に分解する。
\begin{equation}\dfrac{\partial}{\partial X_{ij}} \displaystyle\sum_{k=0}^{N-1} X_{ik} \tilde{X}_{ik} = \displaystyle\sum_{k=0}^{N-1} \dfrac{\partial}{\partial X_{ij}} (X_{ik} \tilde{X}_{ik})\label{eq:7-1-4}\end{equation}
各項の微分を計算する。余因子 $\tilde{X}_{ik}$ は $X_{ij}$ を含まないので定数として扱える。したがって次が成り立つ。
\begin{equation}\dfrac{\partial}{\partial X_{ij}} (X_{ik} \tilde{X}_{ik}) = \tilde{X}_{ik} \dfrac{\partial X_{ik}}{\partial X_{ij}}\label{eq:7-1-5}\end{equation}
成分の偏微分を計算する。$X_{ik}$ と $X_{ij}$ が同じ変数になるのは $k = j$ のときだけである。
\begin{equation}\dfrac{\partial X_{ik}}{\partial X_{ij}} = \delta_{kj}\label{eq:7-1-6}\end{equation}
ここで $\delta_{kj}$ はKroneckerのデルタで、$k = j$ のとき 1、それ以外は 0 である。
\eqref{eq:7-1-5}と\eqref{eq:7-1-6}を組み合わせると次のようになる。
\begin{equation}\displaystyle\sum_{k=0}^{N-1} \tilde{X}_{ik} \delta_{kj} = \tilde{X}_{ij}\label{eq:7-1-7}\end{equation}
$\delta_{kj} = 1$ となるのは $k = j$ のときだけなので、和の中で $k = j$ の項だけが残る。
以上より、行列式の成分微分は余因子に等しい。
\begin{equation}\dfrac{\partial}{\partial X_{ij}} |\boldsymbol{X}| = \tilde{X}_{ij}\label{eq:7-1-8}\end{equation}
分母レイアウトでの行列微分を考える。分母レイアウトでは、結果の $(i, j)$ 成分は $\dfrac{\partial}{\partial X_{ij}}$ に対応する。
\begin{equation}\left( \dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}| \right)_{ij} = \dfrac{\partial}{\partial X_{ij}} |\boldsymbol{X}| = \tilde{X}_{ij}\label{eq:7-1-9}\end{equation}
これを行列形式で書く。余因子行列(adjugate matrix)$\text{adj}(\boldsymbol{X})$ を定義する。$\text{adj}(\boldsymbol{X})$ の $(i, j)$ 成分は $\tilde{X}_{ji}$(添字が入れ替わることに注意)である。
\eqref{eq:7-1-9}の結果を行列で書くと、$(i, j)$ 成分が $\tilde{X}_{ij}$ なので、これは $\text{adj}(\boldsymbol{X})$ の転置 $\text{adj}(\boldsymbol{X})^\top$ である。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}| = \text{adj}(\boldsymbol{X})^\top\label{eq:7-1-10}\end{equation}
逆行列と余因子行列の関係を用いて書き換える。正則行列 $\boldsymbol{X}$ に対して次の関係が成り立つ。
\begin{equation}\boldsymbol{X}^{-1} = \dfrac{1}{|\boldsymbol{X}|} \text{adj}(\boldsymbol{X})\label{eq:7-1-11}\end{equation}
\eqref{eq:7-1-11}を $\text{adj}(\boldsymbol{X})$ について解くと次のようになる。
\begin{equation}\text{adj}(\boldsymbol{X}) = |\boldsymbol{X}| \boldsymbol{X}^{-1}\label{eq:7-1-12}\end{equation}
両辺の転置をとる。
\begin{equation}\text{adj}(\boldsymbol{X})^\top = (|\boldsymbol{X}| \boldsymbol{X}^{-1})^\top\label{eq:7-1-13}\end{equation}
スカラ $|\boldsymbol{X}|$ は転置で変化しない。また、積の転置は $(AB)^\top = B^\top A^\top$ であるが、ここではスカラとの積なので順序は関係ない。したがって次が成り立つ。
\begin{equation}\text{adj}(\boldsymbol{X})^\top = |\boldsymbol{X}| (\boldsymbol{X}^{-1})^\top = |\boldsymbol{X}| \boldsymbol{X}^{-\top}\label{eq:7-1-14}\end{equation}
\eqref{eq:7-1-10}と\eqref{eq:7-1-14}を組み合わせて、最終結果を得る。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}| = |\boldsymbol{X}| \boldsymbol{X}^{-\top}\label{eq:7-1-15}\end{equation}
7.2 対数行列式 $\log|\boldsymbol{X}|$ の微分
証明
対数行列式は合成関数 $\log(|\boldsymbol{X}|)$ である。外側の関数が $\log$、内側の関数が $|\boldsymbol{X}|$ である。
合成関数の微分公式(連鎖律)を適用する。スカラ関数 $f(g(\boldsymbol{X}))$ の行列微分は次のようになる。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} f(g(\boldsymbol{X})) = f'(g(\boldsymbol{X})) \dfrac{\partial g}{\partial \boldsymbol{X}}\label{eq:7-2-1}\end{equation}
本問題では $f(u) = \log(u)$、$g(\boldsymbol{X}) = |\boldsymbol{X}|$ である。
外側の関数 $f(u) = \log(u)$ の微分を計算すると次のようになる。
\begin{equation}f'(u) = \dfrac{1}{u}\label{eq:7-2-2}\end{equation}
$u = g(\boldsymbol{X}) = |\boldsymbol{X}|$ を代入すると次が得られる。
\begin{equation}f'(g(\boldsymbol{X})) = f'(|\boldsymbol{X}|) = \dfrac{1}{|\boldsymbol{X}|}\label{eq:7-2-3}\end{equation}
内側の関数の微分は 7.1 より次の通りである。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}| = |\boldsymbol{X}| \boldsymbol{X}^{-\top}\label{eq:7-2-4}\end{equation}
\eqref{eq:7-2-1}の連鎖律に\eqref{eq:7-2-3}と\eqref{eq:7-2-4}を代入すると次のようになる。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} \log|\boldsymbol{X}| = \dfrac{1}{|\boldsymbol{X}|} \cdot |\boldsymbol{X}| \boldsymbol{X}^{-\top}\label{eq:7-2-5}\end{equation}
$\dfrac{1}{|\boldsymbol{X}|}$ と $|\boldsymbol{X}|$ が打ち消し合い、最終結果を得る。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} \log|\boldsymbol{X}| = \boldsymbol{X}^{-\top}\label{eq:7-2-6}\end{equation}
7.3 行列式のべき乗 $|\boldsymbol{X}^n|$ の微分
証明
行列式の積に関する性質(1.14)を確認する。任意の正方行列 $\boldsymbol{A}$, $\boldsymbol{B}$ に対して次が成り立つ。
\begin{equation}|\boldsymbol{A}\boldsymbol{B}| = |\boldsymbol{A}||\boldsymbol{B}|\label{eq:7-3-1}\end{equation}
この性質を繰り返し適用すると、$\boldsymbol{X}^n = \underbrace{\boldsymbol{X} \cdot \boldsymbol{X} \cdots \boldsymbol{X}}_{n \text{ 個}}$ の行列式は次のようになる。
\begin{equation}|\boldsymbol{X}^n| = |\underbrace{\boldsymbol{X} \cdot \boldsymbol{X} \cdots \boldsymbol{X}}_{n \text{ 個}}| = \underbrace{|\boldsymbol{X}| \cdot |\boldsymbol{X}| \cdots |\boldsymbol{X}|}_{n \text{ 個}} = |\boldsymbol{X}|^n\label{eq:7-3-2}\end{equation}
したがって $|\boldsymbol{X}^n|$ を $\boldsymbol{X}$ で微分する問題は、$|\boldsymbol{X}|^n$ を $\boldsymbol{X}$ で微分する問題に帰着する。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}^n| = \dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}|^n\label{eq:7-3-3}\end{equation}
$|\boldsymbol{X}|^n$ は $|\boldsymbol{X}|$ の $n$ 乗であり、これは合成関数である。外側の関数を $f(u) = u^n$、内側の関数を $g(\boldsymbol{X}) = |\boldsymbol{X}|$ とする。
外側の関数 $f(u) = u^n$ の微分を計算すると次のようになる。
\begin{equation}f'(u) = n u^{n-1}\label{eq:7-3-4}\end{equation}
$u = |\boldsymbol{X}|$ を代入すると次が得られる。
\begin{equation}f'(|\boldsymbol{X}|) = n |\boldsymbol{X}|^{n-1}\label{eq:7-3-5}\end{equation}
内側の関数の微分は 7.1 より次の通りである。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}| = |\boldsymbol{X}| \boldsymbol{X}^{-\top}\label{eq:7-3-6}\end{equation}
連鎖律を適用すると次のようになる。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}|^n = n |\boldsymbol{X}|^{n-1} \cdot |\boldsymbol{X}| \boldsymbol{X}^{-\top}\label{eq:7-3-7}\end{equation}
$|\boldsymbol{X}|^{n-1} \cdot |\boldsymbol{X}| = |\boldsymbol{X}|^n$ を用いて整理すると次のようになる。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}|^n = n |\boldsymbol{X}|^n \boldsymbol{X}^{-\top}\label{eq:7-3-8}\end{equation}
\eqref{eq:7-3-2}より $|\boldsymbol{X}|^n = |\boldsymbol{X}^n|$ なので、最終結果を得る。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}^n| = n |\boldsymbol{X}^n| \boldsymbol{X}^{-\top}\label{eq:7-3-9}\end{equation}
7.4 行列式のスカラ微分(Jacobi の公式)
証明
$\det(\boldsymbol{Y})$ は $\boldsymbol{Y}$ の全成分 $Y_{ij}$ の関数である。$\boldsymbol{Y}$ の各成分 $Y_{ij}$ はスカラ $x$ の関数なので、$\det(\boldsymbol{Y})$ は $x$ の合成関数である。
多変数の連鎖律を適用する。$\det(\boldsymbol{Y})$ を $x$ で微分すると、中間変数であるすべての $Y_{ij}$ を通じた寄与の総和となる。
\begin{equation}\dfrac{\partial \det(\boldsymbol{Y})}{\partial x} = \displaystyle\sum_{i=0}^{N-1} \displaystyle\sum_{j=0}^{N-1} \dfrac{\partial \det(\boldsymbol{Y})}{\partial Y_{ij}} \dfrac{\partial Y_{ij}}{\partial x}\label{eq:7-4-1}\end{equation}
7.1 の証明過程より、行列式の成分微分は余因子に等しい。
\begin{equation}\dfrac{\partial \det(\boldsymbol{Y})}{\partial Y_{ij}} = \tilde{Y}_{ij}\label{eq:7-4-2}\end{equation}
ここで $\tilde{Y}_{ij}$ は $\boldsymbol{Y}$ の $(i, j)$ 余因子である。
\eqref{eq:7-4-2}を\eqref{eq:7-4-1}に代入すると次のようになる。
\begin{equation}\dfrac{\partial \det(\boldsymbol{Y})}{\partial x} = \displaystyle\sum_{i,j} \tilde{Y}_{ij} \dfrac{\partial Y_{ij}}{\partial x}\label{eq:7-4-3}\end{equation}
余因子と逆行列の関係を用いる。7.1 の証明で示したように、次の関係が成り立つ。
\begin{equation}\text{adj}(\boldsymbol{Y}) = \det(\boldsymbol{Y}) \boldsymbol{Y}^{-1}\label{eq:7-4-4}\end{equation}
ここで $\text{adj}(\boldsymbol{Y})$ の $(i, j)$ 成分は $\tilde{Y}_{ji}$ である。
したがって $\tilde{Y}_{ij}$ は $\text{adj}(\boldsymbol{Y})$ の $(j, i)$ 成分なので、次のように書ける。
\begin{equation}\tilde{Y}_{ij} = (\text{adj}(\boldsymbol{Y}))_{ji} = \det(\boldsymbol{Y}) (Y^{-1})_{ji}\label{eq:7-4-5}\end{equation}
\eqref{eq:7-4-5}を\eqref{eq:7-4-3}に代入すると次のようになる。
\begin{equation}\dfrac{\partial \det(\boldsymbol{Y})}{\partial x} = \displaystyle\sum_{i,j} \det(\boldsymbol{Y}) (Y^{-1})_{ji} \dfrac{\partial Y_{ij}}{\partial x}\label{eq:7-4-6}\end{equation}
$\det(\boldsymbol{Y})$ は $i, j$ に依存しないので、和の外に出す。
\begin{equation}\dfrac{\partial \det(\boldsymbol{Y})}{\partial x} = \det(\boldsymbol{Y}) \displaystyle\sum_{i,j} (Y^{-1})_{ji} \dfrac{\partial Y_{ij}}{\partial x}\label{eq:7-4-7}\end{equation}
和の順序を入れ替えて、まず $i$ について和をとると次のようになる。
\begin{equation}\displaystyle\sum_{i,j} (Y^{-1})_{ji} \dfrac{\partial Y_{ij}}{\partial x} = \displaystyle\sum_{j=0}^{N-1} \displaystyle\sum_{i=0}^{N-1} (Y^{-1})_{ji} \dfrac{\partial Y_{ij}}{\partial x}\label{eq:7-4-8}\end{equation}
内側の和 $\displaystyle\sum_{i} (Y^{-1})_{ji} \dfrac{\partial Y_{ij}}{\partial x}$ は行列積の定義に対応する。これは $\boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial x}$ の $(j, j)$ 成分である。
\begin{equation}\displaystyle\sum_{i=0}^{N-1} (Y^{-1})_{ji} \left(\dfrac{\partial \boldsymbol{Y}}{\partial x}\right)_{ij} = \left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial x} \right)_{jj}\label{eq:7-4-9}\end{equation}
外側の和 $\displaystyle\sum_{j}$ は対角成分の総和、すなわちトレースである。
\begin{equation}\displaystyle\sum_{j=0}^{N-1} \left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial x} \right)_{jj} = \text{tr}\left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial x} \right)\label{eq:7-4-10}\end{equation}
\eqref{eq:7-4-7}と\eqref{eq:7-4-10}を組み合わせて、最終結果(Jacobi の公式)を得る。
\begin{equation}\dfrac{\partial \det(\boldsymbol{Y})}{\partial x} = \det(\boldsymbol{Y}) \text{tr}\left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial x} \right)\label{eq:7-4-11}\end{equation}
出典:C.G.J. Jacobi (1841) "De formatione et proprietatibus Determinantium", Journal für die reine und angewandte Mathematik 22, 285-318.
7.5 行列式の成分微分の性質
証明
7.1 の証明過程より、行列式の成分微分は余因子に等しい。
\begin{equation}\dfrac{\partial \det(\boldsymbol{X})}{\partial X_{ik}} = \tilde{X}_{ik}\label{eq:7-5-1}\end{equation}
この結果を用いて、左辺の和を余因子で書き直すと次のようになる。
\begin{equation}\displaystyle\sum_{k=0}^{N-1} \dfrac{\partial \det(\boldsymbol{X})}{\partial X_{ik}} X_{jk} = \displaystyle\sum_{k=0}^{N-1} \tilde{X}_{ik} X_{jk}\label{eq:7-5-2}\end{equation}
$i = j$ の場合と $i \neq j$ の場合に分けて考える。
$i = j$ の場合を考える。和は次のようになる。
\begin{equation}\displaystyle\sum_{k=0}^{N-1} \tilde{X}_{ik} X_{ik}\label{eq:7-5-3}\end{equation}
これは行列式の余因子展開そのものである。第 $i$ 行による行列式の展開は次の通りである。
\begin{equation}\det(\boldsymbol{X}) = \displaystyle\sum_{k=0}^{N-1} X_{ik} \tilde{X}_{ik}\label{eq:7-5-4}\end{equation}
したがって、$i = j$ のとき次が成り立つ。
\begin{equation}\displaystyle\sum_{k=0}^{N-1} \tilde{X}_{ik} X_{ik} = \det(\boldsymbol{X})\label{eq:7-5-5}\end{equation}
$i \neq j$ の場合を考える。和は次のようになる。
\begin{equation}\displaystyle\sum_{k=0}^{N-1} \tilde{X}_{ik} X_{jk}\label{eq:7-5-6}\end{equation}
この和の意味を考える。$\tilde{X}_{ik}$ は $\boldsymbol{X}$ の第 $i$ 行と第 $k$ 列を除いた小行列の行列式に符号を付けたものである。したがって $\tilde{X}_{ik}$ は $\boldsymbol{X}$ の第 $i$ 行の成分を含まない。
\eqref{eq:7-5-6}の和は、$\boldsymbol{X}$ の第 $i$ 行を第 $j$ 行で置き換えた行列 $\boldsymbol{X}'$ の、第 $i$ 行による余因子展開に等しい。
\begin{equation}\displaystyle\sum_{k=0}^{N-1} \tilde{X}_{ik} X_{jk} = \det(\boldsymbol{X}')\label{eq:7-5-7}\end{equation}
ここで $\boldsymbol{X}'$ は $\boldsymbol{X}$ の第 $i$ 行を $\boldsymbol{X}$ の第 $j$ 行で置き換えた行列である(余因子 $\tilde{X}_{ik}$ は第 $i$ 行に依存しないことに注意)。
$\boldsymbol{X}'$ は第 $i$ 行と第 $j$ 行が同じベクトルになっている。すなわち、2つの行が同一である。
行列式の性質として、2つの行(または列)が同一である行列の行列式は 0 である。
\begin{equation}\det(\boldsymbol{X}') = 0\label{eq:7-5-8}\end{equation}
したがって、$i \neq j$ のとき次が成り立つ。
\begin{equation}\displaystyle\sum_{k=0}^{N-1} \tilde{X}_{ik} X_{jk} = 0\label{eq:7-5-9}\end{equation}
\eqref{eq:7-5-5}と\eqref{eq:7-5-9}をKroneckerのデルタを用いて統一的に表すと、最終結果を得る。
\begin{equation}\displaystyle\sum_{k=0}^{N-1} \dfrac{\partial \det(\boldsymbol{X})}{\partial X_{ik}} X_{jk} = \delta_{ij} \det(\boldsymbol{X})\label{eq:7-5-10}\end{equation}
7.6 行列式の2階微分
証明
7.4 の Jacobi の公式を再掲する。
\begin{equation}\dfrac{\partial \det(\boldsymbol{Y})}{\partial x} = \det(\boldsymbol{Y}) \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}')\label{eq:7-6-1}\end{equation}
両辺を $x$ でもう一度微分する。左辺は $\dfrac{\partial^2 \det(\boldsymbol{Y})}{\partial x^2}$ となる。右辺は2つの因子の積なので、積の微分公式(1.25)を適用する。
\begin{equation}\dfrac{\partial^2 \det(\boldsymbol{Y})}{\partial x^2} = \dfrac{\partial}{\partial x} \left[ \det(\boldsymbol{Y}) \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}') \right]\label{eq:7-6-2}\end{equation}
積の微分公式(1.25)$(fg)' = f'g + fg'$ を適用する。$f = \det(\boldsymbol{Y})$、$g = \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}')$ とすると次のようになる。
\begin{equation}\dfrac{\partial^2 \det(\boldsymbol{Y})}{\partial x^2} = \dfrac{\partial \det(\boldsymbol{Y})}{\partial x} \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}') + \det(\boldsymbol{Y}) \dfrac{\partial}{\partial x} \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}')\label{eq:7-6-3}\end{equation}
第1項を計算する。$\dfrac{\partial \det(\boldsymbol{Y})}{\partial x}$ に\eqref{eq:7-6-1}のJacobiの公式を代入すると次のようになる。
\begin{equation}\dfrac{\partial \det(\boldsymbol{Y})}{\partial x} \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}') = \det(\boldsymbol{Y}) \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}') \cdot \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}')\label{eq:7-6-4}\end{equation}
第1項を整理すると次のようになる。
\begin{equation}\det(\boldsymbol{Y}) \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}')^2\label{eq:7-6-5}\end{equation}
第2項の $\dfrac{\partial}{\partial x} \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}')$ を計算する。トレースと微分は交換可能なので、まずトレースの中身を微分する。
\begin{equation}\dfrac{\partial}{\partial x} \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}') = \text{tr}\left( \dfrac{\partial}{\partial x} (\boldsymbol{Y}^{-1} \boldsymbol{Y}') \right)\label{eq:7-6-6}\end{equation}
行列積 $\boldsymbol{Y}^{-1} \boldsymbol{Y}'$ の微分に積の微分公式(1.25)を適用すると次のようになる。
\begin{equation}\dfrac{\partial}{\partial x} (\boldsymbol{Y}^{-1} \boldsymbol{Y}') = \dfrac{\partial \boldsymbol{Y}^{-1}}{\partial x} \boldsymbol{Y}' + \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}'}{\partial x}\label{eq:7-6-7}\end{equation}
$\dfrac{\partial \boldsymbol{Y}'}{\partial x} = \boldsymbol{Y}''$ である。
逆行列のスカラ微分公式を適用する。$\boldsymbol{Y}\boldsymbol{Y}^{-1} = \boldsymbol{I}$ を $x$ で微分すると、次が成り立つ。
\begin{equation}\boldsymbol{Y}' \boldsymbol{Y}^{-1} + \boldsymbol{Y} \dfrac{\partial \boldsymbol{Y}^{-1}}{\partial x} = \boldsymbol{O}\label{eq:7-6-8}\end{equation}
\eqref{eq:7-6-8}を $\dfrac{\partial \boldsymbol{Y}^{-1}}{\partial x}$ について解くと次のようになる。
\begin{equation}\dfrac{\partial \boldsymbol{Y}^{-1}}{\partial x} = -\boldsymbol{Y}^{-1} \boldsymbol{Y}' \boldsymbol{Y}^{-1}\label{eq:7-6-9}\end{equation}
\eqref{eq:7-6-7}に\eqref{eq:7-6-9}を代入すると次のようになる。
\begin{equation}\dfrac{\partial}{\partial x} (\boldsymbol{Y}^{-1} \boldsymbol{Y}') = -\boldsymbol{Y}^{-1} \boldsymbol{Y}' \boldsymbol{Y}^{-1} \boldsymbol{Y}' + \boldsymbol{Y}^{-1} \boldsymbol{Y}''\label{eq:7-6-10}\end{equation}
第1項を整理する。$\boldsymbol{Y}^{-1} \boldsymbol{Y}'$ が2回現れているので、次のように書ける。
\begin{equation}-\boldsymbol{Y}^{-1} \boldsymbol{Y}' \boldsymbol{Y}^{-1} \boldsymbol{Y}' = -(\boldsymbol{Y}^{-1} \boldsymbol{Y}')^2\label{eq:7-6-11}\end{equation}
\eqref{eq:7-6-6}にトレースをとると次のようになる。
\begin{equation}\dfrac{\partial}{\partial x} \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}') = \text{tr}(-(\boldsymbol{Y}^{-1} \boldsymbol{Y}')^2 + \boldsymbol{Y}^{-1} \boldsymbol{Y}'')\label{eq:7-6-12}\end{equation}
トレースの線形性を用いて分解すると次のようになる。
\begin{equation}\dfrac{\partial}{\partial x} \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}') = -\text{tr}((\boldsymbol{Y}^{-1} \boldsymbol{Y}')^2) + \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}'')\label{eq:7-6-13}\end{equation}
\eqref{eq:7-6-3}に\eqref{eq:7-6-5}と\eqref{eq:7-6-13}の結果を代入すると次のようになる。
\begin{equation}\dfrac{\partial^2 \det(\boldsymbol{Y})}{\partial x^2} = \det(\boldsymbol{Y}) \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}')^2 + \det(\boldsymbol{Y}) \left[ -\text{tr}((\boldsymbol{Y}^{-1} \boldsymbol{Y}')^2) + \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}'') \right]\label{eq:7-6-14}\end{equation}
$\det(\boldsymbol{Y})$ をくくり出して最終結果を得る。
\begin{equation}\dfrac{\partial^2 \det(\boldsymbol{Y})}{\partial x^2} = \det(\boldsymbol{Y}) \left[ \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}'') + \text{tr}(\boldsymbol{Y}^{-1} \boldsymbol{Y}')^2 - \text{tr}((\boldsymbol{Y}^{-1} \boldsymbol{Y}')^2) \right]\label{eq:7-6-15}\end{equation}
7.7 積の行列式 $|\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}|$ の微分
証明
行列式の積に関する性質(1.14)より、正方行列の積の行列式は各行列の行列式の積に等しい。
\begin{equation}|\boldsymbol{A}\boldsymbol{B}| = |\boldsymbol{A}||\boldsymbol{B}|\label{eq:7-7-1}\end{equation}
この性質を $\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}$ に適用する。まず $(\boldsymbol{A}\boldsymbol{X})\boldsymbol{B}$ と見なすと次のようになる。
\begin{equation}|(\boldsymbol{A}\boldsymbol{X})\boldsymbol{B}| = |\boldsymbol{A}\boldsymbol{X}||\boldsymbol{B}|\label{eq:7-7-2}\end{equation}
$|\boldsymbol{A}\boldsymbol{X}|$ にも同じ性質を適用すると次のようになる。
\begin{equation}|\boldsymbol{A}\boldsymbol{X}| = |\boldsymbol{A}||\boldsymbol{X}|\label{eq:7-7-3}\end{equation}
\eqref{eq:7-7-2}と\eqref{eq:7-7-3}を組み合わせると次が得られる。
\begin{equation}|\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}| = |\boldsymbol{A}||\boldsymbol{X}||\boldsymbol{B}|\label{eq:7-7-4}\end{equation}
$|\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}|$ を $\boldsymbol{X}$ で微分する。$|\boldsymbol{A}|$ と $|\boldsymbol{B}|$ は $\boldsymbol{X}$ に依存しない定数なので、微分演算子の外に出せる。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}| = \dfrac{\partial}{\partial \boldsymbol{X}} (|\boldsymbol{A}||\boldsymbol{X}||\boldsymbol{B}|) = |\boldsymbol{A}||\boldsymbol{B}| \dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}|\label{eq:7-7-5}\end{equation}
7.1 より $\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}| = |\boldsymbol{X}| \boldsymbol{X}^{-\top}$ を代入すると次のようになる。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}| = |\boldsymbol{A}||\boldsymbol{B}| \cdot |\boldsymbol{X}| \boldsymbol{X}^{-\top}\label{eq:7-7-6}\end{equation}
$|\boldsymbol{A}||\boldsymbol{B}||\boldsymbol{X}| = |\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}|$(\eqref{eq:7-7-4}より)を用いて整理すると、最終結果を得る。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}| = |\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}| \boldsymbol{X}^{-\top}\label{eq:7-7-7}\end{equation}
7.8 二次形式の行列式
7.8.1 $\boldsymbol{X}$ が正方可逆の場合
証明
行列式の積の性質(1.14)を用いて $|\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}|$ を分解する。
\begin{equation}|\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}| = |\boldsymbol{X}^\top||\boldsymbol{A}||\boldsymbol{X}|\label{eq:7-8-1-1}\end{equation}
転置の行列式(1.15)より $|\boldsymbol{X}^\top| = |\boldsymbol{X}|$ である。
\eqref{eq:7-8-1-1}とこの性質より次を得る。
\begin{equation}|\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}| = |\boldsymbol{X}||\boldsymbol{A}||\boldsymbol{X}| = |\boldsymbol{A}||\boldsymbol{X}|^2\label{eq:7-8-1-2}\end{equation}
$\boldsymbol{X}$ で微分する。$|\boldsymbol{A}|$ は定数なので微分演算子の外に出せる。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}| = |\boldsymbol{A}| \dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}|^2\label{eq:7-8-1-3}\end{equation}
7.3 で $n = 2$ の場合より、次が成り立つ。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}|^2 = 2 |\boldsymbol{X}|^2 \boldsymbol{X}^{-\top}\label{eq:7-8-1-4}\end{equation}
\eqref{eq:7-8-1-3}に\eqref{eq:7-8-1-4}を代入すると次のようになる。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}| = |\boldsymbol{A}| \cdot 2 |\boldsymbol{X}|^2 \boldsymbol{X}^{-\top}\label{eq:7-8-1-5}\end{equation}
$|\boldsymbol{A}||\boldsymbol{X}|^2 = |\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}|$(\eqref{eq:7-8-1-2}より)を用いて整理すると、最終結果を得る。
\begin{equation}\dfrac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}| = 2 |\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}| \boldsymbol{X}^{-\top}\label{eq:7-8-1-6}\end{equation}
7.8.2 $\boldsymbol{X}$ が非正方、$\boldsymbol{A}$ が対称の場合
証明
$\boldsymbol{Y} = \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}$ とおく。$\boldsymbol{Y}$ は $N \times N$ 行列である。$\boldsymbol{X}$ がフルランクなので $\boldsymbol{Y}$ は可逆である($\boldsymbol{A}$ が正定値のとき)。
7.4 の Jacobi の公式を用いる。$|\boldsymbol{Y}|$ を成分 $X_{ij}$ で微分すると次のようになる。
\begin{equation}\dfrac{\partial |\boldsymbol{Y}|}{\partial X_{ij}} = |\boldsymbol{Y}| \text{tr}\left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial X_{ij}} \right)\label{eq:7-8-2-1}\end{equation}
$\boldsymbol{Y} = \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}$ を $X_{ij}$ で微分する。$\boldsymbol{Y}$ には $\boldsymbol{X}^\top$ と $\boldsymbol{X}$ の2箇所に $\boldsymbol{X}$ が現れるので、積の微分公式(1.25)を適用する。
\begin{equation}\dfrac{\partial \boldsymbol{Y}}{\partial X_{ij}} = \dfrac{\partial (\boldsymbol{X}^\top)}{\partial X_{ij}} \boldsymbol{A} \boldsymbol{X} + \boldsymbol{X}^\top \boldsymbol{A} \dfrac{\partial \boldsymbol{X}}{\partial X_{ij}}\label{eq:7-8-2-2}\end{equation}
$\dfrac{\partial \boldsymbol{X}}{\partial X_{ij}}$ を計算する。$\boldsymbol{X}$ の成分 $X_{kl}$ を $X_{ij}$ で微分すると、$k = i$ かつ $l = j$ のときのみ 1、それ以外は 0 である。
\begin{equation}\left( \dfrac{\partial \boldsymbol{X}}{\partial X_{ij}} \right)_{kl} = \delta_{ki} \delta_{lj}\label{eq:7-8-2-3}\end{equation}
この結果を行列で表す。標準基底ベクトル $\boldsymbol{e}_i \in \mathbb{R}^M$(第 $i$ 成分のみ 1)と $\boldsymbol{e}_j \in \mathbb{R}^N$(第 $j$ 成分のみ 1)を用いると次のように書ける。
\begin{equation}\dfrac{\partial \boldsymbol{X}}{\partial X_{ij}} = \boldsymbol{e}_i \boldsymbol{e}_j^\top\label{eq:7-8-2-4}\end{equation}
これは $(i, j)$ 成分のみが 1 で他はすべて 0 の $M \times N$ 行列である。
$\dfrac{\partial (\boldsymbol{X}^\top)}{\partial X_{ij}}$ を計算する。転置をとると行と列が入れ替わるので次のようになる。
\begin{equation}\dfrac{\partial (\boldsymbol{X}^\top)}{\partial X_{ij}} = \left( \dfrac{\partial \boldsymbol{X}}{\partial X_{ij}} \right)^\top = (\boldsymbol{e}_i \boldsymbol{e}_j^\top)^\top = \boldsymbol{e}_j \boldsymbol{e}_i^\top\label{eq:7-8-2-5}\end{equation}
\eqref{eq:7-8-2-4}と\eqref{eq:7-8-2-5}を\eqref{eq:7-8-2-2}に代入すると次のようになる。
\begin{equation}\dfrac{\partial \boldsymbol{Y}}{\partial X_{ij}} = \boldsymbol{e}_j \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} + \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{e}_i \boldsymbol{e}_j^\top\label{eq:7-8-2-6}\end{equation}
$\boldsymbol{A}$ が対称であることを用いる。$\boldsymbol{A} = \boldsymbol{A}^\top$ より $\boldsymbol{A} \boldsymbol{e}_i = \boldsymbol{A}^\top \boldsymbol{e}_i$ である。
$\boldsymbol{e}_i^\top \boldsymbol{A} = (\boldsymbol{A}^\top \boldsymbol{e}_i)^\top = (\boldsymbol{A} \boldsymbol{e}_i)^\top$ であることに注目する。$\boldsymbol{A} \boldsymbol{e}_i$ は $\boldsymbol{A}$ の第 $i$ 列ベクトルである。
\eqref{eq:7-8-2-6}の第1項を分析する。$\boldsymbol{e}_j \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X}$ は $N \times N$ 行列である。
\eqref{eq:7-8-2-1}に代入して、トレースの中身を計算すると次のようになる。
\begin{equation}\text{tr}\left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial X_{ij}} \right) = \text{tr}\left( \boldsymbol{Y}^{-1} \boldsymbol{e}_j \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} \right) + \text{tr}\left( \boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{e}_i \boldsymbol{e}_j^\top \right)\label{eq:7-8-2-7}\end{equation}
トレースの巡回性 $\text{tr}(\boldsymbol{P}\boldsymbol{Q}\boldsymbol{R}) = \text{tr}(\boldsymbol{R}\boldsymbol{P}\boldsymbol{Q})$ を第1項に適用すると次のようになる。
\begin{equation}\text{tr}\left( \boldsymbol{Y}^{-1} \boldsymbol{e}_j \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} \right) = \text{tr}\left( \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1} \boldsymbol{e}_j \right)\label{eq:7-8-2-8}\end{equation}
$\boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1} \boldsymbol{e}_j$ は $1 \times 1$ スカラなので、トレースは値そのものに等しい。
\begin{equation}\text{tr}\left( \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1} \boldsymbol{e}_j \right) = \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1} \boldsymbol{e}_j = (\boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1})_{ij}\label{eq:7-8-2-9}\end{equation}
同様に第2項にトレースの巡回性を適用すると次のようになる。
\begin{equation}\text{tr}\left( \boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{e}_i \boldsymbol{e}_j^\top \right) = \text{tr}\left( \boldsymbol{e}_j^\top \boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{e}_i \right)\label{eq:7-8-2-10}\end{equation}
これも $1 \times 1$ スカラなので、トレースは値そのものに等しい。
\begin{equation}\text{tr}\left( \boldsymbol{e}_j^\top \boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{e}_i \right) = (\boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A})_{ji} = ((\boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-\top}))_{ij}\label{eq:7-8-2-11}\end{equation}
$\boldsymbol{Y}$ が対称であることを確認する。$\boldsymbol{A} = \boldsymbol{A}^\top$ より次が成り立つ。
\begin{equation}\boldsymbol{Y}^\top = (\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X})^\top = \boldsymbol{X}^\top \boldsymbol{A}^\top (\boldsymbol{X}^\top)^\top = \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X} = \boldsymbol{Y}\label{eq:7-8-2-12}\end{equation}
$\boldsymbol{Y}$ が対称なので $\boldsymbol{Y}^{-1}$ も対称である。したがって $\boldsymbol{Y}^{-\top} = \boldsymbol{Y}^{-1}$ となる。
\eqref{eq:7-8-2-9}と\eqref{eq:7-8-2-11}の結果を用いて、\eqref{eq:7-8-2-7}を整理すると次のようになる。
\begin{equation}\text{tr}\left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial X_{ij}} \right) = (\boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1})_{ij} + (\boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1})_{ij} = 2(\boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1})_{ij}\label{eq:7-8-2-13}\end{equation}
\eqref{eq:7-8-2-1}に代入して、成分 $X_{ij}$ による微分を得る。
\begin{equation}\dfrac{\partial |\boldsymbol{Y}|}{\partial X_{ij}} = |\boldsymbol{Y}| \cdot 2(\boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1})_{ij} = 2|\boldsymbol{Y}| (\boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1})_{ij}\label{eq:7-8-2-14}\end{equation}
分母レイアウトでは、結果の $(i, j)$ 成分は $\dfrac{\partial}{\partial X_{ij}}$ に対応する。したがって行列形式で書くと次のようになる。
\begin{equation}\dfrac{\partial |\boldsymbol{Y}|}{\partial \boldsymbol{X}} = 2|\boldsymbol{Y}| \boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1}\label{eq:7-8-2-15}\end{equation}
$\boldsymbol{Y} = \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}$ を代入して最終結果を得る。
\begin{equation}\dfrac{\partial |\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}|}{\partial \boldsymbol{X}} = 2 |\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}| \boldsymbol{A} \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X})^{-1}\label{eq:7-8-2-16}\end{equation}
7.8.3 $\boldsymbol{X}$ が非正方、$\boldsymbol{A}$ が一般の場合
証明
$\boldsymbol{Y} = \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}$ とおく。$\boldsymbol{Y}$ は $N \times N$ 行列である。
7.4 の Jacobi の公式を用いると次のようになる。
\begin{equation}\dfrac{\partial |\boldsymbol{Y}|}{\partial X_{ij}} = |\boldsymbol{Y}| \text{tr}\left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial X_{ij}} \right)\label{eq:7-8-3-1}\end{equation}
7.8.2 と同様に、$\boldsymbol{Y}$ を $X_{ij}$ で微分すると次のようになる。
\begin{equation}\dfrac{\partial \boldsymbol{Y}}{\partial X_{ij}} = \boldsymbol{e}_j \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} + \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{e}_i \boldsymbol{e}_j^\top\label{eq:7-8-3-2}\end{equation}
トレースの中身を2つの項に分けて計算すると次のようになる。
\begin{equation}\text{tr}\left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial X_{ij}} \right) = \text{tr}\left( \boldsymbol{Y}^{-1} \boldsymbol{e}_j \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} \right) + \text{tr}\left( \boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{e}_i \boldsymbol{e}_j^\top \right)\label{eq:7-8-3-3}\end{equation}
第1項を計算する。トレースの巡回性を用いると次のようになる。
\begin{equation}\text{tr}\left( \boldsymbol{Y}^{-1} \boldsymbol{e}_j \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} \right) = \text{tr}\left( \boldsymbol{e}_i^\top \boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1} \boldsymbol{e}_j \right) = (\boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1})_{ij}\label{eq:7-8-3-4}\end{equation}
第2項を計算する。同様にトレースの巡回性を用いると次のようになる。
\begin{equation}\text{tr}\left( \boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{e}_i \boldsymbol{e}_j^\top \right) = \text{tr}\left( \boldsymbol{e}_j^\top \boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{e}_i \right) = (\boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A})_{ji}\label{eq:7-8-3-5}\end{equation}
\eqref{eq:7-8-3-5}の結果を変形する。$(\boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A})_{ji}$ は行列 $\boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A}$ の転置の $(i, j)$ 成分に等しい。
\begin{equation}(\boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A})_{ji} = ((\boldsymbol{Y}^{-1} \boldsymbol{X}^\top \boldsymbol{A})^\top)_{ij} = (\boldsymbol{A}^\top \boldsymbol{X} \boldsymbol{Y}^{-\top})_{ij}\label{eq:7-8-3-6}\end{equation}
$\boldsymbol{A}$ が一般行列の場合、$\boldsymbol{Y} = \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}$ は対称とは限らない。したがって $\boldsymbol{Y}^{-\top} \neq \boldsymbol{Y}^{-1}$ である。
$\boldsymbol{Y}^\top = (\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X})^\top = \boldsymbol{X}^\top \boldsymbol{A}^\top \boldsymbol{X}$ を計算する。これは $\boldsymbol{A}$ を $\boldsymbol{A}^\top$ で置き換えた形である。
したがって次が成り立つ。
\begin{equation}\boldsymbol{Y}^{-\top} = (\boldsymbol{Y}^\top)^{-1} = (\boldsymbol{X}^\top \boldsymbol{A}^\top \boldsymbol{X})^{-1}\label{eq:7-8-3-7}\end{equation}
\eqref{eq:7-8-3-4}と\eqref{eq:7-8-3-6}を合わせると次のようになる。
\begin{equation}\text{tr}\left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial X_{ij}} \right) = (\boldsymbol{A} \boldsymbol{X} \boldsymbol{Y}^{-1})_{ij} + (\boldsymbol{A}^\top \boldsymbol{X} \boldsymbol{Y}^{-\top})_{ij}\label{eq:7-8-3-8}\end{equation}
\eqref{eq:7-8-3-7}を代入すると次のようになる。
\begin{equation}\text{tr}\left( \boldsymbol{Y}^{-1} \dfrac{\partial \boldsymbol{Y}}{\partial X_{ij}} \right) = (\boldsymbol{A} \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X})^{-1})_{ij} + (\boldsymbol{A}^\top \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{A}^\top \boldsymbol{X})^{-1})_{ij}\label{eq:7-8-3-9}\end{equation}
\eqref{eq:7-8-3-1}に代入して、成分 $X_{ij}$ による微分を得る。
\begin{equation}\dfrac{\partial |\boldsymbol{Y}|}{\partial X_{ij}} = |\boldsymbol{Y}| \left[ (\boldsymbol{A} \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X})^{-1})_{ij} + (\boldsymbol{A}^\top \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{A}^\top \boldsymbol{X})^{-1})_{ij} \right]\label{eq:7-8-3-10}\end{equation}
分母レイアウトで行列形式にまとめると次のようになる。
\begin{equation}\dfrac{\partial |\boldsymbol{Y}|}{\partial \boldsymbol{X}} = |\boldsymbol{Y}| \left( \boldsymbol{A} \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X})^{-1} + \boldsymbol{A}^\top \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{A}^\top \boldsymbol{X})^{-1} \right)\label{eq:7-8-3-11}\end{equation}
$\boldsymbol{Y} = \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}$ を代入して最終結果を得る。
\begin{equation}\dfrac{\partial |\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}|}{\partial \boldsymbol{X}} = |\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X}| \left( \boldsymbol{A} \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X})^{-1} + \boldsymbol{A}^\top \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{A}^\top \boldsymbol{X})^{-1} \right)\label{eq:7-8-3-12}\end{equation}
7.9 Gram行列の対数行列式
7.9.1 $\boldsymbol{X}$ による微分
証明
7.8.2 で $\boldsymbol{A} = \boldsymbol{I}$(単位行列)とおく。$\boldsymbol{I}$ は対称なので 7.8.2 の公式が適用できる。
7.8.2 より次が成り立つ。
\begin{equation}\dfrac{\partial |\boldsymbol{X}^\top \boldsymbol{I} \boldsymbol{X}|}{\partial \boldsymbol{X}} = 2 |\boldsymbol{X}^\top \boldsymbol{I} \boldsymbol{X}| \boldsymbol{I} \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{I} \boldsymbol{X})^{-1}\label{eq:7-9-1-1}\end{equation}
$\boldsymbol{I} \boldsymbol{X} = \boldsymbol{X}$、$\boldsymbol{X}^\top \boldsymbol{I} \boldsymbol{X} = \boldsymbol{X}^\top \boldsymbol{X}$ を代入すると次のようになる。
\begin{equation}\dfrac{\partial |\boldsymbol{X}^\top \boldsymbol{X}|}{\partial \boldsymbol{X}} = 2 |\boldsymbol{X}^\top \boldsymbol{X}| \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-1}\label{eq:7-9-1-2}\end{equation}
$\log |\boldsymbol{X}^\top \boldsymbol{X}|$ を $\boldsymbol{X}$ で微分するために、連鎖律を適用する。外側の関数が $\log$、内側の関数が $|\boldsymbol{X}^\top \boldsymbol{X}|$ である。
連鎖律を書き下す。$f(u) = \log(u)$、$g(\boldsymbol{X}) = |\boldsymbol{X}^\top \boldsymbol{X}|$ として次が成り立つ。
\begin{equation}\dfrac{\partial \log |\boldsymbol{X}^\top \boldsymbol{X}|}{\partial \boldsymbol{X}} = \dfrac{1}{|\boldsymbol{X}^\top \boldsymbol{X}|} \dfrac{\partial |\boldsymbol{X}^\top \boldsymbol{X}|}{\partial \boldsymbol{X}}\label{eq:7-9-1-3}\end{equation}
\eqref{eq:7-9-1-2}の結果を\eqref{eq:7-9-1-3}に代入すると次のようになる。
\begin{equation}\dfrac{\partial \log |\boldsymbol{X}^\top \boldsymbol{X}|}{\partial \boldsymbol{X}} = \dfrac{1}{|\boldsymbol{X}^\top \boldsymbol{X}|} \cdot 2 |\boldsymbol{X}^\top \boldsymbol{X}| \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-1}\label{eq:7-9-1-4}\end{equation}
$\dfrac{1}{|\boldsymbol{X}^\top \boldsymbol{X}|}$ と $|\boldsymbol{X}^\top \boldsymbol{X}|$ が打ち消し合う。
\begin{equation}\dfrac{\partial \log |\boldsymbol{X}^\top \boldsymbol{X}|}{\partial \boldsymbol{X}} = 2 \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-1}\label{eq:7-9-1-5}\end{equation}
ムーア・ペンローズ擬似逆行列との関係を導く。$\boldsymbol{X}$ がフルランク($\text{rank}(\boldsymbol{X}) = N$)のとき、左逆行列は次のように定義される。
\begin{equation}\boldsymbol{X}^{+} = (\boldsymbol{X}^\top \boldsymbol{X})^{-1} \boldsymbol{X}^\top\label{eq:7-9-1-6}\end{equation}
$\boldsymbol{X}^{+}$ の転置を計算する。積の転置は $(\boldsymbol{P}\boldsymbol{Q})^\top = \boldsymbol{Q}^\top \boldsymbol{P}^\top$ であるので、次のようになる。
\begin{equation}(\boldsymbol{X}^{+})^\top = ((\boldsymbol{X}^\top \boldsymbol{X})^{-1} \boldsymbol{X}^\top)^\top = (\boldsymbol{X}^\top)^\top ((\boldsymbol{X}^\top \boldsymbol{X})^{-1})^\top\label{eq:7-9-1-7}\end{equation}
$(\boldsymbol{X}^\top)^\top = \boldsymbol{X}$ である。また $\boldsymbol{X}^\top \boldsymbol{X}$ は対称行列なので、その逆行列も対称である。したがって $((\boldsymbol{X}^\top \boldsymbol{X})^{-1})^\top = (\boldsymbol{X}^\top \boldsymbol{X})^{-1}$ となる。
\eqref{eq:7-9-1-7}とこれらの性質を組み合わせると次が得られる。
\begin{equation}(\boldsymbol{X}^{+})^\top = \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-1}\label{eq:7-9-1-8}\end{equation}
\eqref{eq:7-9-1-5}と\eqref{eq:7-9-1-8}を比較すると、最終結果を得る。
\begin{equation}\dfrac{\partial \log |\boldsymbol{X}^\top \boldsymbol{X}|}{\partial \boldsymbol{X}} = 2 \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-1} = 2 (\boldsymbol{X}^{+})^\top\label{eq:7-9-1-9}\end{equation}
7.9.2 擬似逆行列 $\boldsymbol{X}^{+}$ による微分
証明
$|\boldsymbol{X}^\top \boldsymbol{X}|$ と $|\boldsymbol{X}^{+}|$ の関係を導く。$\boldsymbol{X}^{+} = (\boldsymbol{X}^\top \boldsymbol{X})^{-1} \boldsymbol{X}^\top$ の行列式を計算する。
$\boldsymbol{X}^{+}$ は $N \times M$ 行列なので、$N \neq M$ の場合は正方行列ではなく、通常の行列式は定義されない。そこで $(\boldsymbol{X}^{+})^\top \boldsymbol{X}^{+}$ を考える。
7.9.1 の\eqref{eq:7-9-1-8}より $(\boldsymbol{X}^{+})^\top = \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-1}$ である。
$(\boldsymbol{X}^{+})^\top \boldsymbol{X}^{+}$ を計算すると次のようになる。
\begin{equation}(\boldsymbol{X}^{+})^\top \boldsymbol{X}^{+} = \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-1} \cdot (\boldsymbol{X}^\top \boldsymbol{X})^{-1} \boldsymbol{X}^\top\label{eq:7-9-2-1}\end{equation}
$(\boldsymbol{X}^\top \boldsymbol{X})^{-1} \cdot (\boldsymbol{X}^\top \boldsymbol{X})^{-1} = ((\boldsymbol{X}^\top \boldsymbol{X})^{-1})^2 = (\boldsymbol{X}^\top \boldsymbol{X})^{-2}$ であるので、次のようになる。
\begin{equation}(\boldsymbol{X}^{+})^\top \boldsymbol{X}^{+} = \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-2} \boldsymbol{X}^\top\label{eq:7-9-2-2}\end{equation}
一方、$\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top$ を計算すると次のようになる。
\begin{equation}\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top = (\boldsymbol{X}^\top \boldsymbol{X})^{-1} \boldsymbol{X}^\top \cdot \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-1}\label{eq:7-9-2-3}\end{equation}
$\boldsymbol{X}^\top \boldsymbol{X}$ と $(\boldsymbol{X}^\top \boldsymbol{X})^{-1}$ が隣り合っている部分を簡約すると次のようになる。
\begin{equation}\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top = (\boldsymbol{X}^\top \boldsymbol{X})^{-1} \cdot \boldsymbol{X}^\top \boldsymbol{X} \cdot (\boldsymbol{X}^\top \boldsymbol{X})^{-1} = (\boldsymbol{X}^\top \boldsymbol{X})^{-1}\label{eq:7-9-2-4}\end{equation}
\eqref{eq:7-9-2-4}の両辺の行列式をとる。$\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top$ は $N \times N$ 正方行列である。
\begin{equation}|\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top| = |(\boldsymbol{X}^\top \boldsymbol{X})^{-1}|\label{eq:7-9-2-5}\end{equation}
逆行列の行列式は元の行列式の逆数である。すなわち $|(\boldsymbol{X}^\top \boldsymbol{X})^{-1}| = \dfrac{1}{|\boldsymbol{X}^\top \boldsymbol{X}|}$ である。
両辺の対数をとると次のようになる。
\begin{equation}\log |\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top| = \log \dfrac{1}{|\boldsymbol{X}^\top \boldsymbol{X}|} = -\log |\boldsymbol{X}^\top \boldsymbol{X}|\label{eq:7-9-2-6}\end{equation}
したがって次の関係が成り立つ。
\begin{equation}\log |\boldsymbol{X}^\top \boldsymbol{X}| = -\log |\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top|\label{eq:7-9-2-7}\end{equation}
$\boldsymbol{X}^{+}$ による微分を考える。$\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top$ を $\boldsymbol{X}^{+}$ の関数として見ると、これは 7.9.1 と同様の形 $\boldsymbol{Y}^\top \boldsymbol{Y}$($\boldsymbol{Y} = (\boldsymbol{X}^{+})^\top$)である。
7.9.1 より、$\dfrac{\partial \log |\boldsymbol{Y}^\top \boldsymbol{Y}|}{\partial \boldsymbol{Y}} = 2 \boldsymbol{Y} (\boldsymbol{Y}^\top \boldsymbol{Y})^{-1}$ である。
$\boldsymbol{Y} = (\boldsymbol{X}^{+})^\top$ と置くと、$\boldsymbol{Y}^\top = \boldsymbol{X}^{+}$ なので $\boldsymbol{Y}^\top \boldsymbol{Y} = \boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top$ である。
\eqref{eq:7-9-2-7}より、連鎖律を適用すると次のようになる。
\begin{equation}\dfrac{\partial \log |\boldsymbol{X}^\top \boldsymbol{X}|}{\partial \boldsymbol{X}^{+}} = -\dfrac{\partial \log |\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top|}{\partial \boldsymbol{X}^{+}}\label{eq:7-9-2-8}\end{equation}
$\log |\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top|$ を $\boldsymbol{X}^{+}$ で微分する。\eqref{eq:7-9-2-4}より $\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top = (\boldsymbol{X}^\top \boldsymbol{X})^{-1}$ であり、7.2 と同様の計算により次を得る。
\begin{equation}\dfrac{\partial \log |\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top|}{\partial \boldsymbol{X}^{+}} = 2 (\boldsymbol{X}^{+})^\top (\boldsymbol{X}^{+} (\boldsymbol{X}^{+})^\top)^{-1} = 2 (\boldsymbol{X}^{+})^\top (\boldsymbol{X}^\top \boldsymbol{X})\label{eq:7-9-2-9}\end{equation}
7.9.1 の\eqref{eq:7-9-1-8}より $(\boldsymbol{X}^{+})^\top = \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-1}$ を代入すると次のようになる。
\begin{equation}2 (\boldsymbol{X}^{+})^\top (\boldsymbol{X}^\top \boldsymbol{X}) = 2 \boldsymbol{X} (\boldsymbol{X}^\top \boldsymbol{X})^{-1} (\boldsymbol{X}^\top \boldsymbol{X}) = 2 \boldsymbol{X}\label{eq:7-9-2-10}\end{equation}
\eqref{eq:7-9-2-8}に代入すると次のようになる。
\begin{equation}\dfrac{\partial \log |\boldsymbol{X}^\top \boldsymbol{X}|}{\partial \boldsymbol{X}^{+}} = -2 \boldsymbol{X}\label{eq:7-9-2-11}\end{equation}
分母レイアウトでは、結果は微分される変数と同じ形状をもつ。$\boldsymbol{X}^{+}$ は $N \times M$ なので、結果も $N \times M$ である必要がある。$\boldsymbol{X}$ は $M \times N$ なので、転置して最終結果を得る。
\begin{equation}\dfrac{\partial \log |\boldsymbol{X}^\top \boldsymbol{X}|}{\partial \boldsymbol{X}^{+}} = -2 \boldsymbol{X}^\top\label{eq:7-9-2-12}\end{equation}
7.10 対数絶対行列式 $\log |\det(\boldsymbol{X})|$ の微分
証明
行列式の符号で場合分けする。正則行列 $\boldsymbol{X}$ に対して、$\det(\boldsymbol{X}) > 0$ または $\det(\boldsymbol{X}) < 0$ のいずれかである($\det(\boldsymbol{X}) = 0$ は正則性に反する)。
Case 1: $\det(\boldsymbol{X}) > 0$ の場合
$|\det(\boldsymbol{X})| = \det(\boldsymbol{X})$ なので、次が成り立つ。
\begin{equation}\log |\det(\boldsymbol{X})| = \log \det(\boldsymbol{X})\label{eq:7-10-1}\end{equation}
7.2 より、$\log \det(\boldsymbol{X})$ の微分は次のようになる。
\begin{equation}\dfrac{\partial \log \det(\boldsymbol{X})}{\partial \boldsymbol{X}} = \boldsymbol{X}^{-\top}\label{eq:7-10-2}\end{equation}
したがって、$\det(\boldsymbol{X}) > 0$ のとき次が成り立つ。
\begin{equation}\dfrac{\partial \log |\det(\boldsymbol{X})|}{\partial \boldsymbol{X}} = \boldsymbol{X}^{-\top}\label{eq:7-10-3}\end{equation}
Case 2: $\det(\boldsymbol{X}) < 0$ の場合
$|\det(\boldsymbol{X})| = -\det(\boldsymbol{X})$ なので、次が成り立つ。
\begin{equation}\log |\det(\boldsymbol{X})| = \log(-\det(\boldsymbol{X}))\label{eq:7-10-4}\end{equation}
$\log(-\det(\boldsymbol{X}))$ を $\boldsymbol{X}$ で微分する。これは合成関数なので連鎖律を適用する。外側の関数が $\log$、内側の関数が $-\det(\boldsymbol{X})$ である。
外側の関数 $f(u) = \log(u)$ の微分は $f'(u) = \dfrac{1}{u}$ である。$u = -\det(\boldsymbol{X})$ を代入すると次のようになる。
\begin{equation}f'(-\det(\boldsymbol{X})) = \dfrac{1}{-\det(\boldsymbol{X})}\label{eq:7-10-5}\end{equation}
内側の関数 $g(\boldsymbol{X}) = -\det(\boldsymbol{X})$ の微分を計算する。7.1 より $\dfrac{\partial \det(\boldsymbol{X})}{\partial \boldsymbol{X}} = \det(\boldsymbol{X}) \boldsymbol{X}^{-\top}$ なので、次が成り立つ。
\begin{equation}\dfrac{\partial (-\det(\boldsymbol{X}))}{\partial \boldsymbol{X}} = -\det(\boldsymbol{X}) \boldsymbol{X}^{-\top}\label{eq:7-10-6}\end{equation}
連鎖律を適用する。\eqref{eq:7-10-5}と\eqref{eq:7-10-6}を掛け合わせると次のようになる。
\begin{equation}\dfrac{\partial \log(-\det(\boldsymbol{X}))}{\partial \boldsymbol{X}} = \dfrac{1}{-\det(\boldsymbol{X})} \cdot (-\det(\boldsymbol{X}) \boldsymbol{X}^{-\top})\label{eq:7-10-7}\end{equation}
$\dfrac{1}{-\det(\boldsymbol{X})}$ と $(-\det(\boldsymbol{X}))$ が打ち消し合い、次のようになる。
\begin{equation}\dfrac{\partial \log(-\det(\boldsymbol{X}))}{\partial \boldsymbol{X}} = \boldsymbol{X}^{-\top}\label{eq:7-10-8}\end{equation}
したがって、$\det(\boldsymbol{X}) < 0$ のときも次が成り立つ。
\begin{equation}\dfrac{\partial \log |\det(\boldsymbol{X})|}{\partial \boldsymbol{X}} = \boldsymbol{X}^{-\top}\label{eq:7-10-9}\end{equation}
\eqref{eq:7-10-3}と\eqref{eq:7-10-9}を合わせると、$\det(\boldsymbol{X}) \neq 0$ であれば行列式の符号によらず、常に同じ結果を得る。
\begin{equation}\dfrac{\partial \log |\det(\boldsymbol{X})|}{\partial \boldsymbol{X}} = \boldsymbol{X}^{-\top}\label{eq:7-10-10}\end{equation}
7.11 行列式補題(低ランク更新の行列式)
証明
まず Sylvester の行列式恒等式 $\det(\boldsymbol{I}_N + \boldsymbol{P}\boldsymbol{Q}^\top) = \det(\boldsymbol{I}_k + \boldsymbol{Q}^\top \boldsymbol{P})$($\boldsymbol{P}, \boldsymbol{Q} \in \mathbb{R}^{N \times k}$)を、ブロック行列の行列式から示す。次のブロック行列を考える。
\begin{equation}\boldsymbol{M} = \begin{pmatrix} \boldsymbol{I}_N & -\boldsymbol{P} \\ \boldsymbol{Q}^\top & \boldsymbol{I}_k \end{pmatrix}\label{eq:7-11-1}\end{equation}
左上ブロック $\boldsymbol{I}_N$ を基準に Schur 補行列を用いて行列式を計算する。ブロック行列の公式 $\det\begin{pmatrix}\boldsymbol{P}_{11} & \boldsymbol{P}_{12}\\ \boldsymbol{P}_{21} & \boldsymbol{P}_{22}\end{pmatrix} = \det(\boldsymbol{P}_{11})\,\det(\boldsymbol{P}_{22} - \boldsymbol{P}_{21}\boldsymbol{P}_{11}^{-1}\boldsymbol{P}_{12})$ を適用すると次のようになる。
\begin{equation}\det(\boldsymbol{M}) = \det(\boldsymbol{I}_N)\,\det\!\left(\boldsymbol{I}_k - \boldsymbol{Q}^\top \boldsymbol{I}_N^{-1}(-\boldsymbol{P})\right) = \det(\boldsymbol{I}_k + \boldsymbol{Q}^\top \boldsymbol{P})\label{eq:7-11-2}\end{equation}
次に右下ブロック $\boldsymbol{I}_k$ を基準に Schur 補行列を用いて計算する。
\begin{equation}\det(\boldsymbol{M}) = \det(\boldsymbol{I}_k)\,\det\!\left(\boldsymbol{I}_N - (-\boldsymbol{P})\boldsymbol{I}_k^{-1}\boldsymbol{Q}^\top\right) = \det(\boldsymbol{I}_N + \boldsymbol{P}\boldsymbol{Q}^\top)\label{eq:7-11-3}\end{equation}
\eqref{eq:7-11-2}と\eqref{eq:7-11-3}は同一の $\det(\boldsymbol{M})$ を表すので、Sylvester の恒等式が得られる。
\begin{equation}\det(\boldsymbol{I}_N + \boldsymbol{P}\boldsymbol{Q}^\top) = \det(\boldsymbol{I}_k + \boldsymbol{Q}^\top \boldsymbol{P})\label{eq:7-11-4}\end{equation}
一般の正則行列 $\boldsymbol{A}$ の場合を導く。$\boldsymbol{A}$ を括り出す。
\begin{equation}\boldsymbol{A} + \boldsymbol{U}\boldsymbol{V}^\top = \boldsymbol{A}\left(\boldsymbol{I}_N + \boldsymbol{A}^{-1}\boldsymbol{U}\boldsymbol{V}^\top\right)\label{eq:7-11-5}\end{equation}
行列式の積の性質(1.14)$\det(\boldsymbol{A}\boldsymbol{B}) = \det(\boldsymbol{A})\det(\boldsymbol{B})$ を用いる。
\begin{equation}\det(\boldsymbol{A} + \boldsymbol{U}\boldsymbol{V}^\top) = \det(\boldsymbol{A})\,\det\!\left(\boldsymbol{I}_N + (\boldsymbol{A}^{-1}\boldsymbol{U})\boldsymbol{V}^\top\right)\label{eq:7-11-6}\end{equation}
\eqref{eq:7-11-4}で $\boldsymbol{P} = \boldsymbol{A}^{-1}\boldsymbol{U}$、$\boldsymbol{Q} = \boldsymbol{V}$ とおくと次を得る。
\begin{equation}\det\!\left(\boldsymbol{I}_N + (\boldsymbol{A}^{-1}\boldsymbol{U})\boldsymbol{V}^\top\right) = \det\!\left(\boldsymbol{I}_k + \boldsymbol{V}^\top \boldsymbol{A}^{-1}\boldsymbol{U}\right)\label{eq:7-11-7}\end{equation}
\eqref{eq:7-11-6}に代入して最終結果を得る。
\begin{equation}\det(\boldsymbol{A} + \boldsymbol{U}\boldsymbol{V}^\top) = \det(\boldsymbol{A})\,\det\!\left(\boldsymbol{I}_k + \boldsymbol{V}^\top \boldsymbol{A}^{-1}\boldsymbol{U}\right)\label{eq:7-11-8}\end{equation}
ランク1($k = 1$、$\boldsymbol{U} = \boldsymbol{u}$、$\boldsymbol{V} = \boldsymbol{v}$)では $\boldsymbol{V}^\top \boldsymbol{A}^{-1}\boldsymbol{U}$ がスカラになり、$\det(1 + \boldsymbol{v}^\top \boldsymbol{A}^{-1}\boldsymbol{u}) = 1 + \boldsymbol{v}^\top \boldsymbol{A}^{-1}\boldsymbol{u}$ となる。また\eqref{eq:7-11-8}の両辺の対数をとれば対数形が従う。
7.12 変数変換と正規化フローの対数ヤコビアン
証明
可逆変換のもとでの確率密度の変換則を確認する。$\boldsymbol{z} = \boldsymbol{f}(\boldsymbol{x})$ が全単射のとき、確率の保存 $p_{\boldsymbol{x}}(\boldsymbol{x})\,d\boldsymbol{x} = p_{\boldsymbol{z}}(\boldsymbol{z})\,d\boldsymbol{z}$ と体積要素の関係 $d\boldsymbol{z} = |\det \boldsymbol{J}_{\boldsymbol{f}}(\boldsymbol{x})|\,d\boldsymbol{x}$ から次が成り立つ。
\begin{equation}p_{\boldsymbol{x}}(\boldsymbol{x}) = p_{\boldsymbol{z}}(\boldsymbol{f}(\boldsymbol{x}))\,\left|\det \boldsymbol{J}_{\boldsymbol{f}}(\boldsymbol{x})\right|\label{eq:7-12-1}\end{equation}
両辺の対数をとる。積の対数は和になる。
\begin{equation}\log p_{\boldsymbol{x}}(\boldsymbol{x}) = \log p_{\boldsymbol{z}}(\boldsymbol{f}(\boldsymbol{x})) + \log\left|\det \boldsymbol{J}_{\boldsymbol{f}}(\boldsymbol{x})\right|\label{eq:7-12-2}\end{equation}
この対数ヤコビアン項を $\boldsymbol{f}$ のパラメータで微分するとき、$\log|\det|$ の微分公式(7.10)$\dfrac{\partial \log|\det \boldsymbol{X}|}{\partial \boldsymbol{X}} = \boldsymbol{X}^{-\top}$ が基礎になる。
合成変換のヤコビアンを求める。中間変数を $\boldsymbol{h}_0 = \boldsymbol{x}$、$\boldsymbol{h}_l = \boldsymbol{f}_l(\boldsymbol{h}_{l-1})$ とおくと、$\boldsymbol{f} = \boldsymbol{f}_L \circ \cdots \circ \boldsymbol{f}_1$ に連鎖律を適用してヤコビ行列は各層のヤコビ行列の積になる。
\begin{equation}\boldsymbol{J}_{\boldsymbol{f}}(\boldsymbol{x}) = \boldsymbol{J}_{\boldsymbol{f}_L}(\boldsymbol{h}_{L-1}) \cdots \boldsymbol{J}_{\boldsymbol{f}_1}(\boldsymbol{h}_0)\label{eq:7-12-3}\end{equation}
行列式の積の性質(1.14)より、積の行列式は行列式の積である。
\begin{equation}\det \boldsymbol{J}_{\boldsymbol{f}} = \displaystyle\prod_{l=1}^{L} \det \boldsymbol{J}_{\boldsymbol{f}_l}\label{eq:7-12-4}\end{equation}
絶対値をとって対数をとると、積が和に分解される。
\begin{equation}\log\left|\det \boldsymbol{J}_{\boldsymbol{f}}\right| = \displaystyle\sum_{l=1}^{L} \log\left|\det \boldsymbol{J}_{\boldsymbol{f}_l}\right|\label{eq:7-12-5}\end{equation}
各層のヤコビアンが三角行列の場合を考える。カップリング層や自己回帰変換では、出力の第 $i$ 成分が入力のうち添字 $i$ 以下(または以上)にしか依存しないよう設計され、ヤコビ行列 $\boldsymbol{J}_{\boldsymbol{f}_l}$ が三角行列になる。三角行列の行列式は対角成分の積に等しい。
\begin{equation}\det \boldsymbol{J}_{\boldsymbol{f}_l} = \displaystyle\prod_{i=1}^{N} \left(\boldsymbol{J}_{\boldsymbol{f}_l}\right)_{ii}\label{eq:7-12-6}\end{equation}
絶対値の対数をとると、$O(N^3)$ の行列式計算が $N$ 個の対角成分の対数和に帰着する。
\begin{equation}\log\left|\det \boldsymbol{J}_{\boldsymbol{f}_l}\right| = \displaystyle\sum_{i=1}^{N} \log\left|\left(\boldsymbol{J}_{\boldsymbol{f}_l}\right)_{ii}\right|\label{eq:7-12-7}\end{equation}
7.13 対数行列式の2階微分(ヘッセ行列)
証明
1階微分から出発する。7.4 の Jacobi の公式の対数版より、対数行列式のスカラ微分は次のようになる。
\begin{equation}\dfrac{\partial \log\det(\boldsymbol{Y})}{\partial x} = \operatorname{tr}\!\left(\boldsymbol{Y}^{-1}\boldsymbol{Y}'\right)\label{eq:7-13-1}\end{equation}
この式を $x$ でもう一度微分する。トレースの線形性(1.11)より微分とトレースは交換でき、トレースの中身の積 $\boldsymbol{Y}^{-1}\boldsymbol{Y}'$ に積の微分公式(1.25)を適用する。
\begin{equation}\dfrac{\partial^2 \log\det(\boldsymbol{Y})}{\partial x^2} = \operatorname{tr}\!\left(\dfrac{d\boldsymbol{Y}^{-1}}{dx}\boldsymbol{Y}' + \boldsymbol{Y}^{-1}\boldsymbol{Y}''\right)\label{eq:7-13-2}\end{equation}
逆行列のスカラ微分(8.1.0)$\dfrac{d\boldsymbol{Y}^{-1}}{dx} = -\boldsymbol{Y}^{-1}\boldsymbol{Y}'\boldsymbol{Y}^{-1}$ を代入する。
\begin{equation}\dfrac{\partial^2 \log\det(\boldsymbol{Y})}{\partial x^2} = \operatorname{tr}\!\left(-\boldsymbol{Y}^{-1}\boldsymbol{Y}'\boldsymbol{Y}^{-1}\boldsymbol{Y}' + \boldsymbol{Y}^{-1}\boldsymbol{Y}''\right)\label{eq:7-13-3}\end{equation}
トレースの線形性で2項に分け、$\boldsymbol{Y}^{-1}\boldsymbol{Y}'\boldsymbol{Y}^{-1}\boldsymbol{Y}' = (\boldsymbol{Y}^{-1}\boldsymbol{Y}')^2$ とまとめると最終結果を得る。
\begin{equation}\dfrac{\partial^2 \log\det(\boldsymbol{Y})}{\partial x^2} = \operatorname{tr}\!\left(\boldsymbol{Y}^{-1}\boldsymbol{Y}''\right) - \operatorname{tr}\!\left((\boldsymbol{Y}^{-1}\boldsymbol{Y}')^2\right)\label{eq:7-13-4}\end{equation}
次に行列 $\boldsymbol{X}$ を直接の変数とするヘッセ形式を求める。方向 $\boldsymbol{H}$ に沿う直線 $\boldsymbol{X} + t\boldsymbol{H}$ を考えると、$\boldsymbol{Y}(t) = \boldsymbol{X} + t\boldsymbol{H}$、$\boldsymbol{Y}' = \boldsymbol{H}$、$\boldsymbol{Y}'' = \boldsymbol{0}$ である。\eqref{eq:7-13-4}に代入し $t = 0$ とおくと次を得る。
\begin{equation}D^2\log\det(\boldsymbol{X})[\boldsymbol{H}, \boldsymbol{H}] = -\operatorname{tr}\!\left((\boldsymbol{X}^{-1}\boldsymbol{H})^2\right)\label{eq:7-13-5}\end{equation}
ヘッセ作用素を線形写像として表す。勾配 $\dfrac{\partial \log\det(\boldsymbol{X})}{\partial \boldsymbol{X}} = \boldsymbol{X}^{-\top}$(7.2)を微分すると、方向 $\boldsymbol{H}$ を次のように写す線形写像が得られる。
\begin{equation}\boldsymbol{H} \longmapsto \dfrac{\partial}{\partial t}\Big|_{t=0}(\boldsymbol{X}+t\boldsymbol{H})^{-\top} = -\boldsymbol{X}^{-\top}\boldsymbol{H}^\top\boldsymbol{X}^{-\top}\label{eq:7-13-6}\end{equation}
ベクトル化すると、可換行列(13.6)$\boldsymbol{K}$ を用いて $-(\boldsymbol{X}^{-1}\otimes\boldsymbol{X}^{-\top})\boldsymbol{K}$ と表せる。
まとめ
本章で証明した行列式まわりの微分公式を以下にまとめる。
| 節 | 結果 |
|---|---|
| 7.1 | $\displaystyle\frac{\partial}{\partial \boldsymbol{X}} |\boldsymbol{X}| = |\boldsymbol{X}|\,\boldsymbol{X}^{-\top}$ |
| 7.2 | $\displaystyle\frac{\partial}{\partial \boldsymbol{X}} \log|\boldsymbol{X}| = \boldsymbol{X}^{-\top}$ |
| 7.4 | Jacobi の公式:$d(\det \boldsymbol{X}) = \det \boldsymbol{X} \cdot \operatorname{tr}(\boldsymbol{X}^{-1} d\boldsymbol{X})$ |
| 7.5 | 行列式の成分微分は余因子に等しい |
| 7.10 | $\log|\det(\boldsymbol{X})|$ の微分。$\det \boldsymbol{X} < 0$ でも $\boldsymbol{X}^{-\top}$ が得られる |
| 7.11 | 行列式補題(低ランク更新の行列式) |
| 7.12 | 変数変換と正規化フローの対数ヤコビアン |
| 7.13 | $\log\det(\boldsymbol{X})$ の2階微分(ヘッセ行列) |
押さえておきたい点
- 証明の軸は余因子展開と逆行列の関係である。$\partial |\boldsymbol{X}| / \partial X_{ij}$ が余因子に等しいことから、$|\boldsymbol{X}|\,\boldsymbol{X}^{-\top}$ という形が出る。7.1 が本章の他の結果のほとんどの出発点になっている。
- 実務で最も使うのは 7.2 の $\partial \log|\boldsymbol{X}| / \partial \boldsymbol{X} = \boldsymbol{X}^{-\top}$ である。共分散行列の最尤推定や混合ガウスモデル(GMM)のパラメータ推定に直接現れる。
- $\det \boldsymbol{X} < 0$ になりうる場面では 7.2 をそのまま使えない。絶対値をとった 7.10 を用いる。
- 7.13 より $\log\det(\boldsymbol{X})$ は正定値錐上で狭義凹であり、$-\log\det(\boldsymbol{X})$ は凸になる。これが半正定値計画(SDP)の内点法で使う自己整合的バリア関数の基礎である。
参考文献
- Petersen, K. B., & Pedersen, M. S. (2012). The Matrix Cookbook. Technical University of Denmark.
- Magnus, J. R., & Neudecker, H. (1999). Matrix Differential Calculus with Applications in Statistics and Econometrics (Revised ed.). Wiley.
- Murray, I. (2016). Differentiation of the Cholesky decomposition. arXiv:1602.07527.
- Absil, P.-A., Mahony, R., & Sepulchre, R. (2008). Optimization Algorithms on Matrix Manifolds. Princeton University Press.
- Boyd, S., & Vandenberghe, L. (2004). Convex Optimization. Cambridge University Press.($-\log\det$ バリア関数と凹性)
- Rezende, D. J., & Mohamed, S. (2015). Variational Inference with Normalizing Flows. ICML. arXiv:1505.05770.
- Matrix calculus - Wikipedia
よくある質問
行列式 $\det(\boldsymbol{X})$ の行列微分の公式は?
正則行列 $\boldsymbol{X}$ に対して $\dfrac{\partial \det(\boldsymbol{X})}{\partial \boldsymbol{X}} = \det(\boldsymbol{X})\,\boldsymbol{X}^{-\top}$ である。余因子展開から各成分の偏微分が余因子に等しいことを示し、余因子行列と逆行列の関係 $\text{adj}(\boldsymbol{X}) = \det(\boldsymbol{X})\,\boldsymbol{X}^{-1}$ を用いて導出する(7.1)。
対数行列式 $\log\det(\boldsymbol{X})$ の微分はなぜ $\boldsymbol{X}^{-\top}$ になるのか?
$\log\det(\boldsymbol{X})$ は合成関数なので連鎖律を適用する。外側の $\log$ の微分 $1/\det(\boldsymbol{X})$ と内側の $\det(\boldsymbol{X})$ の微分 $\det(\boldsymbol{X})\,\boldsymbol{X}^{-\top}$ を掛け合わせると $\det(\boldsymbol{X})$ が打ち消し合い、$\dfrac{\partial \log\det(\boldsymbol{X})}{\partial \boldsymbol{X}} = \boldsymbol{X}^{-\top}$ となる(7.2)。
Jacobi の公式(行列式のスカラ微分)とは?
スカラ $x$ に依存する正則行列 $\boldsymbol{Y}(x)$ に対して $\dfrac{\partial \det(\boldsymbol{Y})}{\partial x} = \det(\boldsymbol{Y})\,\text{tr}\!\left(\boldsymbol{Y}^{-1}\dfrac{\partial \boldsymbol{Y}}{\partial x}\right)$ が成り立つ。多変数連鎖律で各成分の寄与を足し合わせ、余因子と逆行列の関係からトレースの形にまとめて導出する。共分散行列の最尤推定などで頻出する(7.4)。
$\log|\det(\boldsymbol{X})|$(絶対値付き)の微分は $\det$ の符号に依存するか?
依存しない。$\det(\boldsymbol{X}) > 0$ でも $\det(\boldsymbol{X}) < 0$ でも $\dfrac{\partial \log|\det(\boldsymbol{X})|}{\partial \boldsymbol{X}} = \boldsymbol{X}^{-\top}$ となる。負号が対数の微分と相殺するためで、正規化フローなど $\det$ の符号が不定な場面で重要である(7.10)。
積の行列式 $|\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}|$ の微分で定数行列 $\boldsymbol{A}, \boldsymbol{B}$ はどう影響するか?
$\det(\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}) = \det(\boldsymbol{A})\det(\boldsymbol{X})\det(\boldsymbol{B})$ と分解でき、定数 $\det(\boldsymbol{A})$ と $\det(\boldsymbol{B})$ は微分の外に出せる。結果として $\dfrac{\partial |\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}|}{\partial \boldsymbol{X}} = |\boldsymbol{A}\boldsymbol{X}\boldsymbol{B}|\,\boldsymbol{X}^{-\top}$ となり、$\boldsymbol{A}=\boldsymbol{B}=\boldsymbol{I}$ の場合の公式 7.1 に一致する。
行列式補題(低ランク更新)は何の役に立つのか?
$\det(\boldsymbol{A} + \boldsymbol{U}\boldsymbol{V}^\top) = \det(\boldsymbol{A})\det(\boldsymbol{I}_k + \boldsymbol{V}^\top \boldsymbol{A}^{-1}\boldsymbol{U})$ により、$N \times N$ 行列式の評価を(更新の階数)$k \times k$ の小さな行列式に帰着できる。$k \ll N$ のとき $\log\det$ とその勾配を大幅に高速化でき、ベイズ線形回帰・ガウス過程の誘導点近似・カルマンフィルタで用いられる。逆行列に対する Sherman–Morrison–Woodbury 公式の行列式版である(7.11)。
正規化フローの学習で行列式の微分はどう使われるのか?
可逆変換 $\boldsymbol{z}=\boldsymbol{f}(\boldsymbol{x})$ の対数尤度は $\log p_{\boldsymbol{x}}(\boldsymbol{x}) = \log p_{\boldsymbol{z}}(\boldsymbol{f}(\boldsymbol{x})) + \log|\det \boldsymbol{J}_{\boldsymbol{f}}|$ となり、この対数ヤコビアン項の勾配計算が学習の中心になる。カップリング層や自己回帰変換ではヤコビ行列を三角にして $\log|\det|$ を対角成分の対数和に落とし、$O(N^3)$ を回避する(7.12)。
$-\log\det(\boldsymbol{X})$ が凸関数になるのはなぜか?
対数行列式の方向 $\boldsymbol{H}$ に対する2階微分が $D^2\log\det(\boldsymbol{X})[\boldsymbol{H},\boldsymbol{H}] = -\operatorname{tr}((\boldsymbol{X}^{-1}\boldsymbol{H})^2)$ となり、$\boldsymbol{X}$ が対称正定値なら常に負である。よって $\log\det$ は正定値錐上で狭義凹、$-\log\det$ は凸となる。これが半正定値計画の内点法で使う自己整合的バリア関数の基礎である(7.13)。
読んだ内容を記録し、エビングハウスの忘却曲線に基づいて最適なタイミングで復習することで長期記憶に定着させる、無料の読書記録アプリ 読書の森。