証明集 第8章: 逆行列の微分

Proofs Chapter 8: Derivatives of Matrix Inverse

本章では逆行列の微分を証明する。逆行列の微分はカルマンフィルタのゲイン行列の導出、 一般化最小二乗法(GLS)の推定量の分散計算、ベイズ推論における事後精度行列の更新など、 応用数学と統計学の広範な領域で必要とされる。 AA⁻¹ = I の両辺を微分する基本的なアプローチから出発し、 逆行列のスカラ微分および成分微分の公式を導出する。

前提知識: 第4章(行列微分の基本公式)第7章(行列式の微分)本章の結果を用いる章: 第9章(固有値の微分)第15章(特殊行列の微分)

8. 逆行列の微分

本章の前提条件
本章の公式は、特に断りのない限り、以下の条件下で成立する:
  • すべての公式は分母レイアウト(denominator layout)に基づく
  • 行列 $\boldsymbol{Y}$ は正則($\det \boldsymbol{Y} \neq 0$)であり、微分は正則性が保たれる開集合上で定義される
  • 疑似逆行列を含む公式では、フルランク条件が必要
  • 添字は 0 始まり($i, j, k = 0, 1, \dots, N-1$)を採用している。C/C++ 等の実装と直接対応させるためである

8.1.0 逆行列のスカラ微分(基礎)

公式:$\displaystyle\frac{\partial \boldsymbol{Y}^{-1}}{\partial x} = - \boldsymbol{Y}^{-1} \displaystyle\frac{\partial \boldsymbol{Y}}{\partial x} \boldsymbol{Y}^{-1}$
条件:$\boldsymbol{Y}(x) \in \mathbb{R}^{N \times N}$ はスカラ $x$ に依存する $N \times N$ 正則行列、各成分 $Y_{ij}(x)$ は $x$ の微分可能な関数
証明

逆行列の定義を確認する。正則行列 $\boldsymbol{Y}$ とその逆行列 $\boldsymbol{Y}^{-1}$ は次の関係を満たす。

\begin{equation} \boldsymbol{Y} \boldsymbol{Y}^{-1} = \boldsymbol{I} \label{eq:8-1-1} \end{equation}

ここで $\boldsymbol{I}$ は $N \times N$ 単位行列である。

\eqref{eq:8-1-1} の両辺をスカラ $x$ で微分する。右辺の $\boldsymbol{I}$ は $x$ に依存しないので、その微分は零行列 $\boldsymbol{O}$ となる。

\begin{equation} \frac{\partial}{\partial x} (\boldsymbol{Y} \boldsymbol{Y}^{-1}) = \frac{\partial \boldsymbol{I}}{\partial x} = \boldsymbol{O} \label{eq:8-1-2} \end{equation}

左辺の行列積 $\boldsymbol{Y} \boldsymbol{Y}^{-1}$ の微分に積の微分公式(1.25:Leibniz則)を適用すると、行列積の微分は次のようになる。

\begin{equation} \frac{\partial}{\partial x} (\boldsymbol{Y} \boldsymbol{Y}^{-1}) = \frac{\partial \boldsymbol{Y}}{\partial x} \boldsymbol{Y}^{-1} + \boldsymbol{Y} \frac{\partial \boldsymbol{Y}^{-1}}{\partial x} \label{eq:8-1-3} \end{equation}

\eqref{eq:8-1-2} と \eqref{eq:8-1-3} を組み合わせると、次式を得る。

\begin{equation} \frac{\partial \boldsymbol{Y}}{\partial x} \boldsymbol{Y}^{-1} + \boldsymbol{Y} \frac{\partial \boldsymbol{Y}^{-1}}{\partial x} = \boldsymbol{O} \label{eq:8-1-4} \end{equation}

$\displaystyle\frac{\partial \boldsymbol{Y}^{-1}}{\partial x}$ を含む項を右辺に移項すると、次のようになる。

\begin{equation} \boldsymbol{Y} \frac{\partial \boldsymbol{Y}^{-1}}{\partial x} = - \frac{\partial \boldsymbol{Y}}{\partial x} \boldsymbol{Y}^{-1} \label{eq:8-1-5} \end{equation}

\eqref{eq:8-1-5} の両辺に左から $\boldsymbol{Y}^{-1}$ を掛ける。$\boldsymbol{Y}$ は正則なので $\boldsymbol{Y}^{-1}$ が存在する。

\begin{equation} \boldsymbol{Y}^{-1} \boldsymbol{Y} \frac{\partial \boldsymbol{Y}^{-1}}{\partial x} = \boldsymbol{Y}^{-1} \left( - \frac{\partial \boldsymbol{Y}}{\partial x} \boldsymbol{Y}^{-1} \right) \label{eq:8-1-6} \end{equation}

左辺を簡約する。$\boldsymbol{Y}^{-1} \boldsymbol{Y} = \boldsymbol{I}$ であり、$\boldsymbol{I}$ を行列に掛けても変化しないため、次のようになる。

\begin{equation} \boldsymbol{Y}^{-1} \boldsymbol{Y} \frac{\partial \boldsymbol{Y}^{-1}}{\partial x} = \boldsymbol{I} \frac{\partial \boldsymbol{Y}^{-1}}{\partial x} = \frac{\partial \boldsymbol{Y}^{-1}}{\partial x} \label{eq:8-1-7} \end{equation}

右辺を整理する。マイナス符号を前に出すと、次式を得る。

\begin{equation} \boldsymbol{Y}^{-1} \left( - \frac{\partial \boldsymbol{Y}}{\partial x} \boldsymbol{Y}^{-1} \right) = - \boldsymbol{Y}^{-1} \frac{\partial \boldsymbol{Y}}{\partial x} \boldsymbol{Y}^{-1} \label{eq:8-1-8} \end{equation}

\eqref{eq:8-1-7} と \eqref{eq:8-1-8} を組み合わせると、最終結果を得る。

\begin{equation} \frac{\partial \boldsymbol{Y}^{-1}}{\partial x} = - \boldsymbol{Y}^{-1} \frac{\partial \boldsymbol{Y}}{\partial x} \boldsymbol{Y}^{-1} \label{eq:8-1-9} \end{equation}

補足:この公式は逆行列微分の基礎となる最も重要な公式である。マイナス符号が付くこと、および $\boldsymbol{Y}^{-1}$ が $\displaystyle\frac{\partial \boldsymbol{Y}}{\partial x}$ の左右両側に現れることに注意する。$(\boldsymbol{X}^\top \boldsymbol{X})^{-1}$ や $(\boldsymbol{A} + \boldsymbol{B}\boldsymbol{X}\boldsymbol{C})^{-1}$ など、複雑な逆行列の微分に応用できる。

8.1.1 逆行列の成分微分

公式:$\displaystyle\frac{\partial (\boldsymbol{X}^{-1})_{kl}}{\partial X_{ij}} = - (\boldsymbol{X}^{-1})_{ki} (\boldsymbol{X}^{-1})_{jl}$
条件:$\boldsymbol{X} \in \mathbb{R}^{N \times N}$ は $N \times N$ 正則行列、$(\boldsymbol{X}^{-1})_{kl}$ は逆行列 $\boldsymbol{X}^{-1}$ の $(k, l)$ 成分
証明

8.1.0 の公式を、スカラ $x$ を行列成分 $X_{ij}$ に置き換えて適用する。$\boldsymbol{Y} = \boldsymbol{X}$ とおくと次のようになる。

\begin{equation} \frac{\partial \boldsymbol{X}^{-1}}{\partial X_{ij}} = - \boldsymbol{X}^{-1} \frac{\partial \boldsymbol{X}}{\partial X_{ij}} \boldsymbol{X}^{-1} \label{eq:8-2-1} \end{equation}

$\displaystyle\frac{\partial \boldsymbol{X}}{\partial X_{ij}}$ を計算する。行列 $\boldsymbol{X}$ の $(p, q)$ 成分を $X_{ij}$ で偏微分すると、$(p, q) = (i, j)$ のときだけ 1、それ以外は 0 である。

\begin{equation} \left( \frac{\partial \boldsymbol{X}}{\partial X_{ij}} \right)_{pq} = \frac{\partial X_{pq}}{\partial X_{ij}} = \delta_{pi} \delta_{qj} \label{eq:8-2-2} \end{equation}

\eqref{eq:8-2-2} の結果を行列で表す。標準基底ベクトル $\boldsymbol{e}_i \in \mathbb{R}^N$(第 $i$ 成分のみ 1)を用いると、$(i, j)$ 成分のみが 1 の行列は外積 $\boldsymbol{e}_i \boldsymbol{e}_j^\top$ で表される。

\begin{equation} \frac{\partial \boldsymbol{X}}{\partial X_{ij}} = \boldsymbol{e}_i \boldsymbol{e}_j^\top \label{eq:8-2-3} \end{equation}

\eqref{eq:8-2-3} を \eqref{eq:8-2-1} に代入すると、次式を得る。

\begin{equation} \frac{\partial \boldsymbol{X}^{-1}}{\partial X_{ij}} = - \boldsymbol{X}^{-1} \boldsymbol{e}_i \boldsymbol{e}_j^\top \boldsymbol{X}^{-1} \label{eq:8-2-4} \end{equation}

$\boldsymbol{X}^{-1} \boldsymbol{e}_i$ を計算する。$\boldsymbol{e}_i$ は第 $i$ 成分のみ 1 のベクトルなので、$\boldsymbol{X}^{-1} \boldsymbol{e}_i$ は $\boldsymbol{X}^{-1}$ の第 $i$ 列ベクトルである。

\begin{equation} (\boldsymbol{X}^{-1} \boldsymbol{e}_i)_k = \sum_{m=0}^{N-1} (\boldsymbol{X}^{-1})_{km} (\boldsymbol{e}_i)_m = (\boldsymbol{X}^{-1})_{ki} \label{eq:8-2-5} \end{equation}

$\boldsymbol{e}_j^\top \boldsymbol{X}^{-1}$ を計算する。$\boldsymbol{e}_j^\top$ は第 $j$ 成分のみ 1 の行ベクトルなので、$\boldsymbol{e}_j^\top \boldsymbol{X}^{-1}$ は $\boldsymbol{X}^{-1}$ の第 $j$ 行ベクトルである。

\begin{equation} (\boldsymbol{e}_j^\top \boldsymbol{X}^{-1})_l = \sum_{m=0}^{N-1} (\boldsymbol{e}_j)_m (\boldsymbol{X}^{-1})_{ml} = (\boldsymbol{X}^{-1})_{jl} \label{eq:8-2-6} \end{equation}

\eqref{eq:8-2-4} の行列積 $\boldsymbol{X}^{-1} \boldsymbol{e}_i \boldsymbol{e}_j^\top \boldsymbol{X}^{-1}$ の $(k, l)$ 成分を計算する。ベクトルの外積と行列積の結合法則より次のように計算できる。

\begin{equation} (\boldsymbol{X}^{-1} \boldsymbol{e}_i \boldsymbol{e}_j^\top \boldsymbol{X}^{-1})_{kl} = (\boldsymbol{X}^{-1} \boldsymbol{e}_i)_k (\boldsymbol{e}_j^\top \boldsymbol{X}^{-1})_l \label{eq:8-2-7} \end{equation}

\eqref{eq:8-2-5} と \eqref{eq:8-2-6} の結果を \eqref{eq:8-2-7} に代入すると、次式を得る。

\begin{equation} (\boldsymbol{X}^{-1} \boldsymbol{e}_i \boldsymbol{e}_j^\top \boldsymbol{X}^{-1})_{kl} = (\boldsymbol{X}^{-1})_{ki} (\boldsymbol{X}^{-1})_{jl} \label{eq:8-2-8} \end{equation}

\eqref{eq:8-2-4} の $(k, l)$ 成分をとり、\eqref{eq:8-2-8} を代入すると、最終結果を得る。

\begin{equation} \frac{\partial (\boldsymbol{X}^{-1})_{kl}}{\partial X_{ij}} = - (\boldsymbol{X}^{-1} \boldsymbol{e}_i \boldsymbol{e}_j^\top \boldsymbol{X}^{-1})_{kl} = - (\boldsymbol{X}^{-1})_{ki} (\boldsymbol{X}^{-1})_{jl} \label{eq:8-2-9} \end{equation}

補足:この公式は逆行列の各成分が元の行列の各成分にどう依存するかを表す。$(\boldsymbol{X}^{-1})_{kl}$ の $X_{ij}$ による微分は、$\boldsymbol{X}^{-1}$ の第 $k$ 行 $i$ 列成分と第 $j$ 行 $l$ 列成分の積にマイナスを付けたものである。

8.1.2 逆行列を含む二次形式 $\boldsymbol{a}^\top \boldsymbol{X}^{-1} \boldsymbol{b}$ の微分

公式:$\displaystyle\frac{\partial}{\partial \boldsymbol{X}} \boldsymbol{a}^\top \boldsymbol{X}^{-1} \boldsymbol{b} = - \boldsymbol{X}^{-\top} \boldsymbol{a} \boldsymbol{b}^\top \boldsymbol{X}^{-\top}$
条件:$\boldsymbol{a}, \boldsymbol{b} \in \mathbb{R}^N$ は定数ベクトル、$\boldsymbol{X} \in \mathbb{R}^{N \times N}$ は正則行列、$\boldsymbol{X}^{-\top} = (\boldsymbol{X}^{-1})^\top = (\boldsymbol{X}^\top)^{-1}$
証明

スカラ $f = \boldsymbol{a}^\top \boldsymbol{X}^{-1} \boldsymbol{b}$ を成分で書き下す。$\boldsymbol{a}^\top$ は行ベクトル、$\boldsymbol{X}^{-1}$ は行列、$\boldsymbol{b}$ は列ベクトルなので、結果はスカラである。

\begin{equation} f = \boldsymbol{a}^\top \boldsymbol{X}^{-1} \boldsymbol{b} = \sum_{k=0}^{N-1} \sum_{l=0}^{N-1} a_k (\boldsymbol{X}^{-1})_{kl} b_l \label{eq:8-3-1} \end{equation}

$f$ を $X_{ij}$ で偏微分する。$a_k$ と $b_l$ は定数なので、微分演算子は $(\boldsymbol{X}^{-1})_{kl}$ にのみ作用する。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = \sum_{k=0}^{N-1} \sum_{l=0}^{N-1} a_k \frac{\partial (\boldsymbol{X}^{-1})_{kl}}{\partial X_{ij}} b_l \label{eq:8-3-2} \end{equation}

8.1.1 より、逆行列の成分微分は次の通りである。

\begin{equation} \frac{\partial (\boldsymbol{X}^{-1})_{kl}}{\partial X_{ij}} = - (\boldsymbol{X}^{-1})_{ki} (\boldsymbol{X}^{-1})_{jl} \label{eq:8-3-3} \end{equation}

\eqref{eq:8-3-3} を \eqref{eq:8-3-2} に代入すると、次式を得る。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = \sum_{k=0}^{N-1} \sum_{l=0}^{N-1} a_k \left( - (\boldsymbol{X}^{-1})_{ki} (\boldsymbol{X}^{-1})_{jl} \right) b_l \label{eq:8-3-4} \end{equation}

マイナス符号を前に出すと、次のようになる。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = - \sum_{k=0}^{N-1} \sum_{l=0}^{N-1} a_k (\boldsymbol{X}^{-1})_{ki} (\boldsymbol{X}^{-1})_{jl} b_l \label{eq:8-3-5} \end{equation}

和を分離する。$k$ に関する和と $l$ に関する和は独立である。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = - \left( \sum_{k=0}^{N-1} a_k (\boldsymbol{X}^{-1})_{ki} \right) \left( \sum_{l=0}^{N-1} (\boldsymbol{X}^{-1})_{jl} b_l \right) \label{eq:8-3-6} \end{equation}

第1の括弧を計算する。$\sum_k a_k (\boldsymbol{X}^{-1})_{ki}$ は $\boldsymbol{a}^\top \boldsymbol{X}^{-1}$ の第 $i$ 成分である。

\begin{equation} \sum_{k=0}^{N-1} a_k (\boldsymbol{X}^{-1})_{ki} = (\boldsymbol{a}^\top \boldsymbol{X}^{-1})_i \label{eq:8-3-7} \end{equation}

$\boldsymbol{a}^\top \boldsymbol{X}^{-1} = (\boldsymbol{X}^{-\top} \boldsymbol{a})^\top$ と書き直すと、\eqref{eq:8-3-7} は次のように表せる。

\begin{equation} (\boldsymbol{a}^\top \boldsymbol{X}^{-1})_i = ((\boldsymbol{X}^{-1})^\top \boldsymbol{a})_i = (\boldsymbol{X}^{-\top} \boldsymbol{a})_i \label{eq:8-3-8} \end{equation}

第2の括弧を計算する。$\sum_l (\boldsymbol{X}^{-1})_{jl} b_l$ は $\boldsymbol{X}^{-1} \boldsymbol{b}$ の第 $j$ 成分である。

\begin{equation} \sum_{l=0}^{N-1} (\boldsymbol{X}^{-1})_{jl} b_l = (\boldsymbol{X}^{-1} \boldsymbol{b})_j \label{eq:8-3-9} \end{equation}

\eqref{eq:8-3-6} に \eqref{eq:8-3-8} と \eqref{eq:8-3-9} を代入すると、次式を得る。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = - (\boldsymbol{X}^{-\top} \boldsymbol{a})_i (\boldsymbol{X}^{-1} \boldsymbol{b})_j \label{eq:8-3-10} \end{equation}

分母レイアウトでは、スカラ関数 $f$ の行列 $\boldsymbol{X}$ による微分 $\displaystyle\frac{\partial f}{\partial \boldsymbol{X}}$ の $(i, j)$ 成分は $\displaystyle\frac{\partial f}{\partial X_{ij}}$ である。

\begin{equation} \left( \frac{\partial f}{\partial \boldsymbol{X}} \right)_{ij} = \frac{\partial f}{\partial X_{ij}} \label{eq:8-3-11} \end{equation}

\eqref{eq:8-3-10} の右辺はベクトルの外積として書ける。$\boldsymbol{u} \in \mathbb{R}^N$、$\boldsymbol{v} \in \mathbb{R}^N$ に対して、$(\boldsymbol{u} \boldsymbol{v}^\top)_{ij} = u_i v_j$ であるから、次のようになる。

\begin{equation} - (\boldsymbol{X}^{-\top} \boldsymbol{a})_i (\boldsymbol{X}^{-1} \boldsymbol{b})_j = - (\boldsymbol{X}^{-\top} \boldsymbol{a} (\boldsymbol{X}^{-1} \boldsymbol{b})^\top)_{ij} \label{eq:8-3-12} \end{equation}

$(\boldsymbol{X}^{-1} \boldsymbol{b})^\top = \boldsymbol{b}^\top (\boldsymbol{X}^{-1})^\top = \boldsymbol{b}^\top \boldsymbol{X}^{-\top}$ を代入すると、次式を得る。

\begin{equation} - (\boldsymbol{X}^{-\top} \boldsymbol{a} (\boldsymbol{X}^{-1} \boldsymbol{b})^\top)_{ij} = - (\boldsymbol{X}^{-\top} \boldsymbol{a} \boldsymbol{b}^\top \boldsymbol{X}^{-\top})_{ij} \label{eq:8-3-13} \end{equation}

行列形式で最終結果を得る。

\begin{equation} \frac{\partial}{\partial \boldsymbol{X}} \boldsymbol{a}^\top \boldsymbol{X}^{-1} \boldsymbol{b} = - \boldsymbol{X}^{-\top} \boldsymbol{a} \boldsymbol{b}^\top \boldsymbol{X}^{-\top} \label{eq:8-3-14} \end{equation}

補足:$\boldsymbol{a} = \boldsymbol{b}$ のとき、この式は二次形式 $\boldsymbol{a}^\top \boldsymbol{X}^{-1} \boldsymbol{a}$ の微分となる。また、$\boldsymbol{X}$ が対称行列の場合は $\boldsymbol{X}^{-\top} = \boldsymbol{X}^{-1}$ となり、公式は $-\boldsymbol{X}^{-1} \boldsymbol{a} \boldsymbol{b}^\top \boldsymbol{X}^{-1}$ と簡略化される。

8.1.3 逆行列の行列式 $|\boldsymbol{X}^{-1}|$ の微分

公式:$\displaystyle\frac{\partial |\boldsymbol{X}^{-1}|}{\partial \boldsymbol{X}} = -|\boldsymbol{X}^{-1}| (\boldsymbol{X}^{-1})^\top$
条件:$\boldsymbol{X} \in \mathbb{R}^{N \times N}$ は $N \times N$ 正則行列、$|\boldsymbol{X}^{-1}|$ は逆行列 $\boldsymbol{X}^{-1}$ の行列式
証明

逆行列の行列式と元の行列の行列式の関係を確認する。行列式の積の性質 $|\boldsymbol{A}\boldsymbol{B}| = |\boldsymbol{A}||\boldsymbol{B}|$ より次が成り立つ。

\begin{equation} |\boldsymbol{X}||\boldsymbol{X}^{-1}| = |\boldsymbol{X}\boldsymbol{X}^{-1}| = |\boldsymbol{I}| = 1 \label{eq:8-4-1} \end{equation}

\eqref{eq:8-4-1} を $|\boldsymbol{X}^{-1}|$ について解くと、次式を得る。

\begin{equation} |\boldsymbol{X}^{-1}| = \frac{1}{|\boldsymbol{X}|} = |\boldsymbol{X}|^{-1} \label{eq:8-4-2} \end{equation}

$|\boldsymbol{X}^{-1}| = |\boldsymbol{X}|^{-1}$ を $\boldsymbol{X}$ で微分する。これは合成関数なので連鎖律を適用する。外側の関数が $f(u) = u^{-1}$、内側の関数が $g(\boldsymbol{X}) = |\boldsymbol{X}|$ である。

外側の関数 $f(u) = u^{-1}$ の微分を計算すると、次のようになる。

\begin{equation} f'(u) = -u^{-2} = -\frac{1}{u^2} \label{eq:8-4-3} \end{equation}

$u = |\boldsymbol{X}|$ を代入すると、次式を得る。

\begin{equation} f'(|\boldsymbol{X}|) = -|\boldsymbol{X}|^{-2} \label{eq:8-4-4} \end{equation}

内側の関数の微分は 7.1 より次の通りである。

\begin{equation} \frac{\partial |\boldsymbol{X}|}{\partial \boldsymbol{X}} = |\boldsymbol{X}| \boldsymbol{X}^{-\top} \label{eq:8-4-5} \end{equation}

連鎖律を適用する。\eqref{eq:8-4-4} と \eqref{eq:8-4-5} を掛け合わせると、次式を得る。

\begin{equation} \frac{\partial |\boldsymbol{X}|^{-1}}{\partial \boldsymbol{X}} = f'(|\boldsymbol{X}|) \cdot \frac{\partial |\boldsymbol{X}|}{\partial \boldsymbol{X}} = -|\boldsymbol{X}|^{-2} \cdot |\boldsymbol{X}| \boldsymbol{X}^{-\top} \label{eq:8-4-6} \end{equation}

$|\boldsymbol{X}|^{-2} \cdot |\boldsymbol{X}| = |\boldsymbol{X}|^{-1}$ を用いて整理すると、次のようになる。

\begin{equation} \frac{\partial |\boldsymbol{X}|^{-1}}{\partial \boldsymbol{X}} = -|\boldsymbol{X}|^{-1} \boldsymbol{X}^{-\top} \label{eq:8-4-7} \end{equation}

\eqref{eq:8-4-2} より $|\boldsymbol{X}|^{-1} = |\boldsymbol{X}^{-1}|$ を代入すると、次式を得る。

\begin{equation} \frac{\partial |\boldsymbol{X}^{-1}|}{\partial \boldsymbol{X}} = -|\boldsymbol{X}^{-1}| \boldsymbol{X}^{-\top} \label{eq:8-4-8} \end{equation}

$\boldsymbol{X}^{-\top} = (\boldsymbol{X}^{-1})^\top$ と書き直して最終結果を得る。

\begin{equation} \frac{\partial |\boldsymbol{X}^{-1}|}{\partial \boldsymbol{X}} = -|\boldsymbol{X}^{-1}| (\boldsymbol{X}^{-1})^\top \label{eq:8-4-9} \end{equation}

補足:この公式を 7.1 の $\displaystyle\frac{\partial |\boldsymbol{X}|}{\partial \boldsymbol{X}} = |\boldsymbol{X}| \boldsymbol{X}^{-\top}$ と比較すると、逆行列の場合はマイナス符号が付くことがわかる。これは $|\boldsymbol{X}^{-1}| = |\boldsymbol{X}|^{-1}$ という関係を反映している。

8.1.4 逆行列を含むトレース $\text{tr}(\boldsymbol{A}\boldsymbol{X}^{-1}\boldsymbol{B})$ の微分

公式:$\displaystyle\frac{\partial}{\partial \boldsymbol{X}} \text{tr}(\boldsymbol{A}\boldsymbol{X}^{-1}\boldsymbol{B}) = - (\boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1})^\top$
条件:$\boldsymbol{A} \in \mathbb{R}^{K \times N}$, $\boldsymbol{B} \in \mathbb{R}^{N \times K}$ は定数行列、$\boldsymbol{X} \in \mathbb{R}^{N \times N}$ は正則行列($\boldsymbol{A}\boldsymbol{X}^{-1}\boldsymbol{B}$ が正方行列になる必要がある)
証明

スカラ $f = \text{tr}(\boldsymbol{A}\boldsymbol{X}^{-1}\boldsymbol{B})$ を $X_{ij}$ で微分することを考える。トレースは線形演算なので、微分と交換できる。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = \frac{\partial}{\partial X_{ij}} \text{tr}(\boldsymbol{A}\boldsymbol{X}^{-1}\boldsymbol{B}) = \text{tr}\left( \boldsymbol{A} \frac{\partial \boldsymbol{X}^{-1}}{\partial X_{ij}} \boldsymbol{B} \right) \label{eq:8-5-1} \end{equation}

8.1.1 の証明過程より、逆行列の成分微分は次のようになる。

\begin{equation} \frac{\partial \boldsymbol{X}^{-1}}{\partial X_{ij}} = -\boldsymbol{X}^{-1} \boldsymbol{e}_i \boldsymbol{e}_j^\top \boldsymbol{X}^{-1} \label{eq:8-5-2} \end{equation}

\eqref{eq:8-5-2} を \eqref{eq:8-5-1} に代入すると、次式を得る。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = \text{tr}\left( \boldsymbol{A} \left( -\boldsymbol{X}^{-1} \boldsymbol{e}_i \boldsymbol{e}_j^\top \boldsymbol{X}^{-1} \right) \boldsymbol{B} \right) \label{eq:8-5-3} \end{equation}

マイナス符号をトレースの外に出す。トレースはスカラ倍に対して線形であるため、次のようになる。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = - \text{tr}\left( \boldsymbol{A} \boldsymbol{X}^{-1} \boldsymbol{e}_i \boldsymbol{e}_j^\top \boldsymbol{X}^{-1} \boldsymbol{B} \right) \label{eq:8-5-4} \end{equation}

トレースの巡回性 $\text{tr}(\boldsymbol{P}\boldsymbol{Q}\boldsymbol{R}) = \text{tr}(\boldsymbol{R}\boldsymbol{P}\boldsymbol{Q})$ を用いて、行列の順序を並べ替える。$\boldsymbol{e}_j^\top \boldsymbol{X}^{-1} \boldsymbol{B}$ を先頭に移動すると、次式を得る。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = - \text{tr}\left( \boldsymbol{e}_j^\top \boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1} \boldsymbol{e}_i \right) \label{eq:8-5-5} \end{equation}

$\boldsymbol{e}_j^\top \boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1} \boldsymbol{e}_i$ はスカラ($1 \times 1$ 行列)である。スカラのトレースは値そのものに等しいため、次のようになる。

\begin{equation} \text{tr}\left( \boldsymbol{e}_j^\top \boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1} \boldsymbol{e}_i \right) = \boldsymbol{e}_j^\top \boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1} \boldsymbol{e}_i \label{eq:8-5-6} \end{equation}

$\boldsymbol{e}_j^\top \boldsymbol{M} \boldsymbol{e}_i$ は行列 $\boldsymbol{M}$ の $(j, i)$ 成分を抽出する演算である。$\boldsymbol{M} = \boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1}$ とおくと次が成り立つ。

\begin{equation} \boldsymbol{e}_j^\top \boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1} \boldsymbol{e}_i = (\boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1})_{ji} \label{eq:8-5-7} \end{equation}

\eqref{eq:8-5-5}、\eqref{eq:8-5-6}、\eqref{eq:8-5-7} を組み合わせると、次式を得る。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = - (\boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1})_{ji} \label{eq:8-5-8} \end{equation}

分母レイアウトでは、$\displaystyle\frac{\partial f}{\partial \boldsymbol{X}}$ の $(i, j)$ 成分は $\displaystyle\frac{\partial f}{\partial X_{ij}}$ であるため、次のようになる。

\begin{equation} \left( \frac{\partial f}{\partial \boldsymbol{X}} \right)_{ij} = - (\boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1})_{ji} \label{eq:8-5-9} \end{equation}

行列 $\boldsymbol{M}$ の $(i, j)$ 成分が $M_{ji}$ であるということは、$\boldsymbol{M}$ が元の行列の転置であることを意味する。

\begin{equation} \left( \frac{\partial f}{\partial \boldsymbol{X}} \right)_{ij} = - ((\boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1})^\top)_{ij} \label{eq:8-5-10} \end{equation}

行列形式で最終結果を得る。

\begin{equation} \frac{\partial}{\partial \boldsymbol{X}} \text{tr}(\boldsymbol{A}\boldsymbol{X}^{-1}\boldsymbol{B}) = - (\boldsymbol{X}^{-1} \boldsymbol{B} \boldsymbol{A} \boldsymbol{X}^{-1})^\top \label{eq:8-5-11} \end{equation}

補足:$\boldsymbol{A} = \boldsymbol{B} = \boldsymbol{I}$ のとき、$\text{tr}(\boldsymbol{X}^{-1})$ の微分となり、$-(\boldsymbol{X}^{-1} \boldsymbol{X}^{-1})^\top = -(\boldsymbol{X}^{-2})^\top$ を得る。また、$\boldsymbol{X}$ が対称行列の場合は転置が不要になる。

8.1.5 和の逆行列のトレース $\text{tr}((\boldsymbol{X}+\boldsymbol{A})^{-1})$ の微分

公式:$\displaystyle\frac{\partial}{\partial \boldsymbol{X}} \text{tr}((\boldsymbol{X}+\boldsymbol{A})^{-1}) = - ((\boldsymbol{X}+\boldsymbol{A})^{-2})^\top$
条件:$\boldsymbol{A} \in \mathbb{R}^{N \times N}$ は定数行列、$\boldsymbol{X} \in \mathbb{R}^{N \times N}$ は行列変数、$\boldsymbol{X} + \boldsymbol{A}$ は正則
証明

$\boldsymbol{Y} = \boldsymbol{X} + \boldsymbol{A}$ とおく。$f = \text{tr}(\boldsymbol{Y}^{-1})$ を $\boldsymbol{X}$ で微分することを考える。

$\boldsymbol{Y}$ を $X_{ij}$ で微分する。$\boldsymbol{A}$ は定数なので $\displaystyle\frac{\partial \boldsymbol{A}}{\partial X_{ij}} = \boldsymbol{O}$ であるため、次式を得る。

\begin{equation} \frac{\partial \boldsymbol{Y}}{\partial X_{ij}} = \frac{\partial (\boldsymbol{X} + \boldsymbol{A})}{\partial X_{ij}} = \frac{\partial \boldsymbol{X}}{\partial X_{ij}} + \boldsymbol{O} = \boldsymbol{e}_i \boldsymbol{e}_j^\top \label{eq:8-6-1} \end{equation}

8.1.4 の公式で、係数行列を $\boldsymbol{A} \to \boldsymbol{I}$、$\boldsymbol{B} \to \boldsymbol{I}$、変数行列を $\boldsymbol{X} \to \boldsymbol{Y} = \boldsymbol{X} + \boldsymbol{A}$ と置き換えると、次のようになる。

\begin{equation} \text{tr}(\boldsymbol{I} \cdot \boldsymbol{Y}^{-1} \cdot \boldsymbol{I}) = \text{tr}(\boldsymbol{Y}^{-1}) \label{eq:8-6-2} \end{equation}

8.1.4 より、$\text{tr}(\boldsymbol{Y}^{-1})$ の $\boldsymbol{Y}$ による微分は次のようになる。

\begin{equation} \frac{\partial}{\partial \boldsymbol{Y}} \text{tr}(\boldsymbol{Y}^{-1}) = - (\boldsymbol{Y}^{-1} \cdot \boldsymbol{I} \cdot \boldsymbol{I} \cdot \boldsymbol{Y}^{-1})^\top = - (\boldsymbol{Y}^{-2})^\top \label{eq:8-6-3} \end{equation}

連鎖律を適用する。$f = \text{tr}(\boldsymbol{Y}^{-1})$ の $\boldsymbol{X}$ による微分は次のようになる。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = \sum_{k,l} \frac{\partial f}{\partial Y_{kl}} \frac{\partial Y_{kl}}{\partial X_{ij}} \label{eq:8-6-4} \end{equation}

\eqref{eq:8-6-1} より $\displaystyle\frac{\partial Y_{kl}}{\partial X_{ij}} = \delta_{ki} \delta_{lj}$ である。これを \eqref{eq:8-6-4} に代入すると、次式を得る。

\begin{equation} \frac{\partial f}{\partial X_{ij}} = \sum_{k,l} \frac{\partial f}{\partial Y_{kl}} \delta_{ki} \delta_{lj} = \frac{\partial f}{\partial Y_{ij}} \label{eq:8-6-5} \end{equation}

\eqref{eq:8-6-5} は、$\boldsymbol{Y} = \boldsymbol{X} + \boldsymbol{A}$ のとき $\displaystyle\frac{\partial f}{\partial \boldsymbol{X}} = \displaystyle\frac{\partial f}{\partial \boldsymbol{Y}}$ であることを示している($\boldsymbol{A}$ が定数のため)。

\eqref{eq:8-6-3} と \eqref{eq:8-6-5} を組み合わせると、最終結果を得る。

\begin{equation} \frac{\partial}{\partial \boldsymbol{X}} \text{tr}((\boldsymbol{X}+\boldsymbol{A})^{-1}) = - ((\boldsymbol{X}+\boldsymbol{A})^{-2})^\top \label{eq:8-6-6} \end{equation}

補足:$\boldsymbol{A} = \boldsymbol{O}$ のとき、$\displaystyle\frac{\partial}{\partial \boldsymbol{X}} \text{tr}(\boldsymbol{X}^{-1}) = -(\boldsymbol{X}^{-2})^\top$ となる。$\boldsymbol{X}$ が対称行列の場合は、転置が不要になり $-(\boldsymbol{X}+\boldsymbol{A})^{-2}$ となる。

8.1.6 逆行列の連鎖律

公式:$\displaystyle\frac{\partial J}{\partial \boldsymbol{A}} = - \boldsymbol{A}^{-\top} \displaystyle\frac{\partial J}{\partial \boldsymbol{W}} \boldsymbol{A}^{-\top}$ ($\boldsymbol{W} = \boldsymbol{A}^{-1}$ のとき)
条件:$J$ はスカラ関数、$\boldsymbol{W} = \boldsymbol{A}^{-1}$ を中間変数として $\boldsymbol{A}$ に依存、$\boldsymbol{A} \in \mathbb{R}^{N \times N}$ は正則行列
証明

$J$ は $\boldsymbol{W} = \boldsymbol{A}^{-1}$ を通じて $\boldsymbol{A}$ に依存する。連鎖律を成分形式で書くと、次のようになる。

\begin{equation} \frac{\partial J}{\partial A_{ij}} = \sum_{k=0}^{N-1} \sum_{l=0}^{N-1} \frac{\partial J}{\partial W_{kl}} \frac{\partial W_{kl}}{\partial A_{ij}} \label{eq:8-7-1} \end{equation}

8.1.1 より、逆行列の成分微分は次の通りである。$\boldsymbol{W} = \boldsymbol{A}^{-1}$ なので添字を対応させる。

\begin{equation} \frac{\partial W_{kl}}{\partial A_{ij}} = \frac{\partial (\boldsymbol{A}^{-1})_{kl}}{\partial A_{ij}} = - (\boldsymbol{A}^{-1})_{ki} (\boldsymbol{A}^{-1})_{jl} = -W_{ki} W_{jl} \label{eq:8-7-2} \end{equation}

\eqref{eq:8-7-2} を \eqref{eq:8-7-1} に代入すると、次式を得る。

\begin{equation} \frac{\partial J}{\partial A_{ij}} = \sum_{k,l} \frac{\partial J}{\partial W_{kl}} (-W_{ki} W_{jl}) \label{eq:8-7-3} \end{equation}

マイナス符号を前に出し、和を分離すると、次のようになる。

\begin{equation} \frac{\partial J}{\partial A_{ij}} = - \sum_{k=0}^{N-1} \sum_{l=0}^{N-1} W_{ki} \frac{\partial J}{\partial W_{kl}} W_{jl} \label{eq:8-7-4} \end{equation}

この和を行列積として解釈する。まず $k$ についての和 $\sum_k W_{ki} \displaystyle\frac{\partial J}{\partial W_{kl}}$ を考えると、次式を得る。

\begin{equation} \sum_{k=0}^{N-1} W_{ki} \frac{\partial J}{\partial W_{kl}} = \sum_{k=0}^{N-1} (W^\top)_{ik} \frac{\partial J}{\partial W_{kl}} = \left( \boldsymbol{W}^\top \frac{\partial J}{\partial \boldsymbol{W}} \right)_{il} \label{eq:8-7-5} \end{equation}

次に $l$ についての和を考えると、次式を得る。

\begin{equation} \sum_{l=0}^{N-1} \left( \boldsymbol{W}^\top \frac{\partial J}{\partial \boldsymbol{W}} \right)_{il} W_{jl} = \sum_{l=0}^{N-1} \left( \boldsymbol{W}^\top \frac{\partial J}{\partial \boldsymbol{W}} \right)_{il} (W^\top)_{lj} = \left( \boldsymbol{W}^\top \frac{\partial J}{\partial \boldsymbol{W}} \boldsymbol{W}^\top \right)_{ij} \label{eq:8-7-6} \end{equation}

\eqref{eq:8-7-4}、\eqref{eq:8-7-5}、\eqref{eq:8-7-6} を組み合わせると、次式を得る。

\begin{equation} \frac{\partial J}{\partial A_{ij}} = - \left( \boldsymbol{W}^\top \frac{\partial J}{\partial \boldsymbol{W}} \boldsymbol{W}^\top \right)_{ij} \label{eq:8-7-7} \end{equation}

$\boldsymbol{W} = \boldsymbol{A}^{-1}$ より $\boldsymbol{W}^\top = \boldsymbol{A}^{-\top}$ を代入して、行列形式で最終結果を得る。

\begin{equation} \frac{\partial J}{\partial \boldsymbol{A}} = - \boldsymbol{A}^{-\top} \frac{\partial J}{\partial \boldsymbol{W}} \boldsymbol{A}^{-\top} \label{eq:8-7-8} \end{equation}

補足:この公式はニューラルネットワークの逆伝播において、逆行列を含む層を通じて勾配を伝播させる際に有用である。$\displaystyle\frac{\partial J}{\partial \boldsymbol{W}}$ が既知のとき、$\displaystyle\frac{\partial J}{\partial \boldsymbol{A}}$ を計算できる。$\boldsymbol{A}$ が対称行列の場合は $\boldsymbol{A}^{-\top} = \boldsymbol{A}^{-1}$ となる。

8.1.7 Leontief逆行列の微分

公式:$\displaystyle\frac{\partial}{\partial A_{ij}} (\boldsymbol{I} - \boldsymbol{A})^{-1} = \boldsymbol{L} \boldsymbol{E}_{ij} \boldsymbol{L}$($\boldsymbol{L} = (\boldsymbol{I} - \boldsymbol{A})^{-1}$、$\boldsymbol{E}_{ij}$は$(i,j)$成分のみ1の行列)
条件:$\boldsymbol{A} \in \mathbb{R}^{N \times N}$ は $N \times N$ 行列、$\boldsymbol{I} - \boldsymbol{A}$ は正則、$\boldsymbol{E}_{ij} = \boldsymbol{e}_i \boldsymbol{e}_j^\top$ は $(i,j)$ 成分のみ 1 の単一成分行列
証明

Leontief 逆行列を $\boldsymbol{L} = (\boldsymbol{I} - \boldsymbol{A})^{-1}$ と定義する。$\boldsymbol{L}$ を $A_{ij}$ で微分することを考える。

$\boldsymbol{X} = \boldsymbol{I} - \boldsymbol{A}$ とおく。このとき $\boldsymbol{L} = \boldsymbol{X}^{-1}$ である。

連鎖律を適用する。$\boldsymbol{L}$ の $A_{ij}$ による微分は、$\boldsymbol{X}$ を経由して計算できる。

\begin{equation} \frac{\partial \boldsymbol{L}}{\partial A_{ij}} = \sum_{k,l} \frac{\partial \boldsymbol{L}}{\partial X_{kl}} \frac{\partial X_{kl}}{\partial A_{ij}} \label{eq:8-8-1} \end{equation}

$X_{kl} = (\boldsymbol{I} - \boldsymbol{A})_{kl} = \delta_{kl} - A_{kl}$ である。これを $A_{ij}$ で微分すると、次のようになる。

\begin{equation} \frac{\partial X_{kl}}{\partial A_{ij}} = \frac{\partial (\delta_{kl} - A_{kl})}{\partial A_{ij}} = 0 - \frac{\partial A_{kl}}{\partial A_{ij}} \label{eq:8-8-2} \end{equation}

$\displaystyle\frac{\partial A_{kl}}{\partial A_{ij}} = \delta_{ki} \delta_{lj}$ である($(k,l) = (i,j)$ のときのみ 1)。したがって、次式を得る。

\begin{equation} \frac{\partial X_{kl}}{\partial A_{ij}} = -\delta_{ki} \delta_{lj} \label{eq:8-8-3} \end{equation}

\eqref{eq:8-8-3} を \eqref{eq:8-8-1} に代入すると、次式を得る。

\begin{equation} \frac{\partial \boldsymbol{L}}{\partial A_{ij}} = \sum_{k,l} \frac{\partial \boldsymbol{L}}{\partial X_{kl}} (-\delta_{ki} \delta_{lj}) \label{eq:8-8-4} \end{equation}

$\delta_{ki} \delta_{lj} = 1$ となるのは $(k,l) = (i,j)$ のときだけなので、和から一つの項だけが残る。

\begin{equation} \frac{\partial \boldsymbol{L}}{\partial A_{ij}} = -\frac{\partial \boldsymbol{L}}{\partial X_{ij}} \label{eq:8-8-5} \end{equation}

$\displaystyle\frac{\partial \boldsymbol{L}}{\partial X_{ij}}$ を計算する。$\boldsymbol{L} = \boldsymbol{X}^{-1}$ なので、8.1.1 の証明過程より次が成り立つ。

\begin{equation} \frac{\partial \boldsymbol{X}^{-1}}{\partial X_{ij}} = -\boldsymbol{X}^{-1} \boldsymbol{E}_{ij} \boldsymbol{X}^{-1} \label{eq:8-8-6} \end{equation}

ここで $\boldsymbol{E}_{ij} = \boldsymbol{e}_i \boldsymbol{e}_j^\top$ は $(i,j)$ 成分のみ 1 の行列である。

$\boldsymbol{X}^{-1} = \boldsymbol{L}$ を代入すると、次式を得る。

\begin{equation} \frac{\partial \boldsymbol{L}}{\partial X_{ij}} = -\boldsymbol{L} \boldsymbol{E}_{ij} \boldsymbol{L} \label{eq:8-8-7} \end{equation}

\eqref{eq:8-8-5} に \eqref{eq:8-8-7} を代入すると、次式を得る。

\begin{equation} \frac{\partial \boldsymbol{L}}{\partial A_{ij}} = -(-\boldsymbol{L} \boldsymbol{E}_{ij} \boldsymbol{L}) \label{eq:8-8-8} \end{equation}

マイナス符号が打ち消し合って、最終結果を得る。

\begin{equation} \frac{\partial}{\partial A_{ij}} (\boldsymbol{I} - \boldsymbol{A})^{-1} = \boldsymbol{L} \boldsymbol{E}_{ij} \boldsymbol{L} \label{eq:8-8-9} \end{equation}

補足8.1.1 と比較すると、Leontief 逆行列の微分にはマイナス符号が付かないことに注意する。これは $\boldsymbol{I} - \boldsymbol{A}$ の $\boldsymbol{A}$ による微分が $-\boldsymbol{I}$ であることによる。産業連関分析では、$\boldsymbol{L}$ の $(k, l)$ 成分は部門 $l$ の最終需要 1 単位あたりの部門 $k$ の総生産量(直接効果+間接効果)を表す。

8.1.8 Leontief逆行列のトレースの微分

公式:$\displaystyle\frac{\partial}{\partial \boldsymbol{A}} \text{tr}((\boldsymbol{I} - \boldsymbol{A})^{-1}) = ((\boldsymbol{I} - \boldsymbol{A})^{-1}(\boldsymbol{I} - \boldsymbol{A})^{-1})^\top = (\boldsymbol{L}^2)^\top$
条件:$\boldsymbol{A} \in \mathbb{R}^{N \times N}$ は $N \times N$ 行列、$\boldsymbol{I} - \boldsymbol{A}$ は正則、$\boldsymbol{L} = (\boldsymbol{I} - \boldsymbol{A})^{-1}$
証明

$\boldsymbol{L} = (\boldsymbol{I} - \boldsymbol{A})^{-1}$ とおく。$f = \text{tr}(\boldsymbol{L})$ を $A_{ij}$ で微分することを考える。

トレースは対角成分の和なので、次のように書ける。

\begin{equation} f = \text{tr}(\boldsymbol{L}) = \sum_{k=0}^{N-1} L_{kk} \label{eq:8-9-1} \end{equation}

$f$ を $A_{ij}$ で微分すると、次式を得る。

\begin{equation} \frac{\partial f}{\partial A_{ij}} = \frac{\partial}{\partial A_{ij}} \sum_{k=0}^{N-1} L_{kk} = \sum_{k=0}^{N-1} \frac{\partial L_{kk}}{\partial A_{ij}} \label{eq:8-9-2} \end{equation}

8.1.7 より、$\displaystyle\frac{\partial \boldsymbol{L}}{\partial A_{ij}} = \boldsymbol{L} \boldsymbol{E}_{ij} \boldsymbol{L}$ である。この $(k, k)$ 成分を計算する。

$(\boldsymbol{L} \boldsymbol{E}_{ij} \boldsymbol{L})_{kk}$ を成分形式で書き下すと、次のようになる。

\begin{equation} (\boldsymbol{L} \boldsymbol{E}_{ij} \boldsymbol{L})_{kk} = \sum_{p=0}^{N-1} \sum_{q=0}^{N-1} L_{kp} (\boldsymbol{E}_{ij})_{pq} L_{qk} \label{eq:8-9-3} \end{equation}

$(\boldsymbol{E}_{ij})_{pq} = \delta_{pi} \delta_{qj}$ である($(p,q) = (i,j)$ のときのみ 1)。したがって、次式を得る。

\begin{equation} (\boldsymbol{L} \boldsymbol{E}_{ij} \boldsymbol{L})_{kk} = \sum_{p,q} L_{kp} \delta_{pi} \delta_{qj} L_{qk} = L_{ki} L_{jk} \label{eq:8-9-4} \end{equation}

\eqref{eq:8-9-2} に \eqref{eq:8-9-4} を代入すると、次式を得る。

\begin{equation} \frac{\partial f}{\partial A_{ij}} = \sum_{k=0}^{N-1} L_{ki} L_{jk} \label{eq:8-9-5} \end{equation}

この和を行列積として解釈する。$\sum_k L_{ki} L_{jk}$ は $\boldsymbol{L}$ の第 $i$ 列と $\boldsymbol{L}$ の第 $j$ 行の内積である。

\begin{equation} \sum_{k=0}^{N-1} L_{ki} L_{jk} = \sum_{k=0}^{N-1} (L^\top)_{ik} L_{jk} = (\boldsymbol{L}^\top \boldsymbol{L}^\top)_{ij} = (\boldsymbol{L}^2)^\top_{ij} \label{eq:8-9-6} \end{equation}

別の方法でも確認する。$\sum_k L_{ki} L_{jk} = \sum_k L_{jk} L_{ki} = (\boldsymbol{L} \boldsymbol{L})_{ji} = (\boldsymbol{L}^2)_{ji}$ である。

分母レイアウトでは $\left( \displaystyle\frac{\partial f}{\partial \boldsymbol{A}} \right)_{ij} = \displaystyle\frac{\partial f}{\partial A_{ij}}$ なので、$(i, j)$ 成分が $(\boldsymbol{L}^2)_{ji}$ であることは転置を意味する。

\begin{equation} \left( \frac{\partial f}{\partial \boldsymbol{A}} \right)_{ij} = (\boldsymbol{L}^2)_{ji} = ((\boldsymbol{L}^2)^\top)_{ij} \label{eq:8-9-7} \end{equation}

行列形式で最終結果を得る。

\begin{equation} \frac{\partial}{\partial \boldsymbol{A}} \text{tr}((\boldsymbol{I} - \boldsymbol{A})^{-1}) = (\boldsymbol{L}^2)^\top = ((\boldsymbol{I} - \boldsymbol{A})^{-2})^\top \label{eq:8-9-8} \end{equation}

補足8.1.5 の $\displaystyle\frac{\partial}{\partial \boldsymbol{X}} \text{tr}((\boldsymbol{X}+\boldsymbol{A})^{-1}) = -((\boldsymbol{X}+\boldsymbol{A})^{-2})^\top$ と比較すると、符号が異なることに注意する。これは $\boldsymbol{I} - \boldsymbol{A}$ の $\boldsymbol{A}$ による微分が $-\boldsymbol{I}$ であることによる。産業連関分析では、$\text{tr}(\boldsymbol{L})$ は経済全体の総波及効果(影響力係数の総和)の指標として解釈される。

Moore-Penrose擬似逆行列の微分

擬似逆行列(一般化逆行列)の微分公式。最小二乗法やロボット工学の逆運動学で使用される。

8.2.1 Moore-Penrose擬似逆行列の微分(一般形)

公式:$d\boldsymbol{X}^+ = -\boldsymbol{X}^+ (d\boldsymbol{X}) \boldsymbol{X}^+ + \boldsymbol{X}^{+\top}\boldsymbol{X}^\top (d\boldsymbol{X})^\top (\boldsymbol{I} - \boldsymbol{X}\boldsymbol{X}^+) + (\boldsymbol{I} - \boldsymbol{X}^+\boldsymbol{X})(d\boldsymbol{X})^\top \boldsymbol{X}^{+\top}\boldsymbol{X}^+$
条件:$\boldsymbol{X}$ のランクが $d\boldsymbol{X}$ で変化しない(定ランク)
証明

Moore-Penrose条件 $\boldsymbol{X}\boldsymbol{X}^+\boldsymbol{X} = \boldsymbol{X}$ を微分する。

\begin{equation} (d\boldsymbol{X})\boldsymbol{X}^+\boldsymbol{X} + \boldsymbol{X}(d\boldsymbol{X}^+)\boldsymbol{X} + \boldsymbol{X}\boldsymbol{X}^+(d\boldsymbol{X}) = d\boldsymbol{X} \label{eq:8-10-1} \end{equation}

同様に $\boldsymbol{X}^+\boldsymbol{X}\boldsymbol{X}^+ = \boldsymbol{X}^+$ も微分する。

\begin{equation} (d\boldsymbol{X}^+)\boldsymbol{X}\boldsymbol{X}^+ + \boldsymbol{X}^+(d\boldsymbol{X})\boldsymbol{X}^+ + \boldsymbol{X}^+\boldsymbol{X}(d\boldsymbol{X}^+) = d\boldsymbol{X}^+ \label{eq:8-10-2} \end{equation}

これらの条件と $(\boldsymbol{X}\boldsymbol{X}^+)^\top = \boldsymbol{X}\boldsymbol{X}^+$, $(\boldsymbol{X}^+\boldsymbol{X})^\top = \boldsymbol{X}^+\boldsymbol{X}$(Hermitian条件)を組み合わせて解くと、Golub-Pereyra (1973) の公式を得る。

補足:第2項と第3項は零空間への射影を含み、列フルランクまたは行フルランクの場合に簡略化される。

8.2.2 擬似逆行列の微分(列フルランク)

公式:$d\boldsymbol{X}^+ = (\boldsymbol{X}^\top\boldsymbol{X})^{-1}(d\boldsymbol{X})^\top(\boldsymbol{I} - \boldsymbol{X}\boldsymbol{X}^+) - \boldsymbol{X}^+(d\boldsymbol{X})\boldsymbol{X}^+$
条件:$\boldsymbol{X} \in \mathbb{R}^{m \times n}$、$m \ge n$、列フルランク
証明

列フルランクのとき $\boldsymbol{X}^+ = (\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top$(左逆行列)である。

$\boldsymbol{X}^+\boldsymbol{X} = \boldsymbol{I}_n$ より、零空間射影 $\boldsymbol{I} - \boldsymbol{X}^+\boldsymbol{X} = \boldsymbol{O}$ となる。

8.2.1 の公式で第3項が消えて次式を得る。

\begin{equation} d\boldsymbol{X}^+ = -\boldsymbol{X}^+ (d\boldsymbol{X}) \boldsymbol{X}^+ + \boldsymbol{X}^{+\top}\boldsymbol{X}^\top (d\boldsymbol{X})^\top (\boldsymbol{I} - \boldsymbol{X}\boldsymbol{X}^+) \label{eq:8-11-1} \end{equation}

$\boldsymbol{X}^{+\top}\boldsymbol{X}^\top = \boldsymbol{X}(\boldsymbol{X}^\top\boldsymbol{X})^{-1} \cdot \boldsymbol{X}^\top = \boldsymbol{X}(\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top$ を整理して公式を得る。

8.2.3 擬似逆行列の微分(行フルランク)

公式:$d\boldsymbol{X}^+ = (\boldsymbol{I} - \boldsymbol{X}^+\boldsymbol{X})(d\boldsymbol{X})^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1} - \boldsymbol{X}^+(d\boldsymbol{X})\boldsymbol{X}^+$
条件:$\boldsymbol{X} \in \mathbb{R}^{m \times n}$、$m \le n$、行フルランク
証明

行フルランクのとき $\boldsymbol{X}^+ = \boldsymbol{X}^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1}$(右逆行列)である。

$\boldsymbol{X}\boldsymbol{X}^+ = \boldsymbol{I}_m$ より、零空間射影 $\boldsymbol{I} - \boldsymbol{X}\boldsymbol{X}^+ = \boldsymbol{O}$ となる。

8.2.1 の公式で第2項が消えて次式を得る。

\begin{equation} d\boldsymbol{X}^+ = -\boldsymbol{X}^+ (d\boldsymbol{X}) \boldsymbol{X}^+ + (\boldsymbol{I} - \boldsymbol{X}^+\boldsymbol{X})(d\boldsymbol{X})^\top \boldsymbol{X}^{+\top}\boldsymbol{X}^+ \label{eq:8-12-1} \end{equation}

$\boldsymbol{X}^{+\top}\boldsymbol{X}^+ = (\boldsymbol{X}\boldsymbol{X}^\top)^{-1}$ を代入して公式を得る。

補足:ロボットの冗長マニピュレータ($n > m$)では、Jacobian $\boldsymbol{J}$ が行フルランクの場合にこの公式が適用される。

8.2.4 擬似逆行列の時間微分

公式:$\displaystyle\frac{d\boldsymbol{X}^+}{dt} = -\boldsymbol{X}^+ \dot{\boldsymbol{X}} \boldsymbol{X}^+ + \boldsymbol{X}^{+\top}\boldsymbol{X}^\top \dot{\boldsymbol{X}}^\top (\boldsymbol{I} - \boldsymbol{X}\boldsymbol{X}^+) + (\boldsymbol{I} - \boldsymbol{X}^+\boldsymbol{X})\dot{\boldsymbol{X}}^\top \boldsymbol{X}^{+\top}\boldsymbol{X}^+$
条件:$\boldsymbol{X}(t)$ が時間の関数、ランク一定
証明

8.2.1 で $d\boldsymbol{X}$ を $\dot{\boldsymbol{X}} dt$ に置き換えて $dt$ で割ると得られる。

ロボット工学では $\boldsymbol{J}^+$ の時間微分として、逆運動学の加速度制御に使用される。

\begin{equation} \ddot{\boldsymbol{q}} = \boldsymbol{J}^+\ddot{\boldsymbol{x}} + \dot{\boldsymbol{J}}^+\dot{\boldsymbol{x}} + (\boldsymbol{I} - \boldsymbol{J}^+\boldsymbol{J})\ddot{\boldsymbol{q}}_0 \label{eq:8-13-1} \end{equation}

8.2.5 右逆行列の導出

$$\boldsymbol{X}^+ = \boldsymbol{X}^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1} \quad \text{(行フルランク)}$$
条件:$\boldsymbol{X} \in \mathbb{R}^{m \times n}$ が行フルランク ($\text{rank}(\boldsymbol{X}) = m$, $m \le n$)
導出

行フルランクのとき $\boldsymbol{X}\boldsymbol{X}^\top$ は $m \times m$ の正定値行列で可逆である。

$\boldsymbol{X}^+ = \boldsymbol{X}^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1}$ とおくと、Moore-Penrose の 4 条件を確認できる。

(1) $\boldsymbol{X}\boldsymbol{X}^+\boldsymbol{X} = \boldsymbol{X}\boldsymbol{X}^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1}\boldsymbol{X} = \boldsymbol{X}$ ✓

(2) $\boldsymbol{X}^+\boldsymbol{X}\boldsymbol{X}^+ = \boldsymbol{X}^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1}\boldsymbol{X}\boldsymbol{X}^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1} = \boldsymbol{X}^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1} = \boldsymbol{X}^+$ ✓

(3) $(\boldsymbol{X}\boldsymbol{X}^+)^\top = (\boldsymbol{X}\boldsymbol{X}^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1})^\top = \boldsymbol{I}^\top = \boldsymbol{I} = \boldsymbol{X}\boldsymbol{X}^+$ ✓

(4) $(\boldsymbol{X}^+\boldsymbol{X})^\top = (\boldsymbol{X}^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1}\boldsymbol{X})^\top = \boldsymbol{X}^\top((\boldsymbol{X}\boldsymbol{X}^\top)^{-1})^\top\boldsymbol{X} = \boldsymbol{X}^\top(\boldsymbol{X}\boldsymbol{X}^\top)^{-1}\boldsymbol{X} = \boldsymbol{X}^+\boldsymbol{X}$ ✓

4 条件をすべて満たすので、これが Moore-Penrose 擬似逆行列である。$\square$

8.2.6 左逆行列の導出

$$\boldsymbol{X}^+ = (\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top \quad \text{(列フルランク)}$$
条件:$\boldsymbol{X} \in \mathbb{R}^{m \times n}$ が列フルランク ($\text{rank}(\boldsymbol{X}) = n$, $m \ge n$)
導出

列フルランクのとき $\boldsymbol{X}^\top\boldsymbol{X}$ は $n \times n$ の正定値行列で可逆である。

$\boldsymbol{X}^+ = (\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top$ とおくと、Moore-Penrose の 4 条件を確認できる。

(1) $\boldsymbol{X}\boldsymbol{X}^+\boldsymbol{X} = \boldsymbol{X}(\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top\boldsymbol{X} = \boldsymbol{X}$ ✓

(2) $\boldsymbol{X}^+\boldsymbol{X}\boldsymbol{X}^+ = (\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top\boldsymbol{X}(\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top = (\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top = \boldsymbol{X}^+$ ✓

(3) $(\boldsymbol{X}\boldsymbol{X}^+)^\top = (\boldsymbol{X}(\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top)^\top = \boldsymbol{X}(\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top = \boldsymbol{X}\boldsymbol{X}^+$ ✓

(4) $(\boldsymbol{X}^+\boldsymbol{X})^\top = ((\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top\boldsymbol{X})^\top = \boldsymbol{I}^\top = \boldsymbol{I} = \boldsymbol{X}^+\boldsymbol{X}$ ✓

4 条件をすべて満たすので、これが Moore-Penrose 擬似逆行列である。$\square$

補足:この公式は最小二乗法 $\min_{\boldsymbol{x}} \|\boldsymbol{X}\boldsymbol{x} - \boldsymbol{b}\|^2$ の正規方程式 $\boldsymbol{X}^\top\boldsymbol{X}\boldsymbol{x} = \boldsymbol{X}^\top\boldsymbol{b}$ の解 $\boldsymbol{x} = (\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top\boldsymbol{b}$ に対応する。

参考文献

  • 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.
  • Matrix calculus - Wikipedia