logo

ラプラス展開 📂行列代数

ラプラス展開

整理

正方行列 An×n=(aij)A_{n \times n} = (a_{ij}) が与えられているとしよう。

  • [1]: 選択された ii 行について detA=j=1naijCij \det A = \sum_{j=1}^{n} a_{ij} C_{ij}
  • [2]: 選択された jj 列について detA=i=1naijCij \det A = \sum_{i=1}^{n} a_{ij} C_{ij}

  • 正方行列 An×n=(aij)A_{n \times n} = (a_{ij})ii 番目の行と jj 番目の列を除いた行列行列式 MijM_{ij} を小行列式といい、これに対しCij:=(1)i+jMijC_{ij} := (-1)^{i + j} M_{ij}余因子という。

説明

ラプラス展開余因子展開とも呼ばれる理論で、その便利さは言葉では表せない。ただ定義だけを持って行列式を計算するよりずっと簡単だ。特別な条件が整った行列の行列式を求める時、その利点はさらに増すので、このファクトは絶対に知っておくべきだ。

例示

すぐにでもある行列が可逆行列かどうかを判断する際に使える例として、次のラプラス展開を見てみよう。

det[123456789]=1568924679+34578=1(3)2(6)+3(3)=0 \begin{align*} \displaystyle \det \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} =& 1 \cdot \begin{vmatrix} 5 & 6 \\ 8 & 9 \end{vmatrix} - 2 \cdot \begin{vmatrix} 4 & 6 \\ 7 & 9 \end{vmatrix} + 3 \cdot \begin{vmatrix} 4 & 5 \\ 7 & 8 \end{vmatrix} \\ =& 1 \cdot (-3) - 2 \cdot (-6) + 3 \cdot (-3) \\ =& 0 \end{align*}

それゆえ、det[123456789]\displaystyle \det \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} は逆行列が存在しないことを容易に確認できる。

コード

次はJuliaでラプラス展開を実装して検証する内容のコードだ。実質的には数式をそのまま移したレベルで、実際にはとても非効率的に実装されている状態だ。これについては、次のポストを参照するといい: