行列の基本変形とは?その幾何学的意味や逆行列との関係の解説

行列の基本変形は、「①ある行をスカラー倍する」「②ある行と別の行を入れ替える」「③スカラー倍した行を別の行に足す」という3つの操作のことです。これは連立方程式を行列を使って解いたり、逆行列を求める際に使う基本的なテクニックです。

当ページでは、この行列の基本変形についての基本を解説し、その後に、これらの操作は具体的には何をしていることを意味するのかという点について深く解説していきます。

読み終わる頃には、なぜ、これらの3つの操作で連立方程式を解いたり、逆行列を求めたりすることができるのかがハッキリとわかるようになっていることでしょう。

なお連立方程式と逆行列については以下のページで解説しているので、ぜひあわせて確認してみてください。

それでは始めましょう。

目次

1. 行列の基本変形とは

冒頭でも述べましたが、行列の基本変形とは、行列で連立方程式を解くときに行う以下の3つの操作のことです。

  1. ある行をスカラー倍する
  2. ある行と別の行を入れ替える
  3. スカラー倍した行を別の行に足す

実際は、行に対してだけでなく列に対しても適用することができます。どちらを選ぶにせよ、同じ結果になります。そのため当ページでは、一貫して行に対しての基本変形を行うことにします。

さて、それでは以下の連立方程式があるとします。

\[\begin{eqnarray}
\begin{cases}
0x + 1y = 1 \\
3x + 2y = -1
\end{cases}
\end{eqnarray}\]

この連立方程式は、行列とベクトルを使って次のように \(A\vec{x}=\vec{y}\) の形で表すことができます。

\[\begin{eqnarray}
\overbrace{
\left[ \begin{array}{ccc}
0 & 1 \\
3 & 2 \\
\end{array} \right]
}^{A}
\overbrace{
\left[ \begin{array}{ccc}
x \\
y
\end{array} \right]
}^{\vec{x}}
=
\overbrace{
\left[ \begin{array}{ccc}
1 \\
-1
\end{array} \right]
}^{\vec{y}}\\
\end{eqnarray}\]

この式の \(\vec{x}\) を求めることで、上の連立方程式の \(x\) と \(y\) がわかります。 そのために使うのが「行列の基本変形」です。

まずは \(A\) と \(\vec{y}\) をくっつけて以下の形にします。

\[\left[ \begin{array}{cc|c}
0 & 1 & 1 \\
3 & 2 & -1
\end{array} \right]\]

そして左側の行列を、以下のステップによって単位行列に変換していきます。

まず1行目と2行目を入れ替えます。

\[\begin{eqnarray}
\left[ \begin{array}{cc|c}
0 & 1 & 1 \\
3 & 2 & -1
\end{array} \right]
\Longrightarrow
\left[ \begin{array}{cc|c}
3 & 2 & -1 \\
0 & 1 & 1
\end{array} \right]
\end{eqnarray}\]

次に、2行目を−2倍したものを1行目に足します。

\[\begin{eqnarray}
\left[ \begin{array}{cc|c}
3 & 2 & -1 \\
0 & 1 & 1
\end{array} \right]
\Longrightarrow
\left[ \begin{array}{cc|c}
3 & 0 & -3 \\
0 & 1 & 1
\end{array} \right]
\end{eqnarray}\]

最後に1行目を \(\dfrac{1}{3}\) 倍します。

\[\begin{eqnarray}
\left[ \begin{array}{cc|c}
3 & 0 & -3 \\
0 & 1 & 1
\end{array} \right]
\Longrightarrow
\left[ \begin{array}{cc|c}
1 & 0 & -1 \\
0 & 1 & 1
\end{array} \right]
\end{eqnarray}\]

こうして最後に単位行列の右側に出てきたものが \(\vec{x}\) であり、この連立方程式の解です。

\[\begin{eqnarray}
\left[ \begin{array}{cc}
x \\
y
\end{array} \right]
=
\left[ \begin{array}{cc}
-1 \\
1
\end{array} \right]
\end{eqnarray}\]

さて、こうやって連立方程式を行列で解くまでに、順番に、

  • ある行と別の行を入れ替える
  • ある行をスカラー倍したものを別の行に足す
  • ある行をスカラー倍する

という3つの操作を行いました。これが行列の基本変形です。

2. 行列の基本変形は逆行列との積と同じ

さて、ここからは行列の基本変形について、さらに深く考えていきましょう。おさらいですが、行列の基本変形は、ある行列を単位行列に変換するために行う以下の3つの操作のことです。

  1. ある行をスカラー倍する
  2. ある行と別の行を入れ替える
  3. スカラー倍した行を別の行に足す

実はこれらの操作は、幾何学的に考えれば、「基本行列」と呼ばれる行列を左側から掛けるのと同じことを意味しています。

例えば、上で解いた連立方程式では、最初に、以下のように行列の1行目と2行目を入れ替えました。

\[\begin{eqnarray}
\left[ \begin{array}{cc}
0 & 1 \\
3 & 2
\end{array} \right]
\Longrightarrow
\left[ \begin{array}{cc}
3 & 2 \\
0 & 1
\end{array} \right]
\end{eqnarray}\]

これは、以下の行列 \(T\) を掛けることと全く同じです。

\[\begin{eqnarray}
\overbrace{
\left[ \begin{array}{cc}
0 & 1 \\
1 & 0
\end{array} \right]
}^{T}
\left[ \begin{array}{cc}
0 & 1 \\
3 & 2
\end{array} \right]
=
\left[ \begin{array}{cc}
0\times0+1\times3 & 0\times1+1\times2 \\
1\times0+0\times3 & 1\times1+0\times2
\end{array} \right]
=
\left[ \begin{array}{cc}
3 & 2 \\
0 & 1
\end{array} \right]
\end{eqnarray}\]

次に、2行目を−2倍したものを1行目に足しました。

\[\begin{eqnarray}
\left[ \begin{array}{cc}
3 & 2 \\
0 & 1
\end{array} \right]
\Longrightarrow
\left[ \begin{array}{cc}
3 & 0 \\
0 & 1
\end{array} \right]
\end{eqnarray}\]

これは以下の行列 \(E\) を掛けることと全く同じです。

\[\begin{eqnarray}
\overbrace{
\left[ \begin{array}{cc}
1 & -2 \\
0 & 1
\end{array} \right]
}^{E}
\left[ \begin{array}{cc}
3 & 2 \\
0 & 1
\end{array} \right]
=
\left[ \begin{array}{cc}
1\times3+(-2)\times0 & 1\times2+(-2)\times1 \\
0\times3+1\times0 & 0\times2+1\times1
\end{array} \right]
=
\left[ \begin{array}{cc}
3 & 0 \\
0 & 1
\end{array} \right]
\end{eqnarray}\]

最後に1行目を \(\dfrac{1}{3}\) 倍しました。

\[\begin{eqnarray}
\left[ \begin{array}{cc}
3 & 0 \\
0 & 1
\end{array} \right]
\Longrightarrow
\left[ \begin{array}{cc}
1 & 0 \\
0 & 1
\end{array} \right]
\end{eqnarray}\]

これは以下の行列 \(P\) を掛けることと全く同じです。

\[\begin{eqnarray}
\overbrace{
\left[ \begin{array}{cc}
\frac{1}{3} & 0 \\
0 & 1
\end{array} \right]
}^{P}
\left[ \begin{array}{cc}
3 & 0 \\
0 & 1
\end{array} \right]
=
\left[ \begin{array}{cc}
\frac{1}{3}\times3+0\times0 & \frac{1}{3}\times0+0\times1 \\
0\times3+1\times0 & 0\times0+1\times1
\end{array} \right]
=
\left[ \begin{array}{cc}
1 & 0 \\
0 & 1
\end{array} \right]
\end{eqnarray}\]

つまり、行列 \(A\) を単位行列にするために行った3回の行列の基本変形は、これらの3つの行列を掛けることと同じだということになります。

\[\begin{eqnarray}
\overbrace{
\left[ \begin{array}{cc}
\frac{1}{3} & 0 \\
0 & 1
\end{array} \right]
}^{P}
\overbrace{
\left[ \begin{array}{cc}
1 & -2 \\
0 & 1
\end{array} \right]
}^{E}
\overbrace{
\left[ \begin{array}{cc}
0 & 1 \\
1 & 0
\end{array} \right]
}^{T}
=
\overbrace{
\left[ \begin{array}{cc}
– \frac{2}{3} & \frac{1}{3} \\
1 & 0
\end{array} \right]
}^{PET}
\end{eqnarray}\]

そして、これらの基本行列の積 \(PET\) を元の行列 \(A\) に掛けると、単位行列 \(I\) ができます。ということは、基本行列の積 \(PET\) は、行列 \(A\) の逆行列 \(A^{-1}\) と同じものであるということになります。

\[\begin{eqnarray}
\overbrace{
\left[ \begin{array}{cc}- \frac{2}{3} & \frac{1}{3} \\ 1 & 0 \end{array} \right]
}^{PET=A^{-1}}
\overbrace{
\left[ \begin{array}{cc}
3 & 2 \\
0 & 1
\end{array} \right]
}^A
=
\overbrace{
\left[ \begin{array}{cc}
1 & 0 \\
0 & 1
\end{array} \right]
}^I
\end{eqnarray}\]

つまり行列の基本変形とは、実は、\(A\vec{x}=\vec{y}\) における \(\vec{y}\) に対して、逆行列 \(A^{-1}\) を掛けているということと全く同じなのです。

\[A\vec{x}=\vec{y}
\hspace{3mm}
\Longleftrightarrow
\hspace{3mm}
\overbrace{A^{-1}}^{PET}\vec{y}=\vec{x} \]

これを幾何学的にわかりやすく示したものが以下のアニメーションです。

以上が、行列の基本変形のより深い解説であり、行列の基本変形によって連立法て式の解 \(A\vec{x}=\vec{y}\) における \(\vec{x}\) が求まる理由です。

行列の基本変形とは逆行列を掛けていることと同じ
行列の基本変形の3つの操作は、「行列 \(A\) に逆行列 \(A^{-1}\) (=基本行列の積)を掛ける」ということを意味している。 \(A\vec{x}=\vec{y}\) のとき \(A^{-1}\vec{y}=\vec{x}\) のため、この方法によって \(\vec{x}\) が求まる。

3. 基本行列についての解説

以上のように、連立方程式を行列で解くということは、\(A\vec{x}=\vec{y}\) において、\(\vec{y}\) に逆行列 \(A^{-1}\) を掛けることによって、\(\vec{x}\) を求めるということをしているのです。

そして、逆行列 \(A^{-1}\) を導き出すための方法が、「行列の基本変形(=基本行列の積)」です。ここでは、この基本行列について、もう少し詳しく解説します。

基本行列とは、以下の三つの働きする3つの行列のことです。つまり行列の基本変形と同じ働きをする行列であるということです。

  1. 対象の行列の \(i\) 行目を \(s\) 倍する。
  2. 対象の行列の \(i\) 行目と \(j\) 行目を入れ替える。
  3. 対象の行列の \(i\) 行目に、\(j\) 行目を \(s\) 倍したものを足す。

例として以下の行列 \(A\) を対象として解説していきます。

\[A=
\left( \begin{array}{ccc}
a & b & c \\
d & e & f \\
g & h & i
\end{array} \right)
\]

特定の行を \(s\) 倍する行列

この行列 \(A\) の1行目を3倍にしたいとします。それは以下の行列を左から掛けることと同じことを意味します。

\[
\left( \begin{array}{ccc}
3 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{array} \right)
\left( \begin{array}{ccc}
a & b & c \\
d & e & f \\
g & h & i
\end{array} \right)
=
\left( \begin{array}{ccc}
3a & 3b & 3c \\
d & e & f \\
g & h & i
\end{array} \right)
\]

これが1つ目の基本行列です。

より具体的には、1行目を \(s\) 倍するのが以下の左の行列、2行目を \(s\) 倍するのは真ん中の行列、3行目 を \(s\) 倍するのは右の行列です。

\[
\left( \begin{array}{ccc}
s & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{array} \right),
\hspace{4mm}
\left( \begin{array}{ccc}
1 & 0 & 0 \\
0 & s & 0 \\
0 & 0 & 1
\end{array} \right),
\hspace{4mm}
\left( \begin{array}{ccc}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & s
\end{array} \right)
\]

この行列のことを記号で \(P_{i}(s)\) と表します。\(i\) は \(s\) 倍にする対象の行を表します。

ある行と別の行を入れ替える行列

次にこの行列 \(A\) の1行目と2行目を入れ替えたいとします。それは、以下の行列を左から掛けることと同じことを意味します。

\[
\left( \begin{array}{ccc}
0 & 1 & 0 \\
1 & 0 & 0 \\
0 & 0 & 1
\end{array} \right)
\left( \begin{array}{ccc}
a & b & c \\
d & e & f \\
g & h & i
\end{array} \right)
=
\left( \begin{array}{ccc}
d & e & f \\
a & b & c \\
g & h & i
\end{array} \right)
\]

より具体的には、1行目と2行目を入れ替えるのが以下の左の行列、1行目と3行目を入れ替えるのが真ん中の行列、2行目と3行目を入れ替えるが右の行列です。

\[
\left( \begin{array}{ccc}
0 & 1 & 0 \\
1 & 0 & 0 \\
0 & 0 & 1
\end{array} \right),
\hspace{4mm}
\left( \begin{array}{ccc}
0 & 0 & 1 \\
0 & 1 & 0 \\
1 & 0 & 0
\end{array} \right),
\hspace{4mm}
\left( \begin{array}{ccc}
1 & 0 & 0 \\
0 & 0 & 1 \\
0 & 1 & 0
\end{array} \right)
\]

この行列のことを記号で \(T_{i,j}\) と表します。\(i,j\) はそれぞれ入れ替える対象となる行を示します。

ある行に別の行の \(s\) 倍を足す行列

最後に、この行列 \(A\)の1行目を-3倍したものを3行目に足したいとします。それは以下の行列を左から掛けることと同じことを意味します。

\[
\left( \begin{array}{ccc}
1 & 0 & 0 \\
0 & 1 & 0 \\
-3 & 0 & 1
\end{array} \right)
\left( \begin{array}{ccc}
a & b & c \\
d & e & f \\
g & h & i
\end{array} \right)
=
\left( \begin{array}{ccc}
a & b & c \\
d & e & f \\
-3a+g & -3b+h & -3c+i
\end{array} \right)
\]

より具体的には、3行目に1行目を \(s\) 倍したものを足すのは以下の左の行列、2行目に1行目を\(s\) 倍したものを足すのは真ん中の行列、1行目に3行目を\(s\) 倍したものを足すのは右側の行列です。

\[
\left( \begin{array}{ccc}
1 & 0 & 0 \\
0 & 1 & 0 \\
s & 0 & 1
\end{array} \right),
\hspace{4mm}
\left( \begin{array}{ccc}
1 & 0 & 0 \\
s & 1 & 0 \\
0 & 0 & 1
\end{array} \right),
\hspace{4mm}
\left( \begin{array}{ccc}
1 & 0 & s \\
0 & 1 & 0 \\
0 & 0 & 1
\end{array} \right)
\]

この行列のことを記号で \(E_{i,j}(s)\) と表します。\(i\) に \(j\) 行目を\(s\)倍したものを足すということを表しています。

これらの三つの行列 \(P_{i}(s)\)、\(T_{i,j}\)、\(E_{i,j}(s)\) がそれぞれ左から、行の基本変形のテクニックである以下の三つに対応しています。

  1. \(P_{i}(s)\):\(i\) 行を \(s\) 倍する
  2. \(T_{i,j}\):\(i\) 行と \(j\) 行を入れ替える
  3. \(E_{i,j}(s)\):\(j\) 行を \(s\) 倍したものを \(i\) 行に足す

これらの3つの行列は「基本行列」と名付けられているのは、以上が理由です。

4. まとめ

以上が行列の基本変形です。

これは連立方程式を解いたり、逆行列を求める際に頻繁に使っているものですが、当ページで解説したように、これが幾何学的には基本行列を掛けることと同じであり、別の表現をすれば \(A\vec{x}=\vec{y}\) において、結果である \(\vec{y}\) と関数 \(A\) が与えられている時に、それらの情報から原因である \(\vec{x}\) を導き出すものである、ということを理解しておくと、さまざまな場面で応用が利くようになります。

当ページが参考になったとしたら嬉しく思います。

Python初心者におすすめのプログラミングスクール

「未経験からでもPythonを学べるプログラミングスクールを探しているけど、色々ありすぎてわからない」なら、次の3つのプログラミングスクールから選んでおけば間違いはありません。

Aidemy Premium:全くの初心者ができるだけ効率よく短期間で実務的に活躍できるAI人材になることを目的とした講座。キャリアカウンセリングや転職エージェントの紹介などの転職支援も充実しており、受講者の転職成功率が高い。

AIジョブカレPythonの基本をおさえた人が、実際に機械学習やディープラーニングを活用できるようになるための講座。転職補償型があるなどキャリア支援の内容が非常に手厚く、講師の質も最高クラス。コスパ最高。Python初心者用の対策講座もある。

データミックスプログラミング経験者のビジネスマンが、更なるキャリアアップのためにデータの処理方法を学んでデータサイエンティストになるための講座。転職だけでなく起業やフリーランスとして独立する人も多い。Python初心者用の対策講座もある。

特に、あなたが以下のような目標を持っているなら、この中から選んでおけば間違いはないでしょう。

・未経験からPythonエンジニアとして就職・転職したい
・AIエンジニアやデータサイエンティストとしてキャリアアップしたい
・起業やフリーランスを視野に入れたい

理由は「Python初心者のためのおすすめプログラミングスクール3選」で解説しています。



よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメント一覧 (1件)

  • >そして、これらの基本行列の積
    の直下、PETと掛け合わせる行列Aの値が間違っています。(1行目と2行目の値が逆)

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる