行列の階数(ランク)とは何か?意味や求め方をわかりやすく解説

行列の階数(ランク)とは、「その行列で線形変換を行ったときに、空間が何次元になるのか」を示すものです。

これにはどういう意義があるのでしょうか?

正則行列とは何かがアニメーションで驚くほどよくわかる解説』でお伝えした通り、ある行列が正則行列なのか、それとも非正則行列なのかの判定は、行列式の値がゼロ以外なのか、それともゼロなのかで判定することができます。

しかし、行列式がゼロの場合(=非正則行列の場合)でも、線形変換はまったく同じようなものになるわけではありません。「それでは、どのような線形変換になるのか?」ということを具体的にしてくれる指標の一つが行列の階数(ランク)です。

当ページでは、これについて誰でもわかるように解説していきます。

目次

1. 行列の階数(ランク)とは

冒頭でお伝えした通り、行列の階数(ランク)とは、「その行列で線形変換を行ったときに、空間が何次元になるのか」を示すものです。

これはアニメーションで実例を見れば、すぐに理解することができます。

例えば、以下のアニメーションの最初の線形変換では2次元を1次元に、次の線形変換では3次元を1次元にしています。これらの線形変換は空間を1次元にするので、この行列の階数(ランク)は1です。

次に以下のアニメーションの線形変換では、2次元空間はそのまま2次元に、3次元空間も2次元に変換しています。これらの線形変換は空間を2次元にするものであるため、行列の階数(ランク)は2です。

そして空間を3次元に線形変換をする行列の階数(ランク)は3です。

これ以上の次元になるとアニメーションでは表せないですが、4次元や5次元の空間を、3次元空間に線形変換する行列もすべて階数(ランク)は3ということになります。

このように、行列の階数とは、その行列で線形変換を行ったときに、空間の次元数がどうなるのかを表すものです。

なお、ここまでの3つのアニメーションはすべて正方行列の場合です。正方行列では、例えば \(n\times n\) の行列の場合、ランクが \(n\) より大きくなることはありません。つまり、空間(または入力したベクトル)の次元数を上げるようなことはありません。

一方で、非正方行列は、入力したベクトルの次元数を上げる場合も多々あります。例えば、以下のように \(3\times2\) の非正方行列は、2次元の基底ベクトルを3次元ベクトルに変換します。そのため、この非正方行列のランクは3です。

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

以下のアニメーションで視覚的に確認してみましょう。

具体的には、\(m\times n\) の非正方行列では、

ポイント
行列の階数(ランク)とは、その行列で線形変換を行ったときの、空間の次元数を示すもの。

2. 階数とともに理解したい概念

さて、行列の階数(ランク)については以上ですが、ここではそれとともに押さえておきたい概念について解説します。

2.1. フルランク

例えば、\(2\times 2\) の正方行列で線形変換をしたとき、線形変換後の空間が2次元より大きなものになることはありません。同じように \(3\times 3\) の正方行列で線形変換をしたとき、空間が3次元より大きくなることはありません。

このように、\(n\times n\) の正方行列による線形変換によって実現可能な最大の次元数 \(n\) のことを「フルランク」と言います。フルランクは、\(2\times 2\) の正方行列では2ですし、\(3\times 3\) の正方行列では3です。

それでは、フルランクの行列とはどのようなものなのでしょうか。

答えは正則行列です。『正則行列とは何かがアニメーションで驚くほどよくわかる解説』で解説した通り、正則行列とは逆行列をもつ行列のことであり、同時に行列式の値がゼロではない・・・・行列のことです。この条件に当てはまる行列は、すべてフルランクの行列になります。

ポイント
すべての正則行列(逆行列をもつ行列)はフルランクであり、すべての非正則行列(逆行列をもたない行列)はフルランクではない。

2.2. ゼロ空間(「カーネル」または「核」)

フルランクの行列を知ると、面白い現象を理解することができます。『線形変換とは?誰でも必ず理解できるようにアニメーションで解説』でお伝えした通り、線形変換では、原点は常に原点に固定されています。

フルランクの行列(正則行列)では、線形変換前も線形変換後も、ゼロベクトルのみが原点に存在します。

一方で、フルランクではない行列(非正則行列)では、ゼロベクトル以外にも原点に収束するベクトルが存在します。

例えば、ランク1の2次行列では、ある直線上に存在するベクトルはすべてゼロベクトルに収束します。以下のアニメーションをご確認ください。

ランク2の3次行列の場合も、ある直線上に存在するベクトルはすべて原点に収束します。

そして、ランク1の3次行列では、ある平面上に存在するベクトルがすべて原点に収束します。

このように、ある行列で線形変換をすると原点に収束するような空間(直線や平面)のことを、その行列の「ゼロ空間(または「カーネル」や「核」)」と言います。

ポイント
フルランクではない行列(非正則行列)で線形変換をしたときに、原点(ゼロベクトル)に収束する空間(直線上や平面など)のことを「零空間(「カーネル」または「核」)」という。

3. 行列の階数(ランク)の求め方

それでは、行列の階数(ランク)の求め方を見ていきましょう。練習問題も用意しているので、ぜひチャレンジしてみてください。

3.1. 求め方の解説

まず簡単な例を見ていきましょう。以下の行列 \(A\) の階数(ランク)はわかるでしょうか?

\[\begin{eqnarray}
A=\left[ \begin{array}{cc} 2 & 1 \\ 1 & 2 \end{array} \right]\
\end{eqnarray}\]

この行列で線形変換したらどうなるかをイメージしてみてください。一列目は基底ベクトル \(\hat{\imath}\) の行き先を、二列目は基底ベクトル \(\hat{\jmath}\) の行き先を示します。この場合、両方の基底ベクトルに行き先がありますので、階数(ランク)は2になります。

以下のアニメーションで確認してみましょう。

それでは、以下の行列ではどうでしょうか?

\[\begin{eqnarray}
A=\left[ \begin{array}{cc} 2 & 1 \\ 2 & 1 \end{array} \right]\
\end{eqnarray}\]

この場合、基底ベクトル \(\hat{\imath}\) の行き先は \(\left[ \begin{array}{cc} 2 \\ 2 \end{array} \right]\)、\(\hat{\jmath}\) の行き先は \(\left[ \begin{array}{cc} 1 \\ 1 \end{array} \right]\) です。

一見すると問題なさそうですが、注意深く見てみてください。

これらの基底ベクトルの行き先は同じ向きを向いています。つまり、お互いに一次従属したベクトルに変換されます(参照:『ベクトルの一次独立とは?驚くほど理解できるアニメーション解説』)。

つまり、線形変換後の空間は1次元空間になるので、この行列の階数(ランク)は1ということになります。念のため、以下のアニメーションでご確認ください。

以上のことからわかるのは、線形変換後の基底ベクトルに注目することによって、次元数がいくつ減るかわかるということです。

上で見たように、2次行列の場合は、2本の基底ベクトルが平行になる場合は1次元空間になるため階数(ランク)は1になります。3次行列の場合は、2本の基底ベクトルが平行になると階数(ランク)は2に、3本の基底ベクトルがすべて平行になると階数(ランク)は1になります。

3次行列については念のため、確認用に以下のアニメーションを用意しておきます。これは3本の基底ベクトルのうち2本が平行になっているもの(=ランク2のもの)です。

このように、その行列による線形変換で、基底ベクトルがどうなるかがわかれば、階数(ランク)がわかるということです。言い換えると、その行列の列ベクトルまたは行ベクトルに注目すれば良いということになります。

ただし、これはいつもわかりやすいわけではありません。

そこで、『逆行列の求め方~掃き出し法と逆行列の公式の2つの方法の徹底解説~』でも解説した掃き出し法を応用して、数学的に階数(ランク)を求める方法があります。

具体的には、任意の行列 \(A\) を単位行列にするべく、行列の基本変形をして、最終的にすべての成分がゼロではない・・・・行の数が、その行列の階数(ランク)です。

例えば、次の行列があるとします。

\[\begin{eqnarray}
A=\left[ \begin{array}{cc} 2 & 3 \\ -0.4 & -0.6 \end{array} \right]\
\end{eqnarray}\]

行基本変形で、この行列を単位行列に変換してみましょう。そのために、まず2行目を−5倍したものを1行目に足してみます。すると、以下のようになります。

\[\begin{eqnarray}
A=\left[ \begin{array}{cc} 0 & 0 \\ -0.4 & -0.6 \end{array} \right]\
\end{eqnarray}\]

一方の行がゼロベクトルになってしまい、これ以上、行基本変形を行うことはできません。

そしてこの行列を見てみると、基底ベクトル \(\hat{\imath}\) は \(\left[ \begin{array}{cc} 0 \\ -0.4 \end{array} \right]\) 、 \(\hat{\jmath}\) は \(\left[ \begin{array}{cc} 0 \\ -0.6\end{array} \right]\) となり、2本の基底ベクトルが平行することがわかります。ということは、この行列の階数(ランク)は1であるということになります。

3.2. 練習問題

行列の階数(ランク)の求め方について、以下に練習問題を用意しておきます。上の説明だけでは、ピンとこなかったとしても、練習問題を解いていただくと必ず理解が深まりますので、ぜひ実際に解いてみてください。

練習問題① 2次行列の階数(ランク)

問題:以下の2次行列の階数(ランク)を求めよ。

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

解答

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

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

次に、1行目を−1倍します。

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

2行目から1行目を引きます。

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

そして、2行目を \(\frac{1}{2}\) 倍します。

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

このように行基本変形で単位行列に変換できたため、この行列の階数(ランク)は2です。つまり、この行列はフルランクの正則行列です。

練習問題② 2次行列の階数(ランク)

問題:以下の2次行列の階数(ランク)を求めよ。

\[\begin{eqnarray}
\left[ \begin{array}{cc} 1 & 2 \\ -2 & -4 \end{array} \right]\
\end{eqnarray}\]

解答

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

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

これ以上、行基本変形を行うことはできないので、この行列の階数(ランク)は1です。

練習問題③ 3次行列の階数(ランク)

問題:以下の3次行列の階数(ランク)を求めよ。

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

解答

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

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

これ以上、行基本変形を行うことができないので、この行列の階数(ランク)は2です。

練習問題④ 3次行列の階数(ランク)

問題:以下の3次行列の階数(ランク)を求めよ。

\[\begin{eqnarray}
\left[ \begin{array}{cc}
1 & 2 & -1\\
-2 & -4 & 2 \\
3 & 6 & -3
\end{array} \right]\
\end{eqnarray}\]

解答

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

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

続いて、3行目から1行目を−3倍したものを足します。

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

これ以上、行基本変形を行うことができないので、この行列の階数(ランク)は1です。

【補足】零空間(カーネル)の求め方

ちなみに零空間は、\(A\vec{v}=\vec{0}\) の連立方程式によって求めることができます。

例えば、以下をご覧ください。

\[\begin{eqnarray}
A\vec{v}=\vec{0}
&\Longrightarrow&
\left[ \begin{array}{ccc|c}
1 & 0 & 1 \\
0 & 1 & 0 \\
0 & 0 & 0
\end{array} \right]
\left[ \begin{array}{cc} x \\ y \\ z \end{array} \right]
=
\left[ \begin{array}{cc} 0 \\ 0 \\ 0 \end{array} \right]\\
\end{eqnarray}\]

この場合、連立方程式の解は次のようになります。

\[\begin{eqnarray}
\begin{cases}
1x + 0y + 1z = 0 \\
0x + 1y + 0z= 0 \end{cases}
\end{eqnarray}\]

この連立方程式の解が、この行列 \(A\) の零空間です。ランク2の3次行列では零空間は直線なので、\(x=-z\) の直線がゼロ空間になります。

4. 行列の階数(ランク)の性質

ここでは、行列の階数(ランク)の性質をまとめておきます。ここまでの解説を理解した上でそれぞれを見てみると、当たり前の性質であることがわかるでしょう。

  • 行列 \(A\) が \(n\times n\) の正方行列なら、ランクは \(n\) 以下になる。
  • 行列 \(A\) が \(m\times n\) の非正方行列なら、ランクは \(m\) 以下になる。
  • 行列 \(A\) が正則行列ならランクは \(n\) になる。
  • 行列 \(A\) が非正則行列ならランクは \(n\) 以下になる。
  • 行列の積 \(BA\) のランクは \(A\) のランク以下であり、\(B\) のランク以下になる。
  • 行列 \(A\) のランクと、その転置行列 \(A^T\) のランクは同じになる。

線形代数を幾何学的にイメージできていれば、これらの性質はとくに証明の必要がないぐらい当たり前のことだと考えられるようになります。

5. 行列の階数(ランク)のまとめ

以上が行列の階数(ランク)です。

あらためてまとめると、これは「その行列で線形変換を行ったときに、空間が何次元になるのか」を表します。

これは、\(n\) 次正則行列では常に \(n\) です。つまり、逆行列を持たない非正則行列の場合のみ、\(n\) よりも小さなものになります。ゼロ空間(カーネル)や、階数(ランク)の求め方も含めて、しっかりと理解しておきましょう。

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

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

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

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

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

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

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

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



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

この記事を書いた人

コメント

コメント一覧 (2件)

  • 「1. 行列の階数(ランク)とは」の章の最後に出てくる非正方行列のランクが3と書かれているのですが、計算してみるとランクは2になります。そうすると、行列のランクは変換後の次元数を表すという記述に矛盾するのですが、これはどういうことでしょうか。

  • 1. 行列の階数(ランク)とは」の章の最後に出てくる非正方行列のランクが3と書かれている。

    2つの基底ベクトルで、3次元空間内の2次元平面を表しているにすぎないので、ランクは2のはずです。

コメントする

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

目次
閉じる