ブログ
BLOG
こんにちは。究進塾編集部です。
今回は線形代数の解説の第2回です。逆行列の求め方と基本変形の関連についての解説をご紹介します。
📝この記事のポイント
・基本行列を使った逆行列の解法
・基本行列の例
・掃き出し法の例
はじめに
この記事は、究進塾の数学講師、久松真人先生の解説動画を参考に、線形代数について解説しています。音声を聞ける環境の方はぜひ動画をご覧頂き、久松先生の講義の雰囲気を掴んでいただければと思います。
動画紹介
【究進塾】大学補習チャンネル
【大学数学】線形代数 第2回 -逆行列の求め方と基本変形の関連-
(所要時間: 32分18秒)
東京工業大学卒業。東京工業大学大学院数学研究科博士課程修了。数学に特化した講師です。大学受験はもちろん、大学授業補習、大学院入試のサポートにも熟練しています。また、大学の情報系科目のサポートも経験があります。穏やかな性格と柔らかい雰囲気、丁寧な指導、そして数学愛が溢れる、おすすめ講師です。☆大学授業補習の詳細はこちら
逆行列の求め方
今回はこちらの問題を使い、逆行列の求め方について解説していきます。
次の行列の逆行列を求めよ。
\(
\left(
\begin{array}{crl}
2 & -3 & 1\\
1 & -2 & 3\\
4 & -1 & 1
\end{array}
\right)\)
逆行列とは
逆行列とは何か、少しだけおさらいします。
行列Aがあったとします。これに、とある別の行列Xを掛けたら単位行列になった、という場合を「逆行列」と言います。また定義としては、X×Aのように反対から掛けて、やはりこれも単位行列になったときに「Xの逆行列」と言います。
A・X=E
‖
X・A=E
通常は、\(A^¹\)という書き方をします。普通の数字で言う、いわゆる逆数に当たるようなものです。しかし行列の場合、普通の数字とは違う点があります。実数などの場合、0以外のものに対しては逆数・逆元が存在しますが、色々な事情があり、行列の場合には逆元が存在しません。
逆行列が存在しないものも色々ある中で「逆行列があるとするならば、それを求めてください」という問題に出くわすことが結構あるのではないかと思います。
今回は実際に「逆行列を求めるための方法」を紹介していきます。
逆行列の解法の種類
一般的に、逆行列の求め方には大きく分けて2つがあります。
②基本変形による解法
①の余因子行列は、随伴行列とも言います。
他にも「2×2行列」や、ダイレクトに逆行列を出す公式をご存知の方もいると思いますが、これは「①余因子行列による解法」の仲間です。2×2のときに余因子行列による解法を実際に書いてみた、というのが「2×2行列の逆行列の公式」に当たります。
そのため大雑把に言うと、解法はこの2種類あることになります。今回は「②基本変形による解法」を解説していきます。
ちなみに「①余因子行列による解法」は、逆行列がある・ないというのを知るための論理の展開には便利です。しかし、実際の計算にはあまり向きません。コンピューターの世界などで計算量理論というのもありますが、その視点で見ても計算に手間がかかり、あまりやりたくはない印象です。手計算でやるならなおさらです。そのため、大体の場合は「②基本変形による解法」の方が良いとされています。 |
基本変形のおさらい
基本変形を使った逆行列の計算について、紹介していきます。行列の基本変形については、前回の解説記事で連立方程式を解く時にも使いました。
行列の基本変形は本当に色々なシーンで登場し、色々な使い道があるので、覚えておきましょう。
やり方を詳細に知りたい方は、前回の解説「【大学数学】線形代数 第1回 -行列の基本変形・連立方程式の掃き出し法による解法-【大学数学】線形代数 第1回 -行列の基本変形・連立方程式の掃き出し法による解法-」をご覧ください。
②ある行とある行を入れ替える
③他の行にある行の定数倍を足す
これらの基本変形は、行に対してだけでなく、列に対しても行うことができます。しかし今回も、前回同様、行の基本変形しか使いません。
行列を求める方法の根幹は、行の基本変形を行うことで、一番最初の行列を単位行列まで変形していくことです。
基本行列を使った逆行列の解法
これでなぜ逆行列が求められるのか、ということですが、それに関しては次の「基本変形を表す行列」を考えると理解できます。先述の通り、基本行列と行列の基本変形には3種類の操作がありますが、実はこれらを表すことのできる行列というのが存在します。
これを仮に「基本行列」と呼びます。書籍によって呼び方が違うかもしれませんが、お手元の書籍の名前に合わせて呼んでください。基本変形のやり方は3種類ほどありますが、それに対応してこの基本行列も、大雑把な分類として3種類ぐらいあります。
基本行列 その①
\(
E_i(c)=
\begin{pmatrix}
1 & 0 & \dots & & & 0 \\
0 & 1 & & & & 0 \\
\vdots & & \ddots & & &\vdots \\
& & & c & & \\
& & & & \ddots & 0 \\
0 & 0 & \dots & & 0 & 1
\end{pmatrix}
\)
\(E_i(c)\)は、どこかの行を\(c\)倍する、定数倍するという操作に対応した行列です。左上の角に1があり、右下の角に向かって対角線上に1、1、1、1と並んでいます。他のところはほとんど全部0です。ほぼ単位行列ですが、真ん中の辺りが1ヶ所だけ\(c\)となっています。
左側の\(E\)の下に添え字で\(i\)としていますが、これは「\(i\)行、\(i\)列のところだけ1ではなく\(c\)とする」という行列を、\(E_i(c)\)と表しています。
斜めにしか数字が並んでいませんが、斜めに並んでいる1個目、2個目…と数えて\(i\)番目、つまり\(c\)の部分だけは指定した数字になっていて、他のところは全部1となっている行列を置いておきましょう、ということです。これを掛けることが、実は「ある行を定数倍する」あるいは「ある列を定数倍する」ことに対応した操作を行ったことになります。
基本行列 その②
\(
E_{i,j}=
\begin{pmatrix}
1 & 0 & \dots & & & & & 0 \\
0 & 1 & & & & & & 0 \\
\vdots & & \ddots & & & & & \vdots \\
& & & 0 & & 1 & & \\
\vdots & & & & \ddots & & & \vdots \\
& & & 1 & & 0 & & \\
& & & & & & \ddots & 0 \\
0 & 0 & \dots & & & & 0 & 1 \\
\end{pmatrix}
\)
\(E_{i,j}\)という行列は、右側のような行列です。この行列も、基本的には対角線上にずっと1が並んでいて、他の箇所は基本的には全て0という、いわゆる単位行列のようなものです。
ただし、単位行列と少し違う部分が、単位行列の場合はずっと1が並んでいるのですが、この\(i\)行\(i\)列の部分と、\(j\)行\(j\)列の部分が0になっていて、代わりにこの\(j\)列の部分が1、\(i\)列の部分が1となってます。
これはどちらで考えても良いのですが、単位行列の\(i\)行目と\(j\)行目を、入れ替えたような形になっています。
\(j\)行も\(i\)行も、1か所だけ1となっていて、1の左右にはずっと0が続いています。\(j\)行、\(i\)行の上下を入れ替えると、左上角から右下角までずっと斜めに1、1、1…と並ぶ、いわゆる単位行列になります。
このようなわけで、単位行列の\(i\)行目と\(j\)行目を入れ替えた行列、という形になっています。これは列で考えても同じで、\(i\)列目と\(j\)列目を入れ替えたもの、と言うこともできます。
このように、少しだけ単位行列と違っている行列というのを\(E_{i,j}\)にしています。ちなみにこの\(i,j\)の書きぶりだと、\(i\)の方が小さい番号で\(j\)の方が大きい番号としていますが、どちらが大きくても特に変わりません。こちらが、いわゆる基本変形の\(i\)行と\(j\)行を入れ替える、という操作と対応した行列です。
基本行列 その③
\(
E_{i,j}(c)=
\begin{pmatrix}
1 & 0 & \dots & & & & & 0 \\
0 & 1 & & & & && 0 \\
\vdots & & \ddots & & & & &\vdots \\
& & & 1 & & c & & \\
\vdots& & & & \ddots & & & \vdots \\
& & & & & 1 & & \\
& & & & & &\ddots & 0 \\
0 & 0 & \dots & & & & 0 & 1
\end{pmatrix}
\)
\(E_{i,j}(c)\)があり、これも斜めにずっと1が並んでいます。これは0となるところがありません。
斜めにずっと1があり、他の部分がすべて0になっているものが単位行列ですが、この\(E_{i,j}(c)\)は、\(i\)行\(j\)列の成分の1ヶ所だけが0ではなく\(c\)という行列になってます。
これが「基本変形その3」の「何行目かに何行目かの定数倍を足す」という操作に対応する行列です。
この3種類が、それぞれの基本変形に対応する3種類の行列です。実際にそれぞれがどう対応するのかは、後で具体例を挙げて見ていきます。
3種類の基本行列について
ちなみに、これらの行列の形をはっきりと覚えている必要は特に無いと思います。
必要であれば教科書を引いて「こうやればよかったんだな」と思い出せばいいというくらいです。これを暗記しておかなくても、これ自体が問われることはおそらくないと思われます。
1つだけ注意をしておくならば、基本変形に対応する行列として紹介しましたが、実は全て逆行列を持つ行列になっています。つまり、元に戻す操作があるということです。
1つ目の基本行列は、どこかだけ\(c\)倍するというやり方なので、逆にするためにはどこかだけ\(\frac{1}{c}\)倍すればいいと予測できます。ただし、1つ目の基本行列で\(c\)が0では駄目です。基本変形の条件として「定数倍するのは0ではない」と定義してあるため、\(c\)は0ではない場合に限ります。
2つ目の基本行列は「\(i\)行と\(j\)行を入れ替える」という操作に対応するため、もう1回入れ替えれば元に戻ってきます。
3つ目の基本行列は「何行目かにある行の\(c\)倍を足す」ので、その行にある行の\(-c\)倍を足せば元に戻るはずです。
このように、行列で定義される操作を行った場合には、きちんと元に戻せる、ということになります。「逆行列を持っている」というのはそうした性質を言います。元通りに戻せないような操作をしてしまうと、それは「逆行列がない」ということになります。
この3種類については、必ず逆行列を持っていると言う事が出来ます。
基本行列の具体例
ここからは基本行列がどのように作用するのか、実際に見ていきます。
まず、計算例を見ていきます。
\(
\left(
\begin{array}{crl}
0 & 1 & 0\\
1 & 0 & 0\\
0 & 0 & 1
\end{array}
\right)
\left(\begin{array}{crl}
2 & -3 & 1\\
1 & -2 & 3\\
4 & -1 & 1
\end{array}
\right)
=\left(\begin{array}{crl}
1 & -2 & 3\\
2 & -3 & 1\\
4 & -1 & 1
\end{array}
\right)\)
真ん中にあるのは、今回の最初に題材にした行列です。そこに、左側に0と1の並んだ行列を持ってきています。
1行目と2行目を取り替えると、いわゆる単位行列になるものです。つまり先程の書き方で言うと、2列目が\(E_{1,2}\)であり、1行目と2行目を取り替えたものです。
真ん中の行列に、左から\(E_{1,2}\)を掛けます。行列の掛け算のやり方を復習すると、左の行列の1行目と真ん中の行列の1列目を掛けます。2×0、1×1、4×0と計算すると、1という計算結果が出てくるはずです。同様に2列目のに掛けて…と続けていくと、右側の計算結果になります。
行列の計算に慣れていないと感じる人は、しっかりと練習しておきましょう。行列の計算はここから先も色々なところで使うので、しっかりマスターしておいてください。
さて、計算結果をよく見てみると、元の行列の1行目と2行目をちょうど入れ替えた形になっています。
左から\(E_{1,2}\)という、基本変形に対応する基本行列を左から掛けると、1行目と2行目を入れ替える操作になる、ということがわかります。
ちなみに\(E_{1,2}\)で計算したので1行目と2行目を入れ替えた形になりますが、例えば\(E_{1,3}\)でやると1行目と3行目を入れ替えた形になります。他にも色々なことができます。
次の例を見てみます。
\(
\left(
\begin{array}{crl}
1 & 0 & 0\\
-2& 1 & 0\\
0 & 0 & 1
\end{array}
\right)
\left(\begin{array}{crl}
1 & -2 & 3\\
2 & -3 & 1\\
4 & -1 & 1
\end{array}
\right)
=\left(\begin{array}{crl}
1 & -2 & 3\\
0 & 1 & -5\\
4 & -1 & 1
\end{array}
\right)\)
全く同じような形で、2、1、-2という基本行列になっています。2行1列目のところが-2となっており、他は単位行列と一緒、というものです。
これをやはり1例目と同様に、\(E_{2,1}(-2)\)を計算していくと、右側の計算結果のようになります。
この行列、実は1行目の-2倍を、2行目に足した結果になっているはずです。最初の計算例で基本変形をしてみたものと、同じ結果になっているはずです。
つまり、左側から\(E_{2,1}(-2)\)を掛けたら、2行目に1行目の-2倍を加えるという基本変形をするのと同じ効果があります。これは覚えておくと良いと思います。
3つ目の例も同じようになります。
\(
\left(
\begin{array}{crl}
1 & 0 & 0\\
0 & 1 & 0\\
-4 & 0 & 1
\end{array}
\right)
\left(\begin{array}{crl}
1 & -2 & 3\\
0 & 1 & -5\\
4 & -1 & 1
\end{array}
\right)
=\left(\begin{array}{crl}
1 & -2 & 3\\
0 & 1 & -5\\
0 & 7 & -11
\end{array}
\right)\)
3行1列のところが-4となっていて、残りは単位行列です。そこで左から\(E_{3,1}(-4)\)を掛けます。つまり、3行目に1行目の-4倍を加える操作をします。
真ん中の行列は、2例目の計算結果です。例2の基本操作が終わったものに、さらに\(E_{3,1}(-4)\)を掛けると、右側の計算結果になります。左から\(E_{2,1}(-4)\)を掛けると、3行目に1行目の(-4)倍を加える操作になります。
一般的に証明したわけではありませんが、「左から基本行列を掛ける」という操作は「行の基本変形に対応している」ということになります。
この基本変形に対応した行列には種類が色々あり、そのどれかになります。
\(X_1 X_2\)…\(X_KA=E⇔A^-¹=X_1 X_2…X_k\)
基本変形のどれかを、\(X_k\)から\(X_1\)までAにどんどん掛けていき、その計算し終わった結果が\(E\)、つまり単位行列になります。
これが最初に説明した、何かを掛けたら単位行列になるというもので、その基本的に「何か掛ける」という部分が-1、いわゆる逆行列になっていることがわかります。
つまり、基本変形行列、色々掛けた部分がちょうど-1になるのではないか、ということになるわけです。そのため、この行の基本変形をやっていき単位行列にするという手順を覚えておけば、その手順の基本変形行列として、-1を復元できることになります。
ただ、これをやるごとに何をやったかをちゃんと覚えておく、というのは結構面倒だと思います。けれども、それをうまいことやってくれる方法があります。
\(
\left(
\begin{array}{ccc|ccc}
2 & -3 & 1 &1 & 0 & 0\\
1 & -2 & 3 & 0 & 1 & 0\\
4 & -1 & 1 & 0 & 0 & 1
\end{array}
\right)
\)
左側に逆行列を求めた行列を書きます。そして点線などを引いておき、反対側に単位行列を置きます。このような、横長の長方形のような行列に対して、行の基本変形を行い、左半分を単位行列にするようにします。
ちなみに注意してほしいことがあります。
行の基本形変形を行う際、例えば1行目と2行目を入れ替えるというときは、横一列、つまり6個分全部丸ごと入れ替えてください。要するに、右半分にも同じ操作をしていきます。そうすると、最初右側は単位行列ですが、基本変形をしていくとだんだん変わっていきます。
つまり結論を先に言うと、左側を単位行列に変形し終わったとき、右側にできた行列というのが、実は元の行列の逆行列になります。
なぜかというと、左の行列に施した基本変形と、右の行列に施した基本変形というのは一緒になるわけです。色々と操作をしていって、左が単位行列までできた時に右側に出来上がるのは、単位行列からスタートして基本変形のための基本行列をいくつか掛けたものになっています。
それがちょうどさっきの話で\(A^-¹\)と一緒になっているはず、ということになります。そのため、右側と左側をセットで行の基本変形をしていくことによって、基本変形行列でどんなのを掛けたかというのが、メモリとして右側に記憶されるわけです。
「右側がちゃんと最終的には逆行列になる」という、昔の人が考えた便利な方法です。
掃き出し法の例
実際の例を見ていきましょう。いわゆる「掃き出し」と言われたりするものです。
\(
\left(
\begin{array}{ccc|ccc}
2 & -3 & 1 &1 & 0 & 0\\
1 & -2 & 3 & 0 & 1 & 0\\
4 & -1 & 1 & 0 & 0 & 1
\end{array}
\right)
\)
なるべく1になるようにしていきます。そのために簡単なのは、1列目を見て、よさそうなものを一番左上に来るようにします。今回の場合は2行目の1列目が1なので、1行目と2行目を入れ替えます。
\(
\left(
\begin{array}{ccc|ccc}
1 & -2 & 3 & 0 & 1 & 0\\
2 & -3 & 1 &1 & 0 & 0\\
4 & -1 & 1 & 0 & 0 & 1
\end{array}
\right)
\)
するとこのようになります。右側も一緒に入れ替えるのを忘れないでください。
この状態から、左上に来た1を使って、1列目の2と4を消します。
その具体的な方法は、2行目に1行目の(-2)倍を足します。これも基本変形です。
\(
\left(
\begin{array}{ccc|ccc}
1 & -2 & 3 & 0 & 1 & 0\\
0 & 1 & -5 & 1 & -2 & 0\\
4 & -1 & 1 & 0 & 0 & 1
\end{array}
\right)
\)
すると結果はこのようになります。
さらに、3行目にある4を消したいので、1行目の(-4)倍を3行目に足すという操作をします。頑張って計算していくと次のようになります。
\(
\left(
\begin{array}{ccc|ccc}
1 & -2 & 3 & 0 & 1 & 0\\
0 & 1 & -5 & 1 & -2 & 0\\
0 & 7 & -11 & 0 & -4 & 1
\end{array}
\right)
\)
1行目の(-4)倍を3行目に足すと、1列目が0になるはずです。
計算していった結果、1列目が1、0、0となります。この調子で、左側をなるべく単位行列になるようにしていきます。
次は2列目を1、0、0にしていきたいです。見てみると、2行目が都合よく1になっているので、これをそのまま使っていきます。
2行目の2倍を1行目に足します。1行目の-2を消すためです。すると計算結果は次のようになります。
\(
\left(
\begin{array}{ccc|ccc}
1 & 0 & -7 & 2 & -3 & 0\\
0 & 1 & -5 & 1 & -2 & 0\\
0 & 7 & -11 & 0 & -4 & 1
\end{array}
\right)
\)
同様に、3列目も消したいので、2行目の(-7)倍を3行目に足します。
\(
\left(
\begin{array}{ccc|ccc}
1 & 0 & -7 & 2 & -3 & 0\\
0 & 1 & -5 & 1 & -2 & 0\\
0 & 0 & 24 & -7 & 10 & 1
\end{array}
\right)
\)
このような計算結果になります。
これで1列目が1、0、0になり、2列目が0、1、0になったので、もう一息です。3列目を0、0、1とできれば、左側を単位行列にできたことになります。
しかし、3列目はさっきと違い、3行目が24となっているので「どうしようか」と考えてしまうところですが、やはり1になっていた方が使いやすいので、3行目は\(\frac{1}{24}\)倍します。これもちゃんとした基本変形です。忘れないように、3行目の全てを\(\frac{1}{24}\)倍します。
\(
\left(
\begin{array}{ccc|ccc}
1 & 0 & -7 & 2 & -3 & 0\\
0 & 1 & -5 & 1 & -2 & 0\\
0 & 0 & 1 & -7/24 & 5/12 & 1/24
\end{array}
\right)
\)
するとこのように、3行目の3列目の24がちょうど1となります。代わりに、右側の数字が分数になってしまいますが、しかたない、というところです。
さて、その上で単位行列にするということは、左側3列目にある-7と5が消せればいいわけです。なので、3行目の5倍を、2行目に足します。そうすると2行目にある-5は0になるはずなので、頑張って計算します。
\(
\left(
\begin{array}{ccc|ccc}
1 & 0 & -7 & 2 & -3 & 0\\
0 & 1 & 0 & -11/24 & 1/12 & 5/24\\
0 & 0 & 1 & -7/24 & 5/12 & 1/24
\end{array}
\right)
\)
2行目の計算が終わりました。あとは最後に、1行目の-7を消せばおしまいです。3行目の-7倍を1行目に足して消します。
\(
\left(
\begin{array}{ccc|ccc}
1 & 0 & 0 & -1/24 & -1/12 & 7/24\\
0 & 1 & 0 & -11/24 & 1/12 & 5/24\\
0 & 0 & 1 & -7/24 & 5/12 & 1/24
\end{array}
\right)
\)
これで左側が単位行列になりました。それに対し右側は「最初の行列に基本変形を施していって、それが単位行列になった」という、基本変形を施していった結果になります。これはちょうど逆行列になっています。
以上により、元の行列の逆行列は、
\(
\left(
\begin{array}
– -1/24 & -1/12 & 7/24\\
-11/24 & 1/12 & 5/24\\
-7/24 & 5/12 & 1/24
\end{array}
\right)
\)
となり、計算結果の右側の部分に当てはまります。このようにして、逆行列は計算することができます。
ちなみに逆行列を持たない行列の場合、左側を単位行列にすることができません。どう頑張っても左側を単位行列にできないということは、その行列は逆行列がない行列だ、ということになります。
逆行列を持たない、という同値の条件については色々知られていますが、一番有名なのは行列式が0になるものや、それと全く同値でランクがフルでないものがあります。今の場合なら3×3行列なのでランクが3より落ちている、というのがあるため、逆行列を持たない行列というのは、行の基本変形をしていったとき、どこかの行が0、0、0になってしまいます。
どこかの1がすべて0になってしまって、決まるランクにならないという状態になります。なのでこの変形でやってくと同時に、この行列が逆行列を持つかどうかの判定もセットで行います。
逆行列を持っている場合なら、必ず行の基本変形だけで左側を単位行列にすることができます。それができない場合は、逆行列がないと解釈できます。
おわりに
今回の解説は以上です。
最後に、究進塾ではテキストなどを使って、こうした解説などを行っております。大学補習で躓いている方や受講をご検討の方、ご質問がある方は「無料体験授業をご希望の方」からお気軽にお問い合わせください。
究進塾 編集部
究進塾は、「学問の楽しさを伝え、結果を出す喜びを体験してもらうことで塾生の人生を豊かにしたい」という考えから、学習に役立つ情報や学習のコツなどを発信しています。
マンツーマン個別指導専門で、大学入試や大学院入試、単位取得、日大基礎学力テスト対策など、多様なニーズに対応。