ブログ
BLOG
こんにちは。究進塾 編集部です。
今回は久松講師の「線形代数」の解説動画から、「行列の基本変形とそれを用いた連立方程式の掃き出し法」による解法をご紹介します。
📝この記事のポイント
・行列の基本変形
・連立方程式の掃き出し法
はじめに
こちらの記事は、究進塾の数学講師、久松真人先生の解説動画を参考に、線形代数について解説しています。音声を聞ける環境の方はぜひ動画をご覧頂き、久松先生の講義の雰囲気を掴んでいただければと思います。
動画紹介
【究進塾】大学補習チャンネル
【大学数学】線形代数 第1回 -行列の基本変形・連立方程式の掃き出し法による解法-(所要時間: 36分08秒)
東京工業大学卒業。東京工業大学大学院数学研究科博士課程修了。数学に特化した講師です。大学受験はもちろん、大学授業補習、大学院入試のサポートにも熟練しています。また、大学の情報系科目のサポートも経験があります。穏やかな性格と柔らかい雰囲気、丁寧な指導、そして数学愛が溢れる、おすすめ講師です。☆大学授業補習の詳細はこちら
線形代数については、理系の方ならおそらく大学1年生の時に習っていると思います。まずは問題を1つ見てみましょう。
問題:次の連立方程式を解け。
\(\left\{\begin{array}{l} 2x -3y +z -2w = 5\\ x -2y +3z -w = 1\\ 4x -y +z -5w = 1\end{array}\right.\)
シンプルな連立方程式です。
ちなみにこの連立方程式は、未知変数が「\(x\)、\(y\)、\(z\)、\(w\)」と4文字ありますが、与えられた関係式の数が3個しかないという形になっています。ものによって様々なパターンがありますが、この場合、解が一通りには定まりません。解空間の次元が少し大きめになると予想できます。
このように「1文字の数に対して変数の数が足りないけれど、解いていくと文字の数が減らせるようになっていて、何個かだけが残る」という問題は、高校生のとき既にあったかもしれません。
今回はこれを、大学数学のやり方で解いていく方法を紹介していきます。
連立方程式を行列で表現する
まずは与えられた連立方程式を、行列を使って綺麗に書きかえるところからスタートします。行列の掛け算、三方については、大学に入学して最初の頃にかなり練習をさせられたはずなので、今回は省略します。
\(\left\{\begin{array}{l} 2x -3y +z -2w = 5\\ x -2y +3z -w = 1\\ 4x -y +z -5w = 1\end{array}\right.\)
先程の3本の連立方程式を、行列を使って書き表すと、以下の様になります。
\(
\left(
\begin{array}{crl}
2 & -3 & 1 & -2 \\
1 & -2 & 3 & -1 \\
4 & -1 & 1 & -5
\end{array}
\right)
\left(\begin{array}{cc}
x \\
y \\
z \\
w
\end{array}\right)
\left(\begin{array}{cc}
5 \\
1 \\
1
\end{array}\right)
\)
縦ベクトル\(\left(\begin{array}{cc}x \\y \\z \\w\end{array}\right)\)に、\(\left(\begin{array}{crl}2 & -3 & 1 & -2 \\1 & -2 & 3 & -1 \\
4 & -1 & 1 & -5\end{array}\right)\)を掛け算すると、
\(\left(\begin{array}{cc}5 \\1 \\1\end{array}\right)\)という縦ベクトルと等しくなります。
連立方程式はこのように置き換えることができ、この行列を使った式は、与えられた連立方程式をそのまま表現している状態になっています。
これを見てわからない場合は、「行列の計算、掛け算の計算」に関して教科書をもう1度読み直してください。
さて、行列を使った連立方程式の解法を少し勉強すると、大雑把にこうしたやり方を習った方もいるかもしれません。
A・\(\left(\begin{array}{cc}x \\y \\z \\w\end{array}\right)\)=\(\left(\begin{array}{cc}5 \\1 \\1\end{array}\right)\)
⇓
A\(^¹\)A・\(\left(\begin{array}{cc}x \\y \\z \\w\end{array}\right)\)=A\(^-¹\left(\begin{array}{cc}5 \\1 \\1\end{array}\right)\)
⇓
\(\left(\begin{array}{cc}x \\y \\z \\w\end{array}\right)\)=A\(^-¹\left(\begin{array}{cc}5 \\1 \\1\end{array}\right)\)
行列をAと置き、左から-1を掛け、-1×Aは単位行列になるので消え、結果、\(x\)、\(y\)、\(z\)、\(w\)は、この5、1、1という列ベクトルに左から-1を掛けた計算結果として得られる、というやり方です。
しかし結論から言うと、今回の場合はこのやり方ができません。
その理由は、ある行列Aに逆行列A\(^-¹\)が存在するためには、どうしても正方行列である必要があります。
4×4になっていないといけないのですが、この例題の場合、縦と横のサイズが違います。こうした問題に対しては、A\(^-¹\)に近いようなものを考えることは可能ではありますが、いわゆる通常の意味での-1というのを考えることが無理なんです。
・なおかつ逆行列が存在する場合に限る
では、今回の例題のように、行列が正方形でない場合にはどうするか、という話をしていきます。
\(
\left(
\begin{array}{crl}
2 & -3 & 1 & -2 \\
1 & -2 & 3 & -1 \\
4 & -1 & 1 & -5
\end{array}
\right)
\left(\begin{array}{cc}
x \\
y \\
z \\
w
\end{array}\right)
\left(\begin{array}{cc}
5 \\
1 \\
1
\end{array}\right)
\)
ここから、\(x\)、\(y\)、\(z\)、\(w\)の列が邪魔なので無くし、5、1、1の列を繋げます。
この\(
\left(
\begin{array}{crl}
2 & -3 & 1 & -2\\
1 & -2 & 3 & -1\\
4 & -1 & 1 & -5
\end{array}\right)\)の部分は、係数を全て並べたものです。そのため、この行列のことを「係数行列」と言います。そこに、計算結果を示す右辺の部分をくっつけると以下のようになります。
\(
\left(
\begin{array}{crl}
2 & -3 & 1 & -2 ︙ 5 \\
1 & -2 & 3 & -1 ︙ 1 \\
4 & -1 & 1 & -5 ︙ 1
\end{array}
\right)\)
これを「拡大係数行列」と言います。左側、係数行列の部分と、右側の計算結果の部分で、若干規格が対等ではないので、「︙」のように点線を引いて、切れる箇所を示しています。
知っている人が見れば、この点線が無くても最後の1列分が右辺だというのはすぐにわかることではあります。必ず右1列分しか残らないためです。しかしわかりやすくなるように、ここに線を引いておくと良いでしょう。
このように整理すると、\(x\)、\(y\)、\(z\)、\(w\)の表記が消えてしまいます。けれども、実質的にはこの拡大係数行列というのが、元の連立方程式のデータを完全な形で持っている、ということになります。
このように書いておくと、色々と便利になります。次に説明していくように、連立方程式を解くために色々と連携しますが、それを簡単に行えるようになっています。
行列の基本変形
よく使う行列の基本変形
連立方程式を解く前に、行列の基本変形を覚えておく必要があります。
行列の基本変形は、色々なところに出てきます。今回のように連立方程式を解く場合もそうですし、逆行列を計算する場合、他の方法もありますが、行列の基本変形を使って解くのが一般的な方法です。その他にも、行列の階数を計算するときにも使います。
とにかく色々なシーンで行列の操作をしようとするときに出てくるため、どうあっても覚えておく必要があります。
ここで少しおさらいしておきましょう。
行列の基本変形とは
行列の基本変形には、基本的なパーツが、大きく分けて3種類あります。実際にその基本変形を、先ほどの係数行列を例にやってみます。
基本変形 その1
\(
\left(
\begin{array}{crl}
2 & -3 & 1 & -2\\
1 & -2 & 3 & -1\\
4 & -1 & 1 & -5
\end{array}\right)\)
↓
\(
\left(
\begin{array}{crl}
6 & -9 & 3 & -6\\
1 & -2 & 3 & -1\\
4 & -1 & 1 & -5
\end{array}\right)\)
係数行列の1行目を3倍します。2行目と3行目はそのままにしておきます。今は1行目を3倍しましたが、これに限らず、例えば2行目を5倍するでもいいですし、3行目を2倍するでもいいです。これは基本変形の一種です。このように、ある行を係数倍する、というやり方をここでは仮に「基本変形 その1」と言います。ただし「基本変形」と言った時には、0倍だけは駄目です。0倍にすると色々と面倒なことになってしまうので、0でない係数倍にします。
基本変形 その2
次に、1行目と2行目を入れ替える操作をします。3行目は特に何もせずにそのままにしておきます。
\(
\left(
\begin{array}{crl}
6 & -9 & 3 & -6\\
1 & -2 & 3 & -1\\
4 & -1 & 1 & -5
\end{array}\right)\)
↓
\(
\left(
\begin{array}{crl}
1 & -2 & 3 & -1\\
6 & -9 & 3 & -6\\
4 & -1 & 1 & -5
\end{array}\right)\)
これを「基本変形 その2」とします。このように、ある行とある行を入れかえるという操作も、基本変形のパターンと言える方法です。
ここでは1行目と2行目の入れ替えを行いましたが、他の行でも大丈夫です。2行目と3行目の入れ替えや、1行目と3行目の入れ替えも、基本変形です。
基本変形 その3
3つ目だけは、やや面倒です。そして結構重要です。1行目を(-4倍)したものを3行目に足す、というような操作をします。これも基本変形のうちの1つです。1行目の-4倍、つまり-4、+8、-12、+4を、4行目に足すので次の様になります。
\(
\left(
\begin{array}{crl}
1 & -2 & 3 & -1\\
6 & -9 & 3 & -6\\
4 & -1 & 1 & -5
\end{array}\right)\)
↓
\(
\left(
\begin{array}{crl}
1 & -2 & 3 & -1\\
6 & -9 & 3 & -6\\
0 & 7 & -11 & -1
\end{array}\right)\)
3つの基本変形まとめ
以上が3つの基本変形になります。今はこれらの基本変形を行に対して行っているので、この3つの操作を「行の基本変形」と言います。
②ある行とある行を入れ替える
③他の行にある行の定数倍を足す
ちなみに③の基本変形を行う場合には0を足しても構いません。0倍を足しても何も変わらないはずですし、普通は0でない場合を足します。この操作は列に対しても同様に考えることができます。ただし列の基本変形は、今回の解説のメインテーマとなる「連立方程式の解法」の場合にはあまり使いません。
拡大係数行列の基本変形と連立方程式の対応
次に、基本変形と連立方程式に、一体どういう関係があるのかを解説していきます。
\(
\left(
\begin{array}{crl}
2 & -3 & 1 & -2 ︙ 5 \\
1 & -2 & 3 & -1 ︙ 1 \\
4 & -1 & 1 & -5 ︙ 1
\end{array}
\right)⇔\left\{\begin{array}{l} 2x -3y +z -2w = 5\\ x -2y +3z -w = 1\\ 4x -y +z -5w = 1\end{array}\right.\)
右側が元となっている連立方程式です。この連立方程式を拡大係数行列で表した結果、左側のようになります。先述で説明したように、拡大係数行列は右の連立方程式をそのまま表しているものだと考えてください。
さて、その上で基本変形を行っていきます。
例えば「基本変形その1:ある行を0でない定数倍する」をしてみます。1行目だけ3倍され、下の2行は変わりません。そしてそれに対応する連立方程式は、それぞれ係数が3倍になります。いわゆる「連立方程式の3つある式のうち、どれかを定数倍する」ということに当たります。拡大係数行列、連立方程式はこのように対応しています。
\(
\left(
\begin{array}{crl}
6 & -9 & 3 & -6 ︙ 15 \\
1 & -2 & 3 & -1 ︙ 1 \\
4 & -1 & 1 & -5 ︙ 1
\end{array}
\right)⇔\left\{\begin{array}{l} 6x -9y +3z -6w = 15\\ x -2y +3z -w = 1\\ 4x -y +z -5w = 1\end{array}\right.\)
「=」で結ばれた方程式の両側を0でない同じ定数倍しても方程式は変わらない、という法則があるので、この操作はやっていいことになります。
つまり「拡大係数行列の行の基本変形 その1:ある行の定数倍」というのは、連立方程式のレベルでは「何かの式を定数倍する」をやっていることになります。
連立方程式を解く際に役立つ
ちなみにこの「何かの式を定数倍する」というのは連立方程式を解く際、どこに役立つかということをお話します。
おそらく今まで連立方程式を解く際には加減法を使っていたのではないかと思いますが、それをやるためには数字を揃えなければいけません。係数を一緒にして+や-をするとその文字が消えます。その数字を揃えるときに、式を定数倍していたと思います。この「ある行を定数倍する」のは、それやるための操作です。
さて次に、1行目と2行目を入れ替えます。
\(
\left(
\begin{array}{crl}
1 & -2 & 3 & -1 ︙ 1 \\
6 & -9 & 3 & -6 ︙ 15 \\
4 & -1 & 1 & -5 ︙ 1
\end{array}
\right)⇔\left\{\begin{array}{l} x -2y +3z -w = 1\\ 6x -9y +3z -6w = 15\\ 4x -y +z -5w = 1\end{array}\right.\)
入れ替えるという操作なので、左側の拡大係数行列も右側の連立方程式も、順番を書き換えただけです。当たり前だという感じではありますが、これは元の方程式と全く変わりません。そして最後に、基本変形その3をしてみます。1行目の(-4)倍を3行目に足してみると、計算結果は次のようになります。
\(
\left(
\begin{array}{crl}
1 & -2 & 3 & -1 ︙ 1 \\
6 & -9 & 3 & -6 ︙ 15 \\
0 & 7 & -11 & -1 ︙-3
\end{array}
\right)⇔\left\{\begin{array}{l} x -2y +3z -w = 1\\ 6x -9y +3z -6w = 15\\ 7y -11z -w = -3\end{array}\right.\)
上の2つは変わらず、3行目が足された結果このようになります。これこそまさに「加減法」です。
右の連立方程式の\(x\)、4\(x\)を消すために、1行目を4倍した数を3行目に足しています。すると\(x\)がちょうど消えます。\(y\)、\(z\)、\(w\)は残りますが、とりあえず\(x\)は消すことができるわけです。
拡大係数行列の基本変形と連立方程式の関係
拡大係数行列と連立方程式を2つ並べて見比べてみると、連立方程式を加減法で解くために必要な操作が、基本変形の中に全て含まれてるということがわかります。
・行の定数倍は式の定数倍
・行の入れ替えは式の並べ替え
・他の行に、ある行の定数倍を足すという操作は、加減法を行っている
それぞれに対応しています。
「拡大係数行列に対して基本変形をしていく」というのは、連立方程式を加減法で簡単な式にするのと、同じことにあたります。
基本変形で拡大係数行列を簡単にしよう
それでは、実際に解いていきましょう。
先述した通り、基本変形をするということは「対応する連立方程式に加減法で式変形作を行っている」ということにあたります。
つまり、拡大係数行列を基本変形し、できるだけ簡単な形にできれば、それで連立方程式を解けるようになると予想できます。
そこで登場するのが「掃き出し法」です。
掃き出し法とは
簡単に説明すると、未処理の拡大係数行列の一番左上の数に目星をつけ、この数字を使って同じ列にある数を全部消してしまおう、という操作をだんだんやっていきます。これを掃き出し法といいます。
掃き出し法の手順
掃き出し法については、手順が完全に決まっています。0以外が来るように行を入れ替え、やりやすい数が左上に来るようにします。
\(
\left(
\begin{array}{crl}
2 & -3 & 1 & -2 ︙ 5 \\
1 & -2 & 3 & -1 ︙ 1 \\
4 & -1 & 1 & -5 ︙ 1
\end{array}
\right)\)
一番左上の数は2となっており、0ではないのでこのまま進めても大丈夫ではありますが、できれば1になっていた方が楽です。そうするためには、
・1行目に1/2を掛ける(2で割る)
・2行目と1行目を入れ替える
この2通りの方法があります。どちらを選んでも最終的な答えは変わりませんが、1行目を2で割ると、3、1、5が分数になりそうです。もちろん分数になっても根性で解くことはできますが、できれば面倒なやり方を選びたくはありません。
もし1列目に1があるような、やりやすそうな行があったら、それが一番先頭に来るように並べ替えをしましょう。
\(
\left(
\begin{array}{crl}
1 & -2 & 3 & -1 ︙ 1 \\
2 & -3 & 1 & -2 ︙ 5 \\
4 & -1 & 1 & -5 ︙ 1
\end{array}
\right)\)
1行目と2行目を入れ替えました。基本変形を1回行ったことになります。
次からが本題です。
左上に来た1という数字を使って、1列目の2と4を消すことを考えると、2行目に-2を、3行目に-4を追加すれば、それぞれ1列目が0になるはずです。しかし連立方程式を崩さないためには、行の基本変形の範囲内でやらないといけません。
そうするための方法が、次のようになります。
2行目 -2×1行目
3行目 -4×1行目
↓↓
\(
\left(
\begin{array}{crl}
1 & -2 & 3 & -1 ︙ 1 \\
0 & 1 & -5 & 0 ︙ 3 \\
0 & 7 & -11 & -1 ︙-3
\end{array}
\right)\)
このように変形することができ、1列目の2行目と3行目が0になりました。連立方程式を加減法で解く際に当てはめて考えると、いわゆる「文字を消した」という部分にあたります。これで1列目の掃き出しが終わりました。
ここから先の操作でも、なるべく0が増えるようにどうにかしていく、というのが基本方針です。
次に、2列目の掃き出しをします。2列目の2行目にちょうど1があります。やりやすい数であるため、これを使って、2行目の1、3行目の7をできれば消したいです。実際は下の7だけ消しても解けますが、せっかくなので上下とも全部0にすると楽になります。
1行目+2×2行目
3行目-7×2行目
↓↓
\(
\left(
\begin{array}{crl}
1 & 0 & -7 & -1 ︙ 7 \\
0 & 1 & -5 & 0 ︙ 3 \\
0 & 0 & 24 & -1 ︙-24
\end{array}
\right)\)
1回目に行った掃き出しと全く同じような調子で計算すると、このようになります。
次に3列目を、3行目の24を使って、どうにかして掃き出したいですが、24ではなく1にしておかないと面倒です。そのために「基本変形 その1」をここで使います。ある行を定数倍しても変わらないという決まりがあるので、3行目に1/24を掛けます。
3行目×\(\frac{1}{24}\)
↓↓
\(
\left(
\begin{array}{crl}
1 & 0 & -7 & -1 ︙ 7 \\
0 & 1 & -5 & 0 ︙ 3 \\
0 & 0 & 1 & -1/24︙-1
\end{array}
\right)\)
これによって、24の部分が1になりました。代わりに、右隣りの1が\(\frac{1}{24}\)にはなってしまいます。さらに3列目の3行目に1ができたのでこれを使って、3列目の-7や-5を掃き出します。このように掃き出しを続けていくと、答えが近づいてきます。
3列目の3行目の1を使い、1行目の-7、2行目の-5を消します。
1行目+7×3行目
2行目+5×2行目
↓↓
\(
\left(
\begin{array}{crl}
1 & 0 & 0 & -31/24 ︙ 0 \\
0 & 1 & 0 & -5/24 ︙ -2 \\
0 & 0 & 1 & -1/24 ︙-1
\end{array}
\right)\)
計算するとこのようになります。これで行による基本変形での拡大係数行列の整理は終わり、という状態になります。目安としては、
・綺麗に階段状に斜めになる
・階段の角の部分に数字が出ている箇所は、全部綺麗にその各列が掃き出されてる状態
このようになった終わり、というところです。
方程式に書き直す
ここまで来たら、これを改めて、元の方程式として書き直してみます。整理した拡大係数行列は、元々は「 \(x\) \(y\) \(z\) \(w\) = 解 」という3つの式をもつ連立方程式でした。つまり連立方程式が下のように書き換えられる、ということになります。
\(
\left(
\begin{array}{crl}
x & & & -31/24w ︙ 0 \\
& y & & -5/24w ︙ -2 \\
& & z & -1/24w ︙-1
\end{array}
\right)\)
そしてこの一式というのは、元の連立方程式に加減法を繰り返してできた式とイコールになります。この連立方程式は元の連立方程式と同じ答えをきちんと持っていて、しかも暗算でわかる程度に簡単な式になっているわけです。よって、これを使って最終的な答えはどうなるかというと、以下のようになります。
\(\left\{\begin{array}{l} x = \frac{31}{24}t\\ y = \frac{5}{24}t-2\\ z = \frac{1}{24}t-1\\ w = t\end{array}\right.\) (ただし\(t\)は任意の実数)
このようになります。ちなみにこれは、\(x\)と\(y\)と\(z\)を移行した結果として書けばよい、ということになります。移行していくと\(w\)が残ってしまいますが、\(w\)は実は-\(\frac{31}{24}w\)、-\(\frac{5}{24}w\)、-\(\frac{1}{24}w\)の形でなければならないという「縛り」が無いと考えます。そのため\(w\)を任意の定数\(t\)としたとき、各行の\(w\)を\(t\)と移行すると、上記のようになります。
このように\(x、y、z、w\)というのは、全て最初の連立方程式の答えになります。この連立方程式は、答えも結構あることがわかります。これは式の本数が足りてない状態なので仕方がないことです。
まとめ
以上が、拡大係数行列と行列の基本変形を用いた連立方程式の解法です。未知数の数が2個、3個など少ない場合には、加減法で解いても大して手間ではないので、それで計算しても良いかもしれません。
この行列を使うと良い場合というのは、例えば
・変数の数がやたら多いとき
・うまく解ききれないようなタイプ
・未知数の数と式の数が違う
こうした場合などに威力を発揮するので、ぜひ覚えておくと、とても役に立ちます。
おわりに
究進塾の大学補習授業では、こういった問題や解説を行っております。受講にご興味のある方は「無料体験授業をご希望の方」からお気軽にお問い合わせください。
究進塾 編集部
究進塾は、「学問の楽しさを伝え、結果を出す喜びを体験してもらうことで塾生の人生を豊かにしたい」という考えから、学習に役立つ情報や学習のコツなどを発信しています。
マンツーマン個別指導専門で、大学入試や大学院入試、単位取得、日大基礎学力テスト対策など、多様なニーズに対応。