線形代数を学ぶと必ず登場する「線形変換」という概念。
「行列との違いは何?」「ker・imとはどう関係するの?」「表現行列はどうやって求めるの?」と疑問を感じる方も多いでしょう。
本記事では、線形変換の意味・定義・表現行列の求め方・ker・im との関係を、わかりやすく解説していきます。
具体的な例を交えながら丁寧に説明しますので、ぜひ最後までご覧ください。
線形変換とは?意味と定義をわかりやすく解説
それではまず、線形変換の基本的な意味と定義について解説していきます。
線形変換(linear transformation)とは、2つの線形空間の間の「線形性を保つ写像」のことです。
写像 T: V → W が線形変換であるための条件は次の2つです。
【線形変換の定義】
①加法性:T(u + v) = T(u) + T(v)
②斉次性:T(cu) = cT(u)
(u, v ∈ V, c はスカラー)
この2つの条件をまとめて「線形性」と呼び、T(c₁u + c₂v) = c₁T(u) + c₂T(v) と表すこともできます。
線形変換は「ベクトルの足し算とスカラー倍を保存する変換」と理解するとわかりやすいでしょう。
行列による変換 T(x) = Ax は典型的な線形変換の例であり、任意の線形変換は行列として表現できます。
線形変換の具体例
線形変換の具体例を幾何学的に確認しましょう。
| 変換の種類 | 表現行列(2次元) | 効果 |
|---|---|---|
| 回転(角θ) | [[cosθ, -sinθ], [sinθ, cosθ]] | 原点中心にθ回転 |
| スケール(x方向a倍, y方向b倍) | [[a, 0], [0, b]] | 各軸方向に伸縮 |
| x軸に関する反射 | [[1, 0], [0, -1]] | y座標を反転 |
| x軸への射影 | [[1, 0], [0, 0]] | y成分を消す |
| せん断(x方向) | [[1, k], [0, 1]] | x方向にずれる |
これらはすべて線形変換の定義を満たし、行列で表現できます。
幾何学的な変換と行列の対応関係を掴むことが線形変換の理解を深めます。
線形変換でない変換の例
すべての変換が線形変換というわけではありません。
T(x, y) = (x + 1, y)(平行移動)は線形変換ではありません。
T(0, 0) = (1, 0) ≠ (0, 0) であり、零ベクトルが零ベクトルに移らないからです。
線形変換の必要条件として「零ベクトルは必ず零ベクトルに移る」という性質があります。
平行移動を含む変換は「アフィン変換」と呼ばれ、線形変換の一般化として扱われます。
線形変換の合成
2つの線形変換 T: V → W と S: W → U の合成 S∘T: V → U もまた線形変換になります。
行列で言えば、T が行列 A、S が行列 B で表されるとき、S∘T の表現行列は BA(逆順に掛け合わせる)となります。
変換の順序と行列の積の順序の対応は、CG・ロボット工学・機械学習での重要なポイントです。
表現行列の求め方
続いては、線形変換の表現行列の求め方を確認していきます。
表現行列とは、線形変換を特定の基底に関して行列として表したものです。
標準基底による表現行列の求め方
ℝⁿ の標準基底 {e₁, e₂, …, eₙ} に関する表現行列を求める手順です。
【表現行列の構成手順】
①各基底ベクトル eᵢ への T の作用 T(eᵢ) を求める
②T(e₁), T(e₂), …, T(eₙ) を列ベクトルとして並べる
③その行列が T の表現行列 A になる
たとえば「x軸に関する反射」の表現行列を求めると:
T(e₁) = T(1, 0) = (1, 0)、T(e₂) = T(0, 1) = (0, -1)
表現行列 = [[1, 0], [0, -1]] となります。
基底が変わると表現行列も変わる
同じ線形変換でも、基底の選び方によって表現行列は変わります。
基底を B から B’ に変えたとき、表現行列は「P⁻¹AP」に変換されます(P は基底変換行列)。
この操作を「相似変換」と呼び、相似な行列は同じ線形変換の異なる表現です。
固有ベクトルを基底に選ぶと対角行列(最も簡単な形)の表現行列が得られるのが「対角化」の本質です。
ker と im の求め方(再確認)
線形変換 T の ker(核)と im(像)は次のように求めます。
ker(T) = {v ∈ V | T(v) = 0}:表現行列 A に対して Ax = 0 の解空間
im(T) = {T(v) | v ∈ V}:表現行列 A の列空間
dim(ker(T)) + dim(im(T)) = dim(V)(次元定理)が成り立ちます。
ker・im・次元定理は線形変換の「情報構造」を完全に記述する重要な概念です。
線形変換の実際の応用
続いては、線形変換がどのような場面で実際に活用されているかを確認していきます。
コンピュータグラフィックスでの活用
3Dグラフィックスでは、物体の移動・回転・スケール変換に線形変換(行列)が使われます。
OpenGL・DirectX・Unityなどの3Dエンジンでは、変換をスタックに積んで合成することで複雑なアニメーションを実現します。
カメラから見た投影変換・ライティング計算にも線形代数の行列演算が活用されています。
現代のゲームや映像制作の裏側には線形変換の理論が深く組み込まれているのです。
信号処理・フーリエ変換との関係
信号処理分野でも線形変換は中心的な役割を果たします。
フーリエ変換は関数の空間から周波数の空間への線形変換であり、「フーリエ変換行列」として行列で表現できます。
離散フーリエ変換(DFT)は複素数ベクトルへの行列変換として定義されます。
音声処理・画像圧縮・通信工学などで線形変換の理論が直接応用されています。
機械学習での活用
ニューラルネットワークの各層は「線形変換 + 非線形活性化関数」の組み合わせで構成されています。
全結合層の計算は「y = Wx + b」という線形変換(+ バイアス)として記述できます。
逆伝播法(バックプロパゲーション)でも行列の転置・連鎖律といった線形変換の性質が活用されます。
深層学習の数学的基盤の多くが線形変換の理論に基づいているでしょう。
まとめ
本記事では、線形変換の意味・定義・具体例・表現行列の求め方・ker・imとの関係・実際の応用まで詳しく解説しました。
線形変換とは線形空間の間の写像で加法性と斉次性を満たすものであり、任意の線形変換は行列で表現できます。
表現行列は基底ベクトルの変換先を並べることで求められ、基底の選択によって形が変わります。
線形変換・表現行列・ker・imの関係を理解することが線形代数を深く学ぶための核心です。
ぜひ本記事の内容を参考に、具体的な変換の表現行列を求める練習を重ねてみてください。