列空間

数学の線型代数学の分野において、ある行列 *A* の**列空間**（れつくうかん、）C(*A*)（しばしば、行列の**値域**（range）とも呼ばれる） とは、その行列の列ベクトルの線型結合としてあり得るすべてのものからなる集合のことを言う。

*K* を（実数あるいは複素数全体のような）体とする。*K* の成分からなる、ある *m*&nbsp;&times;&nbsp;*n* 行列の列空間は、*m*-空間 *K**m* の線型部分空間である。列空間の次元は、その行列の階数と呼ばれる。（整数全体のような）環 *K* についての行列に対しても、同様に列空間を定義することが出来る。

ある行列の列空間は、対応する線型写像の像あるいは値域である。

## 定義
*K* をスカラー体とする。*A* を、列ベクトル **v**1,&nbsp;**v**2,&nbsp;...,&nbsp;**v***n* を伴う *m*&nbsp;&times;&nbsp;*n* 行列とする。それら列ベクトルの線型結合とは、次の形式で記述される任意のベクトルのことを言う：
:c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 + \cdots + c_n \mathbf{v}_n,
ここで *c*1,&nbsp;*c*2,&nbsp;...,&nbsp;*c<sub>n</sub>* はスカラーである。**v**1,&nbsp;...&nbsp;,**v***n* の線型結合としてあり得るすべてのベクトルからなる集合のことを、*A* の**列空間**と言う。すなわち、*A* の列空間は、ベクトル **v**1,&nbsp;...&nbsp;,&nbsp;**v***n* の張る部分空間である。

行列 *A* の列ベクトルの任意の線型結合は、*A* と列ベクトルの積として記述される。すなわち
:\begin{array} {rcl}
A \begin{bmatrix} c_1 \\ \vdots \\ c_n \end{bmatrix} 
& = & \begin{bmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{n1} & \cdots & a_{nn} \end{bmatrix} \begin{bmatrix} c_1 \\ \vdots \\ c_n \end{bmatrix}
= \begin{bmatrix} c_1 a_{11} + & \cdots & + c_{n} a_{1n} \\ \vdots & \vdots & \vdots \\ c_{1} a_{n1} + & \cdots & + c_{n} a_{nn} \end{bmatrix} = c_1 \begin{bmatrix} a_{11} \\ \vdots \\ a_{n1} \end{bmatrix} + \cdots + c_n \begin{bmatrix} a_{n1} \\ \vdots \\ a_{nn} \end{bmatrix} = \\
{} & = & c_1 \mathbf{v}_1 + \cdots + c_n \mathbf{v}_n
\end{array}
として記述される。したがって *A* の列空間は、**x**&nbsp;&isin;&nbsp;**R***n* に対するすべてのあり得る積 *A***x** からなる。これは、対応する線型写像の像（あるいは、値域）と同様である。

;例
:A = \begin{bmatrix} 1 & 0 \\ 0 & 1 \\ 2 & 0 \end{bmatrix} とすると、その列ベクトルは **v**1&nbsp;=&nbsp;(1,&nbsp;0,&nbsp;2)T と **v**2&nbsp;=&nbsp;(0,&nbsp;1,&nbsp;0)T である。
:**v**1 と **v**2 の線型結合は、次の形式で記述される任意のベクトルである：
::c_1 \begin{bmatrix} 1 \\ 0 \\ 2 \end{bmatrix} + c_2 \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} = \begin{bmatrix} c_1 \\ c_2 \\ 2c_1 \end{bmatrix}\,
:そのようなベクトルすべてからなる集合が、*A* の列空間である。この場合の列空間は、方程式 *z*&nbsp;=&nbsp;2*x* を満たすようなベクトル (*x*,&nbsp;*y*,&nbsp;*z*)&nbsp;&isin;&nbsp;**R**3 の集合である（デカルト座標を用いることで、この集合は三次元空間における原点を通る平面であることが分かる）。

## 基底
*A* の列ベクトルは列空間を張るが、それらが線型独立でない場合には基底を形成しないこともあり得る。幸運なことに、行列の基本変形は列ベクトルの間の依存関係に影響を与えない。このことは、列空間の基底を見つけるためにガウスの消去法を使用することを可能にする。

例えば、行列
:A = \begin{bmatrix} 1 & 3 & 1 & 4 \\ 2 & 7 & 3 & 9 \\ 1 & 5 & 3 & 1 \\ 1 & 2 & 0 & 8 \end{bmatrix}\text{ }
を考える。この行列の列ベクトルは、列空間を張るが、線型独立でない可能性もあり、その場合にはそれら列ベクトルの集合のある部分集合が、基底を形成する。この基底を見つけるために、*A* を行既約階段形へと書き下す：
:\begin{bmatrix} 1 & 3 & 1 & 4 \\ 2 & 7 & 3 & 9 \\ 1 & 5 & 3 & 1 \\ 1 & 2 & 0 & 8 \end{bmatrix}
\sim \begin{bmatrix} 1 & 3 & 1 & 4 \\ 0 & 1 & 1 & 1 \\ 0 & 2 & 2 & -3 \\ 0 & -1 & -1 & 4 \end{bmatrix}
\sim  \begin{bmatrix} 1 & 0 & -2 & 1 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 0 & -5 \\ 0 & 0 & 0 & 5 \end{bmatrix}
\sim  \begin{bmatrix} 1 & 0 & -2 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \end{bmatrix}\text{ }
この時点で、第一、第二、第四の列ベクトルは線型独立であることが明白になるが、第三の列ベクトルははじめの二つの列ベクトルの線形結合となっている（具体的に、**v**3&nbsp;=&nbsp;&minus;2**v**1&nbsp;+&nbsp;**v**2 である）。したがって、もとの行列の第一、第二および第四の列ベクトル
:\begin{bmatrix} 1 \\ 2 \\ 1 \\ 1\end{bmatrix},
\begin{bmatrix} 3 \\ 7 \\ 5 \\ 2\end{bmatrix},
\begin{bmatrix} 4 \\ 9 \\ 1 \\ 8\end{bmatrix} 
が、その行列の列空間の基底である。ここで、行既約階段形の独立な列ベクトルは、を伴う列ベクトルであることに注意されたい。このことから、階段形へと書き下すことのみで、どの列ベクトルが線型独立であるか決定することが可能となる。

上述の計算法は一般的に、任意のベクトルの集合の間の依存関係を調べるため、および任意の張られる集合から基底を見つけるために用いられる。張られる集合から基底を見つけるための異なる計算方法は、記事「行空間」で述べられている：すなわち、*A* の列空間の基底を見つけることは、転置行列 *A*T の行空間の基底を見つけることと同値なのである。

## 次元

列空間の次元は、その行列の'''階数'''と呼ばれる。階数は、行既約階段形におけるピボットの数と等しく、その行列から選ぶことの出来る線型独立な列の最大数である。例えば、上の例の 4&nbsp;&times;&nbsp;4 列の階数は 3 である。

列空間は、対応する行列変換の像であるため、行列の階数はその像の次元と等しい。例えば、上の例の行列として表現される変換 **R**4&nbsp;&rarr;&nbsp;**R**4 は、**R**4 に属するすべての元を、ある4次元部分空間へと写す。

行列の**退化次数**（nullity）とは、零空間の次元のことを言い、行既約階段形においてピボットを持たない列の数に等しい。*n* 個の列を含む行列 *A* の階数と退化次数には、次の方程式で与えられる関係がある：
:\text{rank}(A) + \text{nullity}(A) = n.\,
この方程式は階数・退化次数の定理として知られる。

## 左零空間との関係
*A* の左零空間とは、**x**T*A*&nbsp;=&nbsp;**0**T を満たすような全てのベクトル **x** の集合のことを言う。*A* の転置行列の零空間に等しい。行列 *A*T とベクトル **x** の積は、ベクトルのドット積を用いて次のように記述することが出来る：
:A^{T}\mathbf{x} = 
\begin{bmatrix} \mathbf{v}_1 \cdot \mathbf{x} \\ \vdots \\ \mathbf{v}_n \cdot \mathbf{x} \end{bmatrix} 
これはなぜかと言うと、*A*T の行ベクトルは *A* の列ベクトル **v***k* の転置だからである。したがって、*A*T**x**&nbsp;=&nbsp;**0** が成立することと、**x** が *A* の各列ベクトルに直交することは、同値である。

左零空間（*A*T の零空間）は、A の列空間の直交補空間である。

行列 *A* に対し、列空間、行空間、零空間および左零空間は、しばしば四つの基本部分空間と呼ばれる。

## 環上の行列に対して
上述の議論と同様に、列空間（しばしば「右」列空間と区別される）は環 *K* 上の行列に対して次のように定義される：
:\sum\limits_{k=1}^n \mathbf{v}_k c_k
ここで *c*1,&nbsp;...,&nbsp;*c<sub>n</sub>* は任意で、「右自由加群」への *m*-次元ベクトルを置き換えが行われている。したがって、通常とは異なる順番「ベクトル → スカラー」となるようにベクトルのが書き換えられている。

## 関連項目
* ユークリッド部分空間
* 零空間
* 行空間
* 四つの基本部分空間
* 行列の階数
* 線型包
* 行列

## 脚注

### 注釈

## 参考文献
* 
* 
* 
* 
* 
* 
* 

## 外部リンク
* Khan Academy video tutorial
* 
*, MIT Linear Algebra Lecture on the Four Fundamental Subspaces at Google Video, from MIT OpenCourseWare