LoginSignup
0
1

More than 1 year has passed since last update.

データサイエンスのための線形代数 第17回 行列の階数

Posted at

本記事は数学講座5.1 行列の階数を勉強して投稿したメモです。詳細は元の素晴らしい講座のページをチェックしてください。

行列関数$Ax=y$において、インプット$x$が2次元のベクトル空間であれば、アウトプットが2次元、1次元或は0次元の可能性しかありません。(*3次元、4次元にはいかないです!)

次元数が情報の密度と考えればよいです。情報が同じになるか、落とされるかの2択です。
$×$:低密度$→$高密度
$〇$:高密度$→$低密度、同じ密度

image.png

列ベクトル

行列$A$が以下のように、列ベクトルの形で記載していたら:

\boldsymbol{A}=
\begin{pmatrix}
    {\color{green}{a_{11}}}&{\color{blue}{a_{12}}}&\cdots&{\color{purple}{a_{1n}}}\\
    {\color{green}{a_{21}}}&{\color{blue}{a_{22}}}&\cdots&{\color{purple}{a_{2n}}}\\
    \vdots&\vdots&\quad&\vdots\\
    {\color{green}{a_{m1}}}&{\color{blue}{a_{m2}}}&\cdots&{\color{purple}{a_{mn}}}
\end{pmatrix}
=({\color{green}{\boldsymbol{c_1}}},{\color{blue}{\boldsymbol{c_2}}},\cdots,{\color{purple}{\boldsymbol{c_n}}})

全てのベクトルが含めているベクトル組が列ベクトル組:

列ベクトル組:\{\boldsymbol{c_1},\boldsymbol{c_2},\cdots,\boldsymbol{c_n}\}

列ベクトル組が張る空間が列空間$colsp(\boldsymbol{A})$です。

\begin{aligned}
    colsp(\boldsymbol{A})
        &=span(\{\boldsymbol{c_1},\boldsymbol{c_2},\cdots,\boldsymbol{c_n}\})\\
        &=x_1\boldsymbol{c_1}+x_2\boldsymbol{c_2}+\cdots+x_n\boldsymbol{c_n},\quad x_{1,2,\cdots,n}\in\mathbb{R}
\end{aligned}

列ベクトル組の階数、即ち列空間の次元数が、列階数と呼びます。

列階数=rank(colsp(\boldsymbol{A}))

列ベクトル組が線形独立でしたら、これが列フル階数と呼びます。

例:

$A$行列の列ベクトルが$c_1,c_2$

\boldsymbol{A}=\begin{pmatrix}-1&2\\0&2\\1&-2\end{pmatrix}
\\
\boldsymbol{c_1}=\begin{pmatrix}-1\\0\\1\end{pmatrix},\quad\boldsymbol{c_2}=\begin{pmatrix}2\\2\\-2\end{pmatrix}

列ベクトル組{ $c_1,c_2$ } が張る空間が$R^3$での一つ平面です。即ち行列$A$の列階数が$2$です。
image.png

列ベクトル組{ $c_1,c_2$ } が線形独立ですから、行列$A$が列フル階数です。
(*線形従属でしたら、階数が1になり、線になります)

行ベクトル

行列$A$が以下のように、行ベクトルの形で記載していたら:


\boldsymbol{A}=
\begin{pmatrix}
    {\color{green}{a_{11}}}&{\color{green}{a_{12}}}&\cdots&{\color{green}{a_{1n}}}\\
    {\color{blue}{a_{21}}}&{\color{blue}{a_{22}}}&\cdots&{\color{blue}{a_{2n}}}\\
    \vdots&\vdots&\quad&\vdots\\
    {\color{purple}{a_{m1}}}&{\color{purple}{a_{m2}}}&\cdots&{\color{purple}{a_{mn}}}
\end{pmatrix}
=\begin{pmatrix}{\color{green}{\boldsymbol{r_1}^\mathrm{T}}}\\{\color{blue}{\boldsymbol{r_2}^\mathrm{T}}}\\\vdots\\{\color{purple}{\boldsymbol{r_m}^\mathrm{T}}}\end{pmatrix}

全てのベクトルが含めているベクトル組が行ベクトル組:

行ベクトル組:\{\boldsymbol{r_1}^\mathrm{T},\boldsymbol{r_2}^\mathrm{T},\cdots,\boldsymbol{r_m}^\mathrm{T}\}

行ベクトル組が張る空間が行空間$rowsp(\boldsymbol{A})$です。


\begin{aligned}
    rowsp(\boldsymbol{A})
        &=span(\{\boldsymbol{r_1}^\mathrm{T},\boldsymbol{r_2}^\mathrm{T},\cdots,\boldsymbol{r_m}^\mathrm{T}\})\\
        &=x_1\boldsymbol{r_1}^\mathrm{T}+x_2\boldsymbol{r_2}^\mathrm{T}+\cdots+x_m\boldsymbol{r_m}^\mathrm{T},\quad x_{1,2,\cdots,m}\in\mathbb{R}
\end{aligned}

行ベクトル組の階数、即ち行空間の次元数が、行階数と呼びます。

行階数=rank(rowsp(A))

行ベクトル組が線形独立でしたら、これが行フル階数と呼びます。

例:

先ほどの行列$A$:

\boldsymbol{A}=\begin{pmatrix}-1&2\\0&2\\1&-2\end{pmatrix}

行ベクトル組が:

\boldsymbol{r_1}^\mathrm{T}=\begin{pmatrix}-1&2\end{pmatrix},\quad\boldsymbol{r_2}^\mathrm{T}=\begin{pmatrix}0&2\end{pmatrix},\quad\boldsymbol{r_3}^\mathrm{T}=\begin{pmatrix}1&-2\end{pmatrix}

行ベクトル組 { ${\boldsymbol{r_1}^\mathrm{T},\boldsymbol{r_2}^\mathrm{T},\boldsymbol{r_3}^\mathrm{T}}$ }が張る空間が$R^2$ですので、行列$A$の行階数が$2$です。
image.png

{ ${\boldsymbol{r_1}^\mathrm{T},\boldsymbol{r_2}^\mathrm{T},\boldsymbol{r_3}^\mathrm{T}}$ }が線形従属ですので、$A$が行フル階数ではないです。

行列の階数

全ての行列にとって、行階数と列階数が同じですので、行列の階数と呼びます。
行列$A$の階数が$rank(A)$、或は $r(A)$と記します。
詳細な証明が元の教材を参照できます。

例えば、行列$A$の列空間と行空間とも平面なので、列階数と行階数が両方とも$2$になります。

\boldsymbol{A}=\begin{pmatrix}-1&2\\0&2\\1&-2\end{pmatrix}

image.png

参考情報

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1