Home
3302 words
17 minutes
『The Matrix Cookbook』Page 9完全解読:複合行列式の微分と逆行列の摂動論

last_modified: 2026-01-10

生成AIによる自動生成記事に関する免責事項: 本記事は、Petersen & Pedersen著 The Matrix Cookbook (Nov 15, 2012 edition) のPage 9の内容(公式49〜59)を骨子とし、数理的な証明と応用例を大幅に加筆して再構成した解説記事です。筆者の学習目的で生成したものです。正確な内容は必ず一次情報で確認してください。

1. 序論:基礎から応用への架橋#

前ページ(Page 8)では、行列微分の「アルファベット」とも言うべき、単純な行列式 det(X)\det(X) や逆行列 X1X^{-1} の微分公式を確立しました。これに対し、Page 9(Section 2.1.2以降)は、それらを組み合わせた「文章」を扱うフェーズに入ります。

具体的には、統計学におけるウィシャート分布(Wishart Distribution)の解析や、機械学習におけるガウス過程(Gaussian Process)のカーネル学習、あるいは信号処理におけるビームフォーミングなどで頻出する「二次形式の行列式 det(XTAX)\det(X^T A X)」の微分がここでの主役です。

また、Section 2.2 で扱われる逆行列の微分公式は、数値解析における**準ニュートン法(Quasi-Newton Method)**の更新式導出や、構造力学における感度解析の基礎となる恒等式です。本稿では、これらの公式を一つ一つ解剖し、その数理的構造を明らかにします。


2. 線形形式の行列式 (Linear Forms)#

まずは、Page 8の復習を兼ねて、定数行列を含む線形変換された行列の行列式微分を確認します。これらは、より複雑な非線形形式を扱うための基礎となります。

2.1 基本公式と余因子の恒等式 (Eq. 49–51)#

【公式一覧】

det(X)X=det(X)(X1)T(49)\frac{\partial \det(X)}{\partial X} = \det(X) (X^{-1})^T \tag{49} kdet(X)XikXjk=δijdet(X)det(AXB)X=det(AXB)(X1)T\begin{align} \sum_k \frac{\partial \det(X)}{\partial X_{ik}} X_{jk} &= \delta_{ij} \det(X) \tag{50} \\ \frac{\partial \det(AXB)}{\partial X} &= \det(AXB) (X^{-1})^T \tag{51} \end{align}

【詳細な解説】

  1. ヤコビの公式の再訪 (Eq. 49): この式は Page 8 で導出したヤコビの公式そのものですが、幾何学的な視点から再解釈します。行列式 det(X)\det(X) は、XX の列ベクトルが張る平行六面体の「体積」を表します。体積の勾配が (X1)T(X^{-1})^T (逆行列の転置)になるという事実は、「各列ベクトルに対して直交する方向(双対基底の方向)に動いたときのみ、体積が最も効率的に変化する」ということを意味しています。

  2. 余因子展開の恒等式 (Eq. 50): この式は微分形式で書かれていますが、実質的にはクラメルの公式(Cramer’s Rule)や余因子展開の性質を表しています。 det(X)Xik\frac{\partial \det(X)}{\partial X_{ik}}(i,k)(i, k) 余因子 CikC_{ik} に他なりません。したがって、左辺は kCikXjk\sum_k C_{ik} X_{jk} となります。これは「行列 XX とその余因子行列の転置(随伴行列)の積」の (j,i)(j, i) 成分です。

    X(adjX)=det(X)IX (\text{adj} X) = \det(X) I

    この線形代数の基本恒等式の成分表示そのものが Eq. 50 です。

  3. 定数行列の透過性 (Eq. 51): 合成関数 f(X)=det(AXB)f(X) = \det(AXB) を微分します。A,X,BA, X, B が正方行列の場合、行列式の乗法性により det(AXB)=det(A)det(X)det(B)\det(AXB) = \det(A)\det(X)\det(B) と分解できます。det(A)det(B)\det(A)\det(B) は定数係数として振る舞うため、

    X(cdet(X))=cdet(X)(X1)T=det(AXB)(X1)T\frac{\partial}{\partial X} (c \det(X)) = c \det(X) (X^{-1})^T = \det(AXB) (X^{-1})^T

    となります。


3. 二次形式の行列式 (Square Forms)#

ここからがPage 9のハイライトです。Y=XTAXY = X^T A X という形の行列(グラム行列の一般化)の行列式を微分します。これは、共分散行列の推定や次元圧縮(PCA)などで頻出する形式です。

3.1 正方行列の場合 (Eq. 52)#

XX が正方かつ正則である場合、最もシンプルな形になります。

【公式】

det(XTAX)X=2det(XTAX)XT(52)\frac{\partial \det(X^T A X)}{\partial X} = 2 \det(X^T A X) X^{-T} \tag{52}

【導出】 行列式の乗法性を用います。

f(X)=det(XTAX)=det(XT)det(A)det(X)=det(A)(det(X))2f(X) = \det(X^T A X) = \det(X^T) \det(A) \det(X) = \det(A) (\det(X))^2

これを XX で微分します。スカラー関数の連鎖律 d(u2)=2udud(u^2) = 2u du を想起してください。

d(det(A)(det(X))2)=det(A)2det(X)d(det(X))=2det(A)det(X)det(X)Tr(X1dX)=2det(XTAX)Tr(X1dX)\begin{aligned} d(\det(A) (\det(X))^2) &= \det(A) \cdot 2 \det(X) \cdot d(\det(X)) \\ &= 2 \det(A) \det(X) \cdot \det(X) \text{Tr}(X^{-1} dX) \\ &= 2 \det(X^T A X) \text{Tr}(X^{-1} dX) \end{aligned}

勾配形式に直すと、

fX=2det(XTAX)(X1)T=2det(XTAX)XT\frac{\partial f}{\partial X} = 2 \det(X^T A X) (X^{-1})^T = 2 \det(X^T A X) X^{-T}

となり、公式と一致します。スカラーの微分 (ax2)=2ax(ax^2)' = 2ax と構造が酷似しており、「二次形式の微分には係数2が現れる」という直感がここでも成立します。

3.2 非正方行列・対称 AA の場合 (Eq. 53)#

実用上、最も重要なのがこのケースです。例えば XRM×NX \in \mathbb{R}^{M \times N} (M>NM > N) の場合、XTAXX^T A XN×NN \times N の行列となり、行列式が定義可能です。しかし、XX 自体は正方ではないため、det(X)\det(X) に分解することはできません。

【公式】

det(XTAX)X=2det(XTAX)AX(XTAX)1(53)\frac{\partial \det(X^T A X)}{\partial X} = 2 \det(X^T A X) A X (X^T A X)^{-1} \tag{53}

【導出:トレースを用いた厳密証明】 合成関数の微分公式(連鎖律)を使います。Y=XTAXY = X^T A X と置きます。

d(detY)=detYTr(Y1dY)d(\det Y) = \det Y \text{Tr}(Y^{-1} dY)

ここで dYdY を計算します。AA は定数行列です。

dY=d(XTAX)=(dX)TAX+XTA(dX)dY = d(X^T A X) = (dX)^T A X + X^T A (dX)

これをトレースの式に代入します。

Tr(Y1dY)=Tr(Y1(dX)TAX)+Tr(Y1XTAdX)\text{Tr}(Y^{-1} dY) = \text{Tr}(Y^{-1} (dX)^T A X) + \text{Tr}(Y^{-1} X^T A dX)

第1項について、トレースの性質 Tr(M)=Tr(MT)\text{Tr}(M) = \text{Tr}(M^T) と、Y1Y^{-1} が対称行列であること(AA が対称なら YY も対称、よって Y1Y^{-1} も対称)を利用します。

Tr(Y1(dX)TAX)=Tr((Y1(dX)TAX)T)=Tr(XTATdXYT)\text{Tr}(Y^{-1} (dX)^T A X) = \text{Tr}((Y^{-1} (dX)^T A X)^T) = \text{Tr}(X^T A^T dX Y^{-T})

AT=A,YT=Y1A^T=A, Y^{-T}=Y^{-1} より、これは Tr(XTAdXY1)=Tr(Y1XTAdX)\text{Tr}(X^T A dX Y^{-1}) = \text{Tr}(Y^{-1} X^T A dX) となり、第2項と一致します。 したがって、

Tr(Y1dY)=2Tr(Y1XTAdX)=2Tr(AXY1dX)(巡回性)\text{Tr}(Y^{-1} dY) = 2 \text{Tr}(Y^{-1} X^T A dX) = 2 \text{Tr}(A X Y^{-1} dX) \quad (\text{巡回性})

これを勾配行列の形(dXdX の係数行列の転置)として読み取ります。

detYX=detY2(AXY1)=2det(XTAX)AX(XTAX)1\frac{\partial \det Y}{\partial X} = \det Y \cdot 2 (A X Y^{-1}) = 2 \det(X^T A X) A X (X^T A X)^{-1}

3.3 非正方行列・一般の AA の場合 (Eq. 54)#

AA が対称でない場合、先ほどの導出における「第1項と第2項が同じになる」というステップが成立しません。

【公式】

det(XTAX)X=det(XTAX)(AX(XTAX)1+ATX(XTATX)1)(54)\frac{\partial \det(X^T A X)}{\partial X} = \det(X^T A X) \left( A X (X^T A X)^{-1} + A^T X (X^T A^T X)^{-1} \right) \tag{54}

※ 原典の数式 (54) にある (XTATX)1(X^T A^T X)^{-1}((XTAX)T)1=(XTAX)T( (X^T A X)^T )^{-1} = (X^T A X)^{-T} と同義です。

【導出】 トレース計算において、項をまとめずに個別に勾配を評価します。

Tr(Y1dY)=Tr(Y1(dX)TAX)+Tr(Y1XTAdX)=Tr(AXY1(dX)T)+Tr(Y1XTAdX)=Tr((AXY1)TdX)+Tr(Y1XTAdX)\begin{aligned} \text{Tr}(Y^{-1} dY) &= \text{Tr}(Y^{-1} (dX)^T A X) + \text{Tr}(Y^{-1} X^T A dX) \\ &= \text{Tr}(A X Y^{-1} (dX)^T) + \text{Tr}(Y^{-1} X^T A dX) \\ &= \text{Tr}( (A X Y^{-1})^T dX ) + \text{Tr}( Y^{-1} X^T A dX ) \end{aligned}

勾配 GGdXdX の係数の転置の和となります。

G=((AXY1)T)T+(Y1XTA)T=AXYT+ATXYT\begin{aligned} G &= ( (A X Y^{-1})^T )^T + (Y^{-1} X^T A)^T \\ &= A X Y^{-T} + A^T X Y^{-T} \end{aligned}

これを整理することで Eq. 54 が得られます。この一般形は、制御工学における非保存力場など、特殊な非対称システムを扱う際に有用です。


4. その他の非線形形式 (Other Nonlinear Forms)#

Section 2.1.4 では、対数行列式やべき乗など、さらに特殊な関数の微分が列挙されています。これらは機械学習の損失関数設計などで頻出します。

4.1 対数行列式と擬似逆行列 (Eq. 55–56)#

XTXX^T X の対数行列式の微分です。これは特異値分解(SVD)や主成分分析(PCA)に関連します。

【公式】

lndet(XTX)X=2(X+)T\frac{\partial \ln \det(X^T X)}{\partial X} = 2 (X^+)^T

【解説:ムーア・ペンローズ擬似逆行列】 ここで X+X^+ムーア・ペンローズ擬似逆行列(Moore-Penrose Pseudoinverse) を指します。 もし XX が列フルランク(rank(X)=N\text{rank}(X)=N)であれば、X+=(XTX)1XTX^+ = (X^T X)^{-1} X^T となります。 Eq. 53 (A=IA=I のケース) より、det(XTX)/X=2det(XTX)X(XTX)1\partial \det(X^T X) / \partial X = 2 \det(X^T X) X (X^T X)^{-1} です。 対数微分の連鎖律 lnf/X=(1/f)f/X\partial \ln f / \partial X = (1/f) \cdot \partial f / \partial X を適用すると、

lndet(XTX)X=2X(XTX)1\frac{\partial \ln \det(X^T X)}{\partial X} = 2 X (X^T X)^{-1}

この右辺は 2((XTX)1XT)T=2(X+)T2 ( (X^T X)^{-1} X^T )^T = 2 (X^+)^T と書き直せます。 この公式は、行列 XX が正方でない場合でも、その「情報量(体積の二乗)」の勾配が擬似逆行列によって簡潔に表現できることを示しており、低ランク近似の最適化において極めて重要です。

4.2 絶対値付き行列式 (Eq. 57)#

行列式が負になりうる実数行列の場合への一般化です。

【公式】

lndet(X)X=(X1)T\frac{\partial \ln |\det(X)|}{\partial X} = (X^{-1})^T

【解説】 lnu\ln|u| の微分が 1/u1/u であること(u0u \neq 0)と同様に、行列式の符号は微分の過程で相殺されます。これにより、符号を気にせずヤコビの公式を適用可能です。

4.3 べき乗の行列式 (Eq. 58)#

【公式】

det(Xk)X=kdet(Xk)XT\frac{\partial \det(X^k)}{\partial X} = k \det(X^k) X^{-T}

【導出】 det(Xk)=(det(X))k\det(X^k) = (\det(X))^k です。合成関数の微分により、

d((detX)k)=k(detX)k1d(detX)=k(detX)k1detXTr(X1dX)=kdet(Xk)Tr(X1dX)\begin{aligned} d( (\det X)^k ) &= k (\det X)^{k-1} \cdot d(\det X) \\ &= k (\det X)^{k-1} \cdot \det X \cdot \text{Tr}(X^{-1} dX) \\ &= k \det(X^k) \text{Tr}(X^{-1} dX) \end{aligned}

よって勾配は kdet(Xk)XTk \det(X^k) X^{-T} となります。スカラーの微分 kxk1kx^{k-1} との整合性が美しい公式です。


5. 逆行列の微分 (Derivatives of an Inverse)#

Page 9 の後半、Section 2.2 は、行列式の微分と並んで行列微分の「双璧」をなす、逆行列の微分公式です。

基本恒等式 (Eq. 59)#

【公式】

Y1x=Y1YxY1(59)\frac{\partial Y^{-1}}{\partial x} = -Y^{-1} \frac{\partial Y}{\partial x} Y^{-1} \tag{59}

ここで xx はスカラー変数、YYxx に依存する行列 Y(x)Y(x) です。

【完全な証明】

  1. 恒等式の出発点: Y(x)Y1(x)=IY(x) Y^{-1}(x) = I
  2. 両辺を xx で微分: (YY1)x=Ix=0\frac{\partial (Y Y^{-1})}{\partial x} = \frac{\partial I}{\partial x} = 0
  3. 積の微分公式(ライプニッツ則): 行列積の順序を崩さないように注意します。 YxY1+YY1x=0\frac{\partial Y}{\partial x} Y^{-1} + Y \frac{\partial Y^{-1}}{\partial x} = 0
  4. 左から Y1Y^{-1} を乗算して移項: Y1x=Y1YxY1\frac{\partial Y^{-1}}{\partial x} = - Y^{-1} \frac{\partial Y}{\partial x} Y^{-1}

【意義】 スカラー関数 1/y2-1/y^2 に相当しますが、行列の非可換性により、導関数が Y1Y^{-1} に「挟み撃ち」される形になります。この構造は、数値解析や物理シミュレーションにおいて決定的な役割を果たします。


6. 実践的応用例:数式から現実世界へ#

Page 9 の公式群(特に Eq. 53, Eq. 56, Eq. 59)が実際にどのように組み合わされて使われるか、機械学習の具体例で示します。

応用例:ガウス過程回帰 (GPR) におけるハイパーパラメータ推定#

【問題設定】 ガウス過程回帰において、カーネル行列 K(θ)K(\theta) (要素はハイパーパラメータ θ\theta に依存)を持つ対数周辺尤度 L(θ)L(\theta) を最大化したいとします。

L(θ)=12yTK(θ)1y12lndetK(θ)N2ln(2π)L(\theta) = -\frac{1}{2} \mathbf{y}^T K(\theta)^{-1} \mathbf{y} - \frac{1}{2} \ln \det K(\theta) - \frac{N}{2} \ln(2\pi)

【勾配の導出】 勾配法(共役勾配法など)で θ\theta を更新するために、Lθ\frac{\partial L}{\partial \theta} を計算します。

  1. データ適合項(第1項)の微分: 二次形式 yTK1y\mathbf{y}^T K^{-1} \mathbf{y} の微分です。Eq. 59(逆行列の微分)を使います。

    θ(yTK1y)=yT(K1KθK1)y=(K1y)TKθ(K1y)=αTKθα(ここで α=K1y)\begin{aligned} \frac{\partial}{\partial \theta} (\mathbf{y}^T K^{-1} \mathbf{y}) &= \mathbf{y}^T \left( -K^{-1} \frac{\partial K}{\partial \theta} K^{-1} \right) \mathbf{y} \\ &= - (K^{-1} \mathbf{y})^T \frac{\partial K}{\partial \theta} (K^{-1} \mathbf{y}) \\ &= - \boldsymbol{\alpha}^T \frac{\partial K}{\partial \theta} \boldsymbol{\alpha} \quad (\text{ここで } \boldsymbol{\alpha} = K^{-1}\mathbf{y}) \end{aligned}
  2. 複雑性ペナルティ項(第2項)の微分: 対数行列式の微分です。Page 8 の Eq. 42(Page 9 Eq. 53 の簡易版)を使います。

    θlndetK=Tr(K1Kθ)\frac{\partial}{\partial \theta} \ln \det K = \text{Tr}\left( K^{-1} \frac{\partial K}{\partial \theta} \right)
  3. 全体の勾配: これらを合わせると、以下の美しい更新式が得られます。

    Lθ=12Tr((ααTK1)Kθ)\frac{\partial L}{\partial \theta} = \frac{1}{2} \text{Tr}\left( (\boldsymbol{\alpha} \boldsymbol{\alpha}^T - K^{-1}) \frac{\partial K}{\partial \theta} \right)

この結果は、Page 9 で学んだ「逆行列の微分」と「行列式の微分」が見事に融合して初めて得られるものです。GPyTorchやGPflowなどの最新ライブラリの内部では、まさにこの計算が行われています。


7. 結論#

『The Matrix Cookbook』Page 9 は、一見すると複雑な数式の羅列に見えますが、その実体は**「多変量解析のための微積分ツールキット」**です。

  • Eq. 49-51: 線形変換された空間の体積変化率。
  • Eq. 52-54: グラム行列や共分散行列といった「情報の構造」の微分。
  • Eq. 56: 擬似逆行列へと繋がる、低ランク構造の解析。
  • Eq. 59: システムの変動に対する逆応答の感度解析。

これらの公式を自在に操れるようになることは、単に計算ができるようになるだけでなく、統計モデルや物理シミュレーションの「挙動」を数式レベルで直感的に理解する力(リテラシー)を身につけることを意味します。

参考文献#

  1. Petersen, K. B., & Pedersen, M. S. (2012). The Matrix Cookbook. Technical University of Denmark. (Page 9, Eqs 49-59)
  2. Rasmussen, C. E., & Williams, C. K. I. (2006). Gaussian Processes for Machine Learning. MIT Press. (Application to GPR)
  3. Magnus, J. R., & Neudecker, H. (2019). Matrix Differential Calculus with Applications in Statistics and Econometrics. John Wiley & Sons.
  4. Nocedal, J., & Wright, S. J. (2006). Numerical Optimization. Springer. (Quasi-Newton methods)
『The Matrix Cookbook』Page 9完全解読:複合行列式の微分と逆行列の摂動論
https://ss0832.github.io/posts/20260110_the_matrix_cookbook_3/
Author
ss0832
Published at
2026-01-10
License
CC BY-NC-SA 4.0

Related Posts

『The Matrix Cookbook』Page 16完全解読:テープリッツ行列の微分と構造化行列の総括
2026-01-10
『The Matrix Cookbook』の最終ページ(Page 16)に記載されたテープリッツ行列の微分公式(Eq. 143-144)を完全網羅。対角成分が連動する特殊構造における微分の定義 α(A) と、対称テープリッツ行列への拡張、さらにシリーズ全体の総括を含めた包括的解説書。
『The Matrix Cookbook』Page 12完全解読:勾配・ヘッセ行列・トレース微分の基礎
2026-01-10
『The Matrix Cookbook』Page 12に記載された一般化レイリー商の微分、勾配とヘッセ行列の定義、およびトレース微分の基礎公式(Eq. 92-105)を完全網羅。ニュートン法による最適化、信号処理における固有値解析への応用を含め、数理的背景から実務実装までを体系的に論じる包括的解説書。
『The Matrix Cookbook』Page 8完全解読:行列微分の構造・証明・応用
2026-01-10
『The Matrix Cookbook』Page 8を起点に、行列式の微分(ヤコビの公式)の完全証明(固有値分解・行列指数関数)、対数行列式の凸性解析、そして統計学(多変量正規分布の最尤推定)・物理学(連続体力学)・最適制御(D-最適計画)への具体的応用までを体系的に論じる。公式の羅列を超え、数理的背景と実用性を兼ね備えた包括的な解説書。
『The Matrix Cookbook』Page 10完全解読:逆行列の成分微分・固有値摂動論・基本形式
2026-01-10
『The Matrix Cookbook』Page 10に記載された逆行列の成分ごとの微分公式、対称行列における固有値・固有ベクトルの微分(摂動論)、および基本的なベクトル・スカラー形式の一次微分(Eq. 60-75)を完全網羅。レイリー商の微分や、構造解析・主成分分析(PCA)への応用を含め、数理的背景から実務実装までを体系的に論じる包括的解説書。
『The Matrix Cookbook』Page 11完全解読:二次形式・高次形式・最小二乗法の微分
2026-01-10
『The Matrix Cookbook』Page 11に記載された二次形式(ベクトル・行列)、最小二乗法関連の微分、複素LMSアルゴリズム、および行列のn乗(高次形式)の微分公式(Eq. 76-91)を完全網羅。統計的推定や制御理論、機械学習の損失関数設計への応用を含め、数理的背景から実務実装までを体系的に論じる包括的解説書。
『The Matrix Cookbook』Page 13完全解読:トレース微分の二次形式と高次形式
2026-01-10
『The Matrix Cookbook』Page 13に記載された二次形式のトレース微分(Eq. 106-120)および高次形式のトレース微分(Eq. 121-123)を完全網羅。フロベニウスノルムの最小化(Ridge回帰、行列分解)やニューラルネットワークの損失関数設計への応用を含め、数理的背景から実務実装までを体系的に論じる包括的解説書。