二次の正方行列の逆行列の求め方

基礎

線形代数学を学び始めてしばらくすると直面する、逆行列の公式。一部の初学者にとっては、やや天下り的な公式にもみえるのではないでしょうか。 納得感を得られないまま計算だけをこなしている方も多いはずです。

二次の逆行列の公式、丸暗記するしかなくて苦手です…。 分母に adbcad - bc が出てきたり、成分が入れ替わったり、どうしてこんな形になるんですかね?

そう言いたい気持ちは十分わかります。 今回は3つの異なる解法から、この公式を導出してみましょう。

1. 逆行列の公式(二次)

まず、 2次の正方行列 AA を次のように置きます。

A=(abcd)A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}

このとき、adbc0ad - bc \neq 0 であれば、逆行列 A1A^{-1} は以下の式で与えられます。

A1=1adbc(dbca)A^{-1} = \frac{1}{ad - bc} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix}

時々どれがマイナスでどれが入れ替わるのか忘れてしまいますよね。。。 前についている分数の adbcad - bc って一体どこから出てきたんですか?

僕もしばらく使っていないと忘れる時があります。では、導出をしながら、なぜその形が出てくるかみていきましょう。

2. 連立方程式による導出

逆行列の定義とは、「元の行列に掛けると単位行列 E=(1001)E = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} になる行列」 のことです。

では、未知の逆行列を X=(xyzw)X = \begin{pmatrix} x & y \\ z & w \end{pmatrix} と置いて、AX=EAX = E の形から計算してみましょう。

(abcd)(xyzw)=(1001)\begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} x & y \\ z & w \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}

行列の積を展開すると、次の4つの式が得られます。

  1. ax+bz=1ax + bz = 1
  2. ay+bw=0ay + bw = 0
  3. cx+dz=0cx + dz = 0
  4. cy+dw=1cy + dw = 1

少し気になったのですが、 行列の掛け算って、掛ける順番が違うと結果が変わるんですよね? 右から掛けるか、左から掛けるか、どっちでもいいんですか?

そうですね、 厳密な定義では、元の行列を $A$、逆行列を $X$ とすると、「$AX = E$ かつ $XA = E$」の両方を満たす必要があります。 ですが実は、正方行列では「片方(たとえば $AX = E$)を満たす行列が見つかれば、自動的にもう片方($XA = E$)も満たす」んです。 なので、公式を導き出すだけなら、右から掛ける $AX = E$ の計算だけで十分です。

未知数が4つもある連立方程式……大変そうです。

例えば $x$ と $z$ についての式(1と3)に注目してください。

式3を変形すると cx=dzcx = -dz です。これを利用して加減法で zz を消去してみます。 (式1に dd を掛け、式3に bb を掛けて引く)

adx+bdz=dbcx+bdz=0(adbc)x=d\begin{aligned} adx + bdz &= d \\ bcx + bdz &= 0 \\ \hline (ad - bc)x &= d \end{aligned}

ここで、adbc0ad - bc \neq 0 という条件があれば、両辺を割ることで x=dadbcx = \frac{d}{ad - bc} が求まります。 同様の計算を y,z,wy, z, w についても行うと、公式通りの成分が次々と現れます。

つまり、$ad - bc$ という値は、連立方程式を解く際の「解が存在するための分母」として自然に姿を現します。

3. 行基本変形による導出

計算で求まるのは分かりましたが、3次や4次の行列でも連立方程式を解くのは現実的じゃないですよね? もっと汎用的な方法はないんですか?

行基本変形による解法を用いてみましょう。 左側に行列 $A$、右側に単位行列 $E$ を並べ、左側を $E$ に変形するように行を操作すると、右側が $A^{-1}$ になるという解法です。 (なぜ右側に逆行列が現れるのかは、行基本変形を施すということがどういうことなのかを考えてみましょう。)

初期状態の拡大行列は次のようになります。

(ab10cd01)\left( \begin{array}{cc|cc} a & b & 1 & 0 \\ c & d & 0 & 1 \end{array} \right)

目標は、左側を (1001)\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} にすることです。順を追って変形してみましょう(ここでは a0a \neq 0 と仮定します)。

① 1行目を aa で割る(左上を 1 にする)

(1ba1a0cd01)\left( \begin{array}{cc|cc} 1 & \frac{b}{a} & \frac{1}{a} & 0 \\ c & d & 0 & 1 \end{array} \right)

② 2行目から1行目の cc 倍を引く(左下を 0 にする)

2行目の成分は (cc1)(c - c \cdot 1)(dcba)(d - c \cdot \frac{b}{a}) になります。通分すると dbca=adbcad - \frac{bc}{a} = \frac{ad - bc}{a} です。

(1ba1a00adbcaca1)\left( \begin{array}{cc|cc} 1 & \frac{b}{a} & \frac{1}{a} & 0 \\ 0 & \frac{ad - bc}{a} & -\frac{c}{a} & 1 \end{array} \right)

③ 2行目を aadbc\frac{a}{ad - bc} 倍する(右下を 1 にする)

adbc0ad - bc \neq 0 を仮定します。

(1ba1a001cadbcaadbc)\left( \begin{array}{cc|cc} 1 & \frac{b}{a} & \frac{1}{a} & 0 \\ 0 & 1 & \frac{-c}{ad - bc} & \frac{a}{ad - bc} \end{array} \right)

④ 1行目から2行目の ba\frac{b}{a} 倍を引く(右上を 0 にする)

計算は少し大変ですが、これでついに左側が単位行列になります!

(10dadbcbadbc01cadbcaadbc)\left( \begin{array}{cc|cc} 1 & 0 & \frac{d}{ad - bc} & \frac{-b}{ad - bc} \\ 0 & 1 & \frac{-c}{ad - bc} & \frac{a}{ad - bc} \end{array} \right)

右側のを 1adbc\frac{1}{ad - bc} でくくるとあの公式の行列になっていますね。

この方法は、機械的に導けるのでぜひとも押さえておきたい方法ですね。

4. ケーリー・ハミルトンの定理

なるほど、逆行列のあの形の理由が、導出を通して何となく見えてきました。

いいですね。では、少しエレガントな導出を紹介しましょう。 2次正方行列が満たす「ケーリー・ハミルトンの定理」を使います。

2次正方行列 AA について、以下の等式が常に成り立ちます。(ケーリー・ハミルトンの定理)

A2(a+d)A+(adbc)E=OA^2 - (a + d)A + (ad - bc)E = O

ここで、定数項にあたる (adbc)E(ad - bc)E だけを右辺に残してみましょう。

A2(a+d)A=(adbc)EA^2 - (a + d)A = -(ad - bc)E

左辺を AA でくくります。

A{A(a+d)E}=(adbc)EA \{ A - (a + d)E \} = -(ad - bc)E

両辺を (adbc)-(ad - bc) で割ります。

A[1adbc{A(a+d)E}]=EA \cdot \left[ \frac{-1}{ad - bc} \{ A - (a + d)E \} \right] = E

逆行列の定義である、A×(何か)=EA \times (\text{何か}) = E という形になりましたね。 ということは、このカッコの中身が逆行列ってことですね。

正解です。カッコの中を計算すると、 $\frac{-1}{ad-bc} \left( \begin{pmatrix} a & b \\ c & d \end{pmatrix} - \begin{pmatrix} a+d & 0 \\ 0 & a+d \end{pmatrix} \right)$ となり、展開すればお馴染みの公式が導かれます。

まとめ

逆行列の公式は、その形こそなれるのに時間を要しますが、導出を通して少しでも理解が深まったと思います。 また、公式を公式として受け入れるだけでなく、普段から導出にも目を向けた学習を意識したいですね。


【StudyRecordで毎日の学習を習慣化しよう!】 \\ 勉強では、「少しずつでもいいから毎日続ける仕組み」を作ることが実力アップへの近道です。 「今日は疲れたからパス…」という日でも、まずは10分だけ机に向かってみませんか?学習タイマーと記録がひとつになったアプリで、日々の積み重ねを見える化してモチベーションを保ちましょう!

ぽてと アイコン ぽてと