線形代数の教科書や授業で登場する「dim」という記号。
「dimって何の略?」「ker や im の dim とはどう求めるの?」「rank との関係は?」と疑問を持つ方も多いでしょう。
本記事では、dimの意味・次元の定義・ker・imのdim・rankとの関係を、わかりやすく解説していきます。
抽象的に見える概念も具体的な例で説明しますので、ぜひ最後までご覧ください。
dimとは?線形代数における意味と定義
それではまず、dimの意味と定義について解説していきます。
dim は「dimension(次元)」の略であり、線形代数では「線形空間(ベクトル空間)の次元」を表す記号です。
次元とは、線形空間の基底を構成するベクトルの個数のことです。
たとえば、dim(ℝ³) = 3(3次元実数空間の次元は3)、dim(ℝⁿ) = n となります。
【dimの例】
dim(ℝ²) = 2
dim(ℝ³) = 3
dim({零ベクトルのみ}) = 0
dim({2次以下の多項式全体}) = 3(基底:{1, x, x²})
次元の概念は「空間の自由度」や「基底の個数」として理解するとわかりやすいでしょう。
同じ線形空間のどの基底も必ず同じ個数のベクトルを持つことが、次元が一意に定まる理由です。
基底と次元の求め方
具体的な線形空間の次元を求めるには、その空間の基底を求めます。
行ベクトルの集合の線形空間であれば、行基本変形(ガウス消去法)でピボットの数を数えることで次元が求まります。
たとえば、ベクトル {(1,2,3), (2,4,6), (0,1,1)} の張る空間の次元を求める場合、2番目のベクトルは1番目の2倍なので線形従属です。
線形独立なのは (1,2,3) と (0,1,1) の2本だけなので、この空間の次元は2となります。
ker(核)とimとは何か
線形代数では「ker(kernel、核)」と「im(image、像)」という重要な概念があります。
線形写像(行列)A に対して:
【ker と im の定義】
ker(A) = {x | Ax = 0}(Aによってゼロになる入力ベクトル全体)
im(A) = {Ax | xは任意のベクトル}(Aによって変換されるすべての出力ベクトル全体)
ker(A) は「A の零空間(null space)」とも呼ばれ、im(A) は「A の列空間(column space)」とも呼ばれます。
ker と im はどちらも線形空間(部分空間)であるため、それぞれの次元を考えることができます。
dim(ker) と dim(im) の関係
ker と im の次元は、次元定理(rank-nullity theorem)という重要な定理で結びついています。
【次元定理(rank-nullity theorem)】
dim(ker(A)) + dim(im(A)) = n
(n は A の列数、つまり入力空間の次元)
dim(ker(A)) は「退化度(nullity)」とも呼ばれ、dim(im(A)) は行列の rank(階数)に等しくなります。
この定理は線形写像の「情報の損失」と「像の大きさ」のトレードオフを表しています。
rankとdimの関係
続いては、行列の「rank(階数)」とdimの関係を確認していきます。
行列 A の rank とは、行列の列空間(= im(A))の次元のことです。
dim(im(A)) = rank(A) という等式が成り立ちます。
rankの求め方
行列のrankは、行基本変形(ガウス消去法)でできる階段行列のピボットの個数として求められます。
【rankの計算例】
A = [
,
[2, 4, 6],
[0, 1, 1]]
行基本変形すると:
→ [
,
[0, 1, 1],
[0, 0, 0]]
ピボットは2個 → rank(A) = 2
2行目が0になったことから、行列 A の rank は2であることがわかります。
また次元定理より、dim(ker(A)) = 3 – 2 = 1 となります。
正方行列における dim・rank・可逆性の関係
n×n の正方行列 A について、以下はすべて同値です。
| 同値な条件 | 意味 |
|---|---|
| A は可逆(正則) | 逆行列 A⁻¹ が存在する |
| rank(A) = n | フルランク |
| dim(ker(A)) = 0 | 核はゼロベクトルのみ |
| det(A) ≠ 0 | 行列式が0でない |
| Ax = 0 の解は x = 0 のみ | 自明な解のみ |
| Ax = b は任意の b に対して唯一解を持つ | — |
これらの同値条件を理解することが、連立方程式の解の存在・一意性を判断する上で非常に重要です。
Pythonでの次元・rankの計算
Pythonのnumpyを使えば、rank や dim(核・像の次元)を簡単に計算できます。
【NumPyでのrank計算】
import numpy as np
A = np.array([
, [2, 4, 6], [0, 1, 1]])
r = np.linalg.matrix_rank(A)
print(r) # → 2
# dim(ker) = 列数 – rank
n_cols = A.shape
dim_ker = n_cols – r
print(dim_ker) # → 1
numpy.linalg.matrix_rank関数で行列のrankが求まり、次元定理からdim(ker)も計算できます。
dimの応用:連立方程式の解の構造
続いては、dimの概念が連立方程式の解の構造を理解する上でどう役立つかを確認していきます。
連立方程式 Ax = b の解の構造
連立一次方程式 Ax = b の解の集合は、次のように理解できます。
もし x₀ が特殊解(Ax₀ = b を満たす一つの解)であれば、一般解は x₀ + ker(A) の形で表せます。
つまり、一般解の「自由度」の個数がちょうど dim(ker(A)) に等しくなります。
dimの概念が連立方程式の解の「自由度」を決定するという美しい関係があります。
過決定系・不足決定系と次元
方程式の数と変数の数の関係も、次元の概念で整理できます。
方程式の数 > 変数の数(過決定系):解が存在しないことが多い(最小二乗法で近似解を求める)。
方程式の数 < 変数の数(不足決定系):解が無数に存在することが多い(dim(ker) > 0)。
機械学習の文脈では、過決定系の近似解を求める問題が線形回帰として、不足決定系の解の中で特別な解を求める問題が正則化として現れます。
次元定理の直感的な理解
次元定理(dim(ker) + dim(im) = n)は次のように直感的に理解できます。
n次元の入力空間から、dim(ker)の次元分の「方向」がゼロに潰される(ker の分だけ情報が失われる)。
残りの n – dim(ker) = dim(im) 次元分の「情報」が出力空間に写される。
「情報の損失(dim(ker))」と「像の広さ(dim(im))」が合計で元の次元 n になるというのが次元定理の本質です。
まとめ
本記事では、dimの意味・次元の定義・ker・imのdim・次元定理・rank との関係・連立方程式への応用まで詳しく解説しました。
dim(次元)とは線形空間の基底の個数であり、ker(核)とim(像)のdimは次元定理によって結びついています。
dim(ker(A)) + rank(A) = n という次元定理は、線形写像の性質を理解する上で根本的に重要です。
ker・im・dim・rankの関係をしっかりと理解することは、線形代数の深い理解への重要な一歩となるでしょう。
本記事の内容を参考に、具体的な行列で計算を試しながら理解を深めてみてください。