

行列のランク(rank)を「行列式で一発で求められる」と思っていると、試験本番で7割以上の問題を取りこぼします。
まず「ランクって何を表す数なの?」という疑問から整理します。
行列のランク(rank, 階数)とは、行列の列ベクトルのうち「互いに線形独立なベクトルの最大個数」のことです。線形独立とは、どの1本も他のベクトルの「足し算・定数倍の組み合わせ」では作れない関係を指します。直感的には「行列が持つ本当の情報の次元数」と理解すると入りやすいです。
たとえば3行3列の行列でも、どの列も「1列目の2倍+2列目の3倍」のように表せる場合、独立な方向は2本しかありません。
そのときのランクは2になります。
ランクには同値な定義が8通りほど存在します。
よく使われるのは以下の3つです。
実際にランクを求めるときは定義①が最強です。
計算がもっとも機械的に進むからです。
定義②と③は一見「行」か「列」かで異なりますが、実はどちらで数えても値は必ず一致します。これをランクの「行=列の一致性」といいます。つまり行で数えても列で数えても同じということです。
参考として、ランクの定義と性質について詳しくまとめられているのが下記のページです。8通りの同値条件を確認したい場合は合わせてご参照ください。
行列のランク(rank)の定義・性質・フルランク・積のランク不等式まで網羅した解説ページ。
行列のランクの定義・例・性質/公式 - 理数アラカルト
実際の計算では「行基本変形 → 階段行列を作る → 0でない行を数える」という3ステップが軸です。
行基本変形には次の3つのルールがあります。
これらを組み合わせて「左下に0を集めた形(階段行列)」を作るのが目標です。階段行列とは、左下の三角部分がすべて0になっている行列のことで、視覚的に「段差」が見えるイメージです。
たとえば次の3×3行列Aを考えます。
$$A = \begin{pmatrix} 1 & 2 & 3 \\ 3 & 4 & 2 \\ 2 & 3 & 5 \end{pmatrix}$$
手順は以下のとおりです。まず「1行目を−3倍して2行目に加える」ことで2行1列を0にします。次に「1行目を−2倍して3行目に加える」ことで3行1列を0にします。続けて2行目を整理しながら3行2列を0にしていくと、最終的にすべての成分が0でない行が3行残り、ランクは3とわかります。
行き詰まりの判断も重要です。「操作を続けるとせっかく0にした場所が崩れる」状態になったら、そこが階段行列の完成点です。
それ以上変形する必要はありません。
つまりランク = 0でない行の本数、が基本です。
具体例で確認します。
次の行列Bのランクを求めてみましょう。
$$B = \begin{pmatrix} 1 & 2 & 3 \\ 3 & 4 & 2 \\ 4 & 6 & 5 \end{pmatrix}$$
まず1行目を−3倍して2行目に加えると、2行目は (0, −2, −7) になります。続けて1行目を−4倍して3行目に加えると、3行目は (0, −2, −7) になります。
次に2行目を−1倍して3行目に加えると、3行目はすべて0のゼロベクトルになります。
この時点で変形完了です。
$$B \to \begin{pmatrix} 1 & 2 & 3 \\ 0 & -2 & -7 \\ 0 & 0 & 0 \end{pmatrix}$$
0でない行は2行あります。
よってrank B = 2 です。
もう1つ極端な例として、次の行列Cを見てみましょう。
$$C = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 3 & 6 & 9 \end{pmatrix}$$
1行目を−2倍して2行目に加え、−3倍して3行目に加えると、2行目と3行目が同時にゼロベクトルになります。0でない行は1行だけ残るので、rank C = 1 です。
この例は「行列全体がある1つのベクトルの定数倍になっている場合」を示しています。情報の本質的な方向が1次元しかないということです。直感的には「全行が同じ向きを向いている」イメージです。
結論はrank = 0でない行の数、と覚えておけばOKです。
行基本変形で実際に階段行列を作りながらランクを求める詳細な解説は下記を参照してください。
ランクの求め方と階段行列の作り方 - Darts25
行基本変形を「途中で止める」のが階段行列なら、「完全に整理しきった形」が簡約行列(簡約化)です。
簡約行列には次の4つのルールがあります。
主成分とは「各行を左から見て最初に現れる0でない成分」のことです。簡約化後の主成分の個数が、そのままランクになります。
簡約行列まで変形しきることで、ランクが「主成分を数えるだけ」で確定します。これが「ランク = 主成分の数」という関係です。
例えば、ある3行4列の行列を完全に簡約化した結果が次のような形になったとします。
$$\begin{pmatrix} 1 & 0 & 2 & 0 \\ 0 & 1 & -1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}$$
このとき主成分(各行最初の1)が3個あるので、ランクは3です。
これはシンプルですね。
階段行列だけで判断しても、簡約化して主成分を数えても、答えは必ず一致します。計算量が少ない階段行列どまりで判断するか、確認のために簡約化まで行うかは問題の状況次第です。
ランク計算の丁寧な例題と解説付きページを参考にどうぞ。
行列のランクを求める例題と解説 - 理数アラカルト
「フルランク」という言葉は試験でもよく登場します。ここが理解できると、逆行列の存在条件にも直接つながります。
$m \times n$ の行列Aについて、次の条件が成り立つときにフルランクと呼びます。
$$\text{rank}(A) = \min(m, n)$$
つまり行数と列数のうち小さい方と、ランクが一致している状態です。正方行列($m = n$)の場合は rank A = n のときがフルランクです。
フルランクが重要な理由は「正方行列がフルランク ⟺ 逆行列が存在する(正則行列である)」という必要十分条件があるからです。フルランクかどうかで、その行列が「逆行列を持つかどうか」が決まります。
逆に言えば、行列式が0でない(非特異)ことと、フルランクであることは全く同じ意味を持ちます。
フルランクが条件です。
m×n行列において、ランクが持てる最大値はmin(m, n)です。たとえば3行5列の行列なら、ランクは最大でも3までしかなれません。これはランクが「行の数以下、かつ列の数以下」という不等式から来ています。
$$\text{rank}(A) \leq \min(m, n)$$
この不等式は覚えておくだけで問題の答えの妥当性チェックに使えます。計算結果のランクが行数や列数を超えていれば、必ずどこかに計算ミスがあります。
試験頻出の「文字(パラメータ)が含まれる行列のランクを求める問題」は、解き方の選択が重要です。
正方行列に文字が1つだけ含まれる場合は、行列式(det)を使う方法が速いです。
行列式と階数には次の関係があります。
ただし注意点があります。行列式が0になることは「ランクが最大でない」ことを示すだけで、具体的にいくつかまでは断定できません。正確なランクの値が必要な場合は、行基本変形で確認する必要があります。
4次以上の正方行列の場合、サラスの公式が使えなくなります。そのため行列式での判定はかえって計算量が増えることも多く、行基本変形の方が結果的に速いケースが多いです。
文字入り行列への対応の基本方針をまとめると、「2〜3次正方行列で文字が1つなら行列式、それ以外は行基本変形」が実戦的な選択です。
試験頻出のパターンを詳しく解説したページはこちらです。
(試験頻出)文字が入っている行列の階数の求め方 - ももやまブログ
ランクには計算で役立つ重要な性質が複数あります。ここでは試験・応用で特に使われるものを整理します。
まず「積のランク不等式」です。行列AとBの積ABのランクについて、次が成り立ちます。
$$\text{rank}(AB) \leq \min(\text{rank}(A),\ \text{rank}(B))$$
直感的には「行列を掛けることで情報が増えることはない。
減るか、そのままか」という意味です。
行列の積は「空間を圧縮することはあっても広げることはできない」と考えるとイメージしやすいです。
次に「正則行列との積はランクを変えない」という性質があります。行列Aに正則行列Bを前か後ろから掛けても、ランクは変わりません。これは行基本変形がランクを保存することとも対応しています。行基本変形はランクを変えません、という事実です。
そして「転置行列のランク」についても重要な性質があります。転置行列 $A^\top$ のランクは、もとの行列Aのランクと等しいです。
$$\text{rank}(A) = \text{rank}(A^\top)$$
これは「行で数えても列で数えても同じ」という事実を、転置の言葉で言い直したものです。意外に感じるかもしれませんが、転置してもランクは変わらないということです。
これらの性質は証明問題でも活用されます。特に積の不等式と転置のランク保存は、より高度な命題を証明する際の道具として頻繁に登場します。
ランクを学ぶ大きな動機のひとつが「連立方程式の解が何個あるか(あるいは存在するか)の判定」です。
$m$個の方程式、$n$個の未知数からなる連立方程式 $Ax = b$ について、係数行列Aと拡大係数行列 $(A|b)$ のランクを比べることで、解の状況がわかります。
「自由度」という概念もここに登場します。自由度は $n - \text{rank}(A)$ で定義され、解の自由変数の個数(任意に決められる変数の本数)を表します。たとえば未知数が4つで rank A = 2 なら、自由度は 4 − 2 = 2 で、解は2つのパラメータで動く曲面(2次元の解空間)になります。
この関係は非常に実用的です。連立方程式を解く前にランクだけ調べておけば、「解が存在するかどうか」「一意解か無限解か」を先に判断できます。
つまりランク = 方程式系の実質的な方程式の数、と理解することができます。
ここではランク計算で実際につまずきやすいポイントと、他の解説では取り上げられにくい独自の視点を紹介します。
ミス①:行基本変形でランクが変わると思い込む
行基本変形(行の入れ替え・定数倍・加算)はランクを一切変えません。
これが安心して変形を続けられる理由です。
意外なことに、列基本変形もランクを変えません。ただし列操作の場合は解ベクトルの形が変わるため、連立方程式を解く際には列変形を使わないのが普通です。
ミス②:行列式が0のとき「rank = 0」と誤解する
行列式が0のとき、ランクは「n未満」になるだけで、具体的な値は変形して数えないとわかりません。
行列式が0 ≠ ランクが0です。
ミス③:非正方行列でサイズを超えたランクを書いてしまう
3行5列の行列でrank=4と書いてしまうミスです。ランクの上限は必ず min(行数, 列数) です。3行5列ならrank ≤ 3が必須条件です。
ランクの上限を確認してから答えましょう。
独自視点:ランクは「データの本当の次元数」として現代でも活躍している
線形代数の教科書的な学習にとどまらず、ランクは現代のデータサイエンス・機械学習でも重要な役割を担っています。「低ランク近似」という手法では、大きな行列をランクの低い行列で近似することで、データの圧縮や推薦システム(NetflixやAmazonの「あなたへのおすすめ」)が実現されています。具体的には100万×100万のユーザー×商品行列を、ランク10〜50程度の行列に圧縮して扱うことで、計算量を劇的に削減できます。
試験でランクを学ぶ段階では実感しにくいですが、「行列の情報を圧縮して本質だけを取り出す力」がランクの核心です。
これは使えそうです。
ここまでの内容を整理します。ランクを求める際の手順と注意点を一覧にまとめます。
| ステップ | 内容 |
|---|---|
| 1 | 行基本変形で階段行列(左下が0の形)を作る |
| 2 | 0でない行の数を数える → それがランク |
| 3 | 答えのランクが min(行数, 列数) 以下か確認する |
| 4 | 文字が含まれる場合は場合分けして各場合のランクを求める |
| 5 | 正方行列かつ2〜3次なら行列式での判定も検討する |
また、ランクを求めた後に活用できる知識としては次のものがあります。
ランクは「行列の本質的な次元数」を表す数です。
階段行列さえ作れれば必ず求められます。
基本変形の3ルールを身につけて、機械的にこなせるようになるまで繰り返すことが、最も確実な近道です。
ランクの同値な定義・行ランクと列ランクの一致など理論的な背景を深く理解したい場合は下記を参照してください。
行列のランク(rank)の8通りの同値な定義・性質 - 学びTimes