零行列を含むブロック行列の行列式を簡単に求める方法

零行列を含むブロック行列の行列式を簡単に求める方法を紹介します。

 


コンテンツ

$\small \det(X)=\det(A)\det(D)$ が成り立つ($\small X=\left[ \begin{array}{cc}A & O \\ C & D \end{array} \right]$)

使い方

 

 $\small \det\left[ \begin{array}{cc}A & O \\ C & D \end{array} \right]=\det(A)\det(D)$ が成り立つ

$\left[ \begin{array}{cc}A & B \\ O & D \end{array} \right]$ や $\left[ \begin{array}{cc}A & O \\ C & D \end{array} \right]$ などの零行列を含む行列の行列式は対角ブロック行列の$A$と$D$の行列式の積で表せるので、各成分をマジメに計算しなくても求めることができます。

このことは以下のように正当化されます。

一般の場合を考えて$$X=\left[ \begin{array}{cc}A & O \\ C & D \end{array} \right]=[x_{ij}]$$と置き、$A$は$n$次正方行列、$D$は$m$次正方行列とします。このとき$X$は $s=n+m$ 次正方行列となります。

 

ここで、行列$X$の行列式は$$(*)\quad\det(X)= \sum_{\sigma \in S_n} {\rm sgn}(\sigma)x_{1\sigma(1)}x_{2\sigma(2)}\cdots x_{s\sigma(s)}$$で与えられます。ただし、$n$個の数字の置換全体の集合を$S_n$と置いています。

 

もとの行列$X$の零行列の部分に注目すると、$1\leqq i \leqq n$ および $n+1\leqq j \leqq s$ のとき $x_{ij}=0$ となるので、$(*)$における和は$$\{\sigma(1),\sigma(2),\cdots,\sigma(n) \}=\{1,\,2,\,\cdots,\,n\}$$について取れば良いことになります。

 

このとき、残りの置換について、$$\{\sigma(n+1),\sigma(n+2),\cdots,\sigma(s) \}=\{n+1,\,n+2,\,\cdots,\,s\}$$となります。いま、これらの2つの置換を、$$\begin{align}\tau&=\left(\begin{array}{cccc}1&2&\cdots&n\\\sigma(1)&\sigma(2)&\cdots&\sigma(n)\end{array}\right)\\ \\\rho&=\left(\begin{array}{cccc}n+1&n+2&\cdots&s\\\sigma(n+1)&\sigma(n+2)&\cdots&\sigma(s)\end{array}\right)\end{align}$$と置きます。ただし、$\tau \in S_{n}$、$\rho \in S_{s-n}$ です。また、元の置換$\sigma$は $\sigma=\tau \rho$ で表すことができます。

 

置換の符号について、$${\rm sgn}(\sigma) = {\rm sgn}(\tau \rho)={\rm sgn}(\tau){\rm sgn}(\rho)$$が成り立つので、$X$の行列式$(*)$は、$$\small \begin{align} & \quad \det(X) \\ &= \sum_{\tau\rho} {\rm sgn}(\tau \rho)\, x_{1\tau(1)}\cdots x_{n\tau(n)} \, x_{n+1\rho(n+1)}\cdots x_{s\rho(s)} \\ &=\left( \sum_{\tau} {\rm sgn}(\tau) \, x_{1\tau(1)}\cdots x_{n\tau(n)} \right)\left( \sum_{\rho} {\rm sgn}(\rho) \, x_{n+1\rho(n+1)}\cdots x_{s\rho(s)} \right)\\ &=\det(A)\,\det(D)\end{align}$$で与えられます。

結局、$$\det\left[ \begin{array}{cc}A & O \\ C & D \end{array} \right]=\det(A)\det(D)$$という関係式が成立するので、零ブロック行列が含まれる場合は対角ブロックについてのみ考えればよく、計算の手間が大幅に削減できます。

一般に、行列$A$が正則のとき$$\det\left[ \begin{array}{cc}A & B \\ C & D \end{array} \right]=\det(A)\det (D-CA^{-1}B)$$が成り立ち、行列$D$が正則のときは$$\det\left[ \begin{array}{cc}A & B \\ C & D \end{array} \right]=\det(D)\det (A-BD^{-1}C)$$が成り立ちます。$B=O$、もしくは $C=O$ とすると右辺が $\det(A)\det(D)$ となることはこの事実からも分かります。

 

 使い方

試しに、次の行列の行列式を求めてみましょう。$$\det\left[\begin{array}{ccccc}
3 & 5 & 1 & 2 & -1 \\
2 & 6 & 0 & 9 & 1 \\
0 & 0 & 7 & 1 & 2 \\
0 & 0 & 3 & 2 & 5 \\
0 & 0 & 0 & 0 & -6
\end{array}\right]$$

$\begin{align}
& \quad \left|\begin{array}{cc:ccc}
3 & 5 & 1 & 2 & -1 \\
2 & 6 & 0 & 9 & 1 \\
\hdashline \color{red}{0} & \color{red}{0} & 7 & 1 & 2 \\
\color{red}{0} & \color{red}{0} & 3 & 2 & 5 \\
\color{red}{0} & \color{red}{0} & 0 & 0 & -6
\end{array}\right| \\
&= \left|\begin{array}{cc}
3 & 5 \\
2 & 6
\end{array}\right|\left|\begin{array}{cc:c}
7 & 1 & 2 \\
3 & 2 & 5 \\
\hdashline \color{red}{0} & \color{red}{0} & -6
\end{array}\right| \\
&= -6\left|\begin{array}{cc}
3 & 5 \\
2 & 6
\end{array}\right|\left|\begin{array}{cc}
7 & 1 \\
3 & 2
\end{array}\right| \\
&= -6 \cdot 8 \cdot 11 \\
&= -528 \quad \cdots (\text{答})
\end{align}$

上の例では零行列部分の縮約を2回行って求めています。愚直に計算する場合だと5つの成分からなる120組の積の和を計算しなければならないので大変です。


では、次の行列ではどうでしょうか。$$\det\left[\begin{array}{lllll}
3 & 5 & 1 & 2 & 1 \\
2 & 6 & 0 & 9 & 3 \\
3 & 6 & 7 & 1 & 2 \\
2 & 7 & 0 & 0 & 0 \\
1 & 5 & 0 & 0 & 0 \\
\end{array}\right]$$計算は以下のように行われます。

$\begin{array}{l}
\\
& \quad \left|\begin{array}{lllll}
3 & 5 & 1 & 2 & 1 \\
2 & 6 & 0 & 9 & 3 \\
3 & 6 & 7 & 1 & 2 \\
2 & 7 & \color{red}{0} & \color{red}{0} & \color{red}{0} \\
1 & 5 & \color{red}{0} & \color{red}{0} & \color{red}{0}
\end{array}\right| \\
&=\left|\begin{array}{ll:lll}
2 & 7 & \color{red}{0} & \color{red}{0} & \color{red}{0} \\
1 & 5 & \color{red}{0} & \color{red}{0} & \color{red}{0} \\
\hdashline 3 & 6 & 7 & 1 & 2 \\
3 & 5 & 1 & 2 & 1 \\
2 & 6 & 0 & 9 & 3
\end{array}\right| \quad \small{(\text{行を入れ替えた})} \\
&= \left|\begin{array}{ll}
2 & 7 \\
1 & 5
\end{array}\right|\left|\begin{array}{lrr}
7 & 1 & 2 \\
1 & 2 & 1 \\
0 & 9 & 3
\end{array}\right| \\
&= 3\left|\begin{array}{lrr}
7 & 1 & 2 \\
1 & 2 & 1 \\
0 & 9 & 3
\end{array}\right| \\
&= 3 \cdot 3\left|\begin{array}{lrr}
7 & 1 & 2 \\
1 & 2 & 1 \\
0 & 3 & 1
\end{array}\right| \begin{array}{r} \\ \\ \quad \small{(\leftarrow \text{3を括り出した}) }\end{array}\\
&= 3 \cdot 3\left|\begin{array}{ccc}
0 & -13 & -5 \\
1 & 2 & 1 \\
0 & 3 & 1
\end{array}\right| \begin{array}{r} \quad \small{(\leftarrow ①+②\times(-7))} \\ \\ \\ \end{array} \\
&= -9\left|\begin{array}{c:cc}
1 & 2 & 1 \\
\hdashline \color{red}{0} & -13 & -5 \\
\color{red}{0} & 3 & 1
\end{array}\right| \quad \small{(\text{行を入れ替えた})} \\
&= -9\left|\begin{array}{cc}
-13 & -5 \\
3 & 1
\end{array}\right| \\
&= -9 \cdot 2 \\
&= -18 \quad \cdots (\text{答})
\end{array}$

このように行列の基本変形を利用することで零行列を作り出し、計算の手間を削減することができます。4次以上の行列の場合はマジメに計算してしまうよりも、零行列が隠れていないか調べた方が良いでしょう。


 

“零行列を含むブロック行列の行列式を簡単に求める方法” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です