関連リンク


線形変換と行列の双対性 (Duality)

線形変換は、ある空間のベクトルを別の空間のベクトルへ「写す」作用のことであり、行列はその作用の具体的な表現(座標表現)を与えます。この二つは理論的にも実務的にも不可分の関係にあり、どちらも「同じもの」を異なる視点でとらえているのです。この現象は線形変換と行列の双対性(Duality)と呼ばれ、線形代数の根幹をなす重要な概念です。

有限次元実ベクトル空間 $V$, $W$ を考え、それぞれの基底を $\{ \mathbf{v}_1,\mathbf{v}_2,\ldots,\mathbf{v}_n \}$ 、$\{ \mathbf{w}_1,\mathbf{w}_2,\ldots,\mathbf{w}_m \}$ とします。線形変換 $ f: V \to W $ が与えられたとき、基底を使うことで行列 $ A \in \mathbb{R}^{m \times n} $ によって

\[f(\mathbf{x}) = A\mathbf{x}\]

のように表現できます。ここで

\[A = (a_{ij}); \ \ f(\mathbf{v}_j) = \sum_{i=1}^{m} a_{ij} \mathbf{w}_i\]

であり、$j$ 列目のベクトルは基底 ${\mathbf{w}_i}$ での展開係数になります。

逆に、任意の $ m \times n $ 行列 $ A $ は自然に線形変換 $ f_A: \mathbb{R}^n \to \mathbb{R}^m $ を定めます:

\[f_A(\mathbf{x}) = A \mathbf{x}\]

なお、線形変換 $ f: U \to V $、$ g: V \to W $ の合成 $ g \circ f: U \to W $ に対しては、対応する行列 $ B $, $ A $ を使うと

\[g(f(\mathbf{x})) = B(A\mathbf{x}) = (BA)\mathbf{x}\]

となり、 「合成写像 $ \leftrightarrow $ 行列の積」 という双対性が示されます。行列と線形変換の関係については頻繁に出てくるので、覚えておきましょう。

特に、線形性を持つ「良い」関数、すなわち、ベクトル加法やスカラー倍に対して $f(\alpha \mathbf{x} + \beta \mathbf{y}) = \alpha f(\mathbf{x}) + \beta f(\mathbf{y})$ の性質を保つ変換は、必ず対応する行列によって行列の形式で表現できます。

ここで「良い性質」は、その変換がベクトル空間の基底によって張られたグリッドを「歪め過ぎず」、全体の骨組みを損なわないことを意味しています。すなわち、線形変換はグリッドの形状や相対的な配置を保存したまま、拡大・縮小や回転・反射といった幾何学的な処理を与えるものであり、基底ベクトルの線型結合という基本的構造を破壊しません。

より詳しくは、行列に付随するFundamental Matrix Subspaces(「列空間(Column space)」、「行空間(Row space)」、「零空間(Null space)」、「左零空間(Left null space)」)の幾何学的関係についてFundamental Theorem of Linear Algebraの記事をご参照ください。


正射影 (Orthogonal Projection)

ベクトル $\mathbf{y}$ をベクトル $\mathbf{x}$ に正射影する公式は、

\[\frac{\mathbf{x}^T \mathbf{y}}{|\mathbf{x}|^2} \cdot \mathbf{x}\]

です。この式は、「ベクトル $\mathbf{x}$ 上に $\mathbf{y}$ を垂直に落としたときにできる影を意味します。これは、$\mathbf{y}$ から $\mathbf{x}$ 方向だけを抽出する操作と理解できます。 もし $\mathbf{x}$ が単位ベクトル(すなわち $|\mathbf{x}|=1$)であれば、さらに簡単に

\[(\mathbf{x}^T \mathbf{y}) \cdot \mathbf{x}\]

となります。ここで、$\mathbf{x}^T \mathbf{y}$ は $\mathbf{y}$ と $\mathbf{x}$ の 内積 を表し、「$\mathbf{y}$ の $\mathbf{x}$ 方向成分の大きさ」です。したがって、この大きさを $\mathbf{x}$ の向きに沿って並べたものが正射影ベクトルです。

この正射影ベクトルをさらに行列の形で書くと、次のように書けます。

\[(\mathbf{x} \mathbf{x}^T) \cdot \mathbf{y}\]

ここで $\mathbf{x} \mathbf{x}^T$ は 「射影行列」 と呼ばれ、この行列を任意のベクトル $\mathbf{y}$ にかけることで、$\mathbf{y}$ の $\mathbf{x}$ 軸上への直交射影が得られます。$\mathbf{x} \mathbf{x}^T$ という形を持つ行列については、常に対称行列であることを確認しておきましょう($\left[ \mathbf{x} \mathbf{x}^T \right]^T = \mathbf{x} \mathbf{x}^T$)。


階数(ランク)と固有値分解 (Rank of the matrix and Eigendecomposition)

Eigenvalues and Eigenvectors (3Blue1Brown)

正方行列 $A \in \mathbb{R} ^{n \times n}$ が表す線形変換の本質を深く理解するために、ランク(Rank)と固有値分解(Eigendecomposition)は極めて強力な道具です。

ランク:「どれだけ空間を保っているか」

線形変換は、空間全体のグリッドの形状や相対的な配置をある程度保ちながら、拡大・縮小や回転・反射sなどの幾何学的な変形を行います。しかし、変換によっては空間が激しく「押しつぶされる」こともあり、その歪みの強さや空間の押しつぶされ具合を定量的に表す指標がランク(rank)です。 従って、ランクを使うことで線形変換の「どれだけ空間を保っているか」や「どれだけ激しく押し潰しているか」を評価できます。

  • $A = 0$(零行列)の場合、すべてのベクトルが原点に写され、空間全体が一点に潰れてしまうためランクは0となり、最も激しい歪みと言えます。
  • $A = I$(単位行列)の場合、すべてのベクトルは元の位置にそのまま写され、空間には何の変化も生じないため、ランクは最大(=次元数)です。

固有値:「固有ベクトル方向にどれだけ拡大されるのか」

線形変換における固有値(eigenvalue)は、その変換が特定の方向(固有ベクトル)に対してどれだけ拡大・縮小あるいは反転するかを示す値です。

行列 $A$ がベクトル $\mathbf{v}$ に作用した際、

\[A\mathbf{v} = \lambda \mathbf{v}\]

を満たす場合、$\mathbf{v}$ は$A$の 固有ベクトル (eigenvector) 、$\lambda$ はその 固有値 (eigenvalue) です。

固有ベクトルはスカラー倍しても固有ベクトルのままであるので、ノルムを1に正規化して使うのが一般的です。

固有値の大きさは、次のような意味を持ちます:

  • $ | \lambda | > 1$ なら、その方向にはベクトルが拡大される(引き伸ばされる)。
  • $0 < | \lambda | < 1$ なら、縮小される。
  • $ \lambda = 1$ なら、その方向は変換後も変化しない。
  • $ \lambda = 0$ なら、その方向は完全につぶされ、原点に写される。
  • $ \lambda < 0$ なら、ベクトルは反転される(向きが逆になる)。

このような固有値による幾何的特徴の解釈は、Jordan標準形(Jordan form)、特異値分解(SVD)、主成分分析(PCA)など、より高度な線形代数的枠組みで頻繁に現れます。現時点では、「固有ベクトル=変換時に向きが変わらず、固有値倍だけスケールされる特別な方向」という直感を持つだけでも十分です。

固有値分解(Eigendecomposition):空間軸の再構成