データサイエンスのための線形代数 第25回 ブロック行列

:::note info
本記事は数学講座[5.9 ブロック行列](https://www.matongxue.com/lessons/540/parts/670)を勉強して投稿したメモです。詳細は元の素晴らしい講座のページをチェックしてください。
:::

# :sunny:[まとめ]

- 行列関数には、**列ベクタル行列関数**と**行ベクタル行列関数**があります：

```math
A\boldsymbol{x}=\boldsymbol{y},\quad \boldsymbol{x}^\mathrm{T}A=\boldsymbol{y}^\mathrm{T}
```
- 行列には、列ランクと行ランクがあり、且つ**行ランク=列ランク**、全部**行列のランク**と呼びます。

- 行列のランクが行列関数が自然な定義域での値域の次元数：<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/2e626597-aa53-5673-803a-ff5d7b2c26f5.png" width=480>

- 行列関数の単射、全射、全単射の充分必要条件：

```math 
\begin{array}{c|c|c|c}
    \hline
    \quad行列関数\quad&\quad 単射 \quad&\quad 全射 \quad&\quad 全単射 \quad\\\hline\\
    \quad \begin{aligned}A\boldsymbol{x}=\boldsymbol{y}\ \ \\\boldsymbol{x}^\mathrm{T}A=\boldsymbol{y}^\mathrm{T}\end{aligned} \quad&\quad \begin{aligned}列フルランク\\行フルランク\end{aligned} \quad&\quad \begin{aligned}行フルランク\\列フルランク\end{aligned} \quad&\quad フルランク\quad\\
    \\
    \hline
\end{array}

```

- 行列$A$がフルランク行列の時に、行列関数の$Ax=y$が全単射になり、この時に、行列$A$も反関数の$A^{-1}$があります。**逆行列**とも呼びます。また、基本行変形で逆行列を解きます。

```math 
\underbrace{E_1E_2...E_n}_{A^{-1}}A=I
```

- 基本行変形、基本列変形で行列$A$を**行階段形行列**、**行簡約行列**、及び**標準形行列**に変換して、行列のランクを解きます。

```math 
\begin{array}{c|c|c}
    \hline
    \quad\quad&\quad行階段形行列\ 或は\ 行簡約行列\quad\quad&\quad標準形行列\quad \\
    \hline \\
    \quad A\quad & \quad PA \quad &\quad  PAQ\quad \\
    \\
    \hline
\end{array}
```
> $P$が基本行の組み合わせ；$Q$が基本列の組み合わせです。

- 最後に、ブロック行列で、大きいの行列演算を小さい行列演算に変換して、行列のランク、逆行列を解きやすくなります。
```math 
A=\begin{pmatrix}A_{11}&A_{12}\\A_{21}&A_{22}\end{pmatrix}
```


# ブロック行列

行列に、行数や列数が多くなると、ブロック化することで、大きい行列を小さい行列になります。

```math
A=\left(
    {\begin{array}{c|c}
        \overbrace{
            \begin{matrix}
                a_{11}&\cdots&a_{1r}\\
                \vdots& &\vdots\\
                a_{s1}&\cdots&a_{sr}\\
            \end{matrix}}^{\Large ブロックA_{11}}
        &\overbrace{
            \begin{matrix}
                a_{1(r+1)}&\cdots&a_{1n}\\
                \vdots& &\vdots\\
                a_{s(r+1)}&\cdots&a_{sn}\\
            \end{matrix}}^{\Large ブロックA_{12}}\\
        \hline
        \underbrace{
            \begin{matrix}
                a_{(s+1)1}&\cdots&a_{(s+1)r}\\
                \vdots& &\vdots\\
                a_{m1}&\cdots&a_{mr}\\
            \end{matrix}}_{\Large ブロックA_{21}}
        &\underbrace{
            \begin{matrix}
                a_{(s+1)(r+1)}&\cdots&a_{(s+1)n}\\
                \vdots& &\vdots\\
                a_{m(r+1)}&\cdots&a_{mn}\\
            \end{matrix}}_{\Large ブロックA_{22}}
    \end{array}}
\right)
```

ブロック行列の形：

```math
A=\begin{pmatrix}A_{11}&A_{12}\\A_{21}&A_{22}\end{pmatrix}
```

# ブロック行列演算規則

ブロック行列の演算規則は[行列の加法と乗法](https://qiita.com/Junlee/items/1a1655f7de15d509e258)と同じです。

- 加算
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/cf62d9d6-8ce3-b33e-a5d4-55dd363d7313.png" width=480>


- スカラー倍
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/1744068b-3179-764e-734d-07c783b042aa.png" width=480>


- 乗算
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/7cb5538c-3165-53a6-681b-a5dc86dd43be.png" width=480>


# ブロック行列の乗法の例題

$A$と$B$があり、$AB$は？

```math
A=\begin{pmatrix}1&0&0&0\\
0&1&0&0\\-1&2&1&0\\1&1&0&1\end{pmatrix},\quad 
B=\begin{pmatrix}1&0&1&0\\-1&2&0&1\\
1&0&4&1\\-1&-1&2&0\end{pmatrix}
```
**計算：**
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/a507736e-d270-3a8b-3db3-1b4374b8be7b.png" width=480>


# ブロック行列の逆行列

以下のブロック行列は逆行列がある、$A,B$が正方形行列：

```math 
\begin{pmatrix}A&O\\C&B\end{pmatrix}
```

上記の逆行列は？

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/f0a9b5c4-e6c1-e264-d59a-f978f60e6c37.png" width=360>


# ブロック対角行列

$A$が正方形行列、$A$のブロック行列が対角線にいるブロックの$A_{i}(i=1,2,...s)$が正方形行列で、その以外が０行列であれば、$A$が**ブロック対角行列**と呼びます。

```math
A=\begin{pmatrix}A_1&\quad&\quad&O\\
    \quad&A_2&\quad&\quad\\
    \quad&\quad&\ddots&\quad\\
    O&\quad&\quad&A_s\end{pmatrix}
 ```

また、$A$のランクがブロックのランクの総和です。

```math
rank(A)=rank(A_1)+rank(A_2)+\cdots+rank(A_n)
```

$A_i(i=1,2,\cdots,s)$　が正方形行列ではなくても、ランクの解け方が上記とお通りです。

また、ブロック対角行列の乗法及び逆行列は以下の通りです：

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/f997dfac-452d-ce25-ae18-6273f6db596e.png" width=480>

# ブロック対角行列の逆行列

練習：

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/08bdddbf-623c-f0d4-8000-ed5ea249bd39.png" width=480>


# ブロック対角行列の転置

普通の行列の転置と同じですので、省略します。

# シルベスターの不等式
$A$が$m\times n$の行列で、$B$が$n\times k$の行列、以下のがある：
```math
r(AB)\geq r(A)+r(B)-n
```


# シルベスターの不等式の例題

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3327130/e6131cb3-fb5b-c5b9-4a4f-80f7eedecb54.png" width=480>

# 参考情報

https://math-fun.net/20210523/14188/