射影行列のトレースは行列の階数に等しい

# 1 射影行列のトレース
射影行列のトレースは行列の階数に等しい。
すなわち、

```math
P_A = A (A^T A)^{-1} A^T
\quad・・・\quad(1)
```
のとき 

```math
\mathrm{tr}(P_A) = \mathrm{rank}(A)
\quad・・・\quad(2)
```
となる<sup>[1]</sup>。
ここで、$\mathbb{R}^m$ 内の線形独立な $n$ 個のベクトルを $\boldsymbol{a}\_1, \cdots, \boldsymbol{a}\_n$ として、行列 $A$ は

```math
A = 
\begin{bmatrix}
\boldsymbol{a}_1 & \cdots & \boldsymbol{a}_n \\
\end{bmatrix}
\quad・・・\quad(3)
```
であるものとする。すなわち、行列 $A$ は $m \times n$ 行列で、$\mathrm{rank}(A) = n$ である。なぜなら、$\mathbb{R}^m$ 内の線形独立なベクトルの数はたかだか $m$ 個にすぎないので、$n \le m$ となり、したがって $\mathrm{rank}(A) = \min(m, n)= n$ となるからである。

# 2 射影行列の導出
射影行列 $P_A$ を表す(1)式を参考文献[2]の P.221 ～ P.222 にしたがって導出する。

Fig.1 に示すように、$P_A$は、$\mathbb{R}^m$ 内の任意のベクトル $\boldsymbol{b}$ を、行列 $A$ の列ベクトル $\boldsymbol{a}\_1, \cdots, \boldsymbol{a}\_n$ で張られる部分空間 $M$ に射影する。
射影ベクトルを $\boldsymbol{p}$ とすると

```math
\boldsymbol{p} = P_A \boldsymbol{b}  
\quad・・・\quad(4)
```
である。

![Fig1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3538461/62005899-474a-1513-9a36-9b0ca918b983.png)

一方、$\boldsymbol{p}$ は $\boldsymbol{a}\_1, \cdots, \boldsymbol{a}\_n$ の線形結合で表すことができるので

```math
\begin{equation}
\begin{split}

\boldsymbol{p} 
&= \hat{x}_1 \boldsymbol{a}_1 + \cdots + \hat{x}_n \boldsymbol{a}_n 
&=
\begin{bmatrix}
\boldsymbol{a}_1 & \cdots & \boldsymbol{a}_n
\end{bmatrix}
\begin{bmatrix}
\hat{x}_1 \\
\vdots \\
\hat{x}_n 
\end{bmatrix} 
&= A \hat{\boldsymbol{x}}
\quad・・・\quad(5)

\end{split}
\end{equation}
```
とすることもできる。ここで、$\hat{\boldsymbol{x}} = (\hat{x}_1, \cdots, \hat{x}_n)^T$ とした。

なお、$\boldsymbol{b}$ から $M$ へ下ろした垂線の足から $\boldsymbol{b}$ の終点へ向かうベクトルを $\boldsymbol{e}$ とすると 

```math
\boldsymbol{e} =  \boldsymbol{b} - \boldsymbol{p}
=  \boldsymbol{b} - A \hat{\boldsymbol{x}}
\quad・・・\quad(6)
```

となるが、これは $M$ 上にある $\boldsymbol{a}\_1, \cdots, \boldsymbol{a}\_n$ に直交するので $i = 1, \cdots, n$ に対して

```math
\boldsymbol{a}_{i}^T \boldsymbol{e} 
= \boldsymbol{a}_{i}^T (\boldsymbol{b} - A \hat{\boldsymbol{x}})
= 0
\quad・・・\quad(7)
```

となる。
以上から

```math
A^T (\boldsymbol{b} - A \hat{\boldsymbol{x}})
=
\begin{bmatrix}
\boldsymbol{a}_{1}^T \\
\vdots \\
\boldsymbol{a}_{n}^T \\
\end{bmatrix}
\begin{bmatrix}
\boldsymbol{b} - A \hat{\boldsymbol{x}}
\end{bmatrix}
=
\begin{bmatrix}
\boldsymbol{a}_{1}^T (\boldsymbol{b} - A \hat{\boldsymbol{x}}) \\
\vdots \\
\boldsymbol{a}_{n}^T (\boldsymbol{b} - A \hat{\boldsymbol{x}}) \\
\end{bmatrix}
= 0
\quad・・・\quad(8)
```

となるので、

```math
A^T \boldsymbol{b} = A^T A \hat{\boldsymbol{x}}

\quad・・・\quad(9)
```

を得る。
(9)式の両辺に左から$(A^T A)^{-1}$ を掛けて $\hat{\boldsymbol{x}}$ を求めると


```math
\hat{\boldsymbol{x}} = (A^T A)^{-1} A^T \boldsymbol{b} 

\quad・・・\quad(10)
```

となるので、これを(5)式に代入することにより

```math
\boldsymbol{p} = A \hat{\boldsymbol{x}} = A (A^T A)^{-1} A^T \boldsymbol{b} 

\quad・・・\quad(11)
```
を得る。
$\boldsymbol{p}$ に対する２通りの表現である(4)式と(11)式から
```math
\boldsymbol{p} = P_A \boldsymbol{b} = A (A^T A)^{-1} A^T \boldsymbol{b} 
```
となり、最終的に射影行列 $P_A$ の表式として(1)式を得ることができる。

# 3 射影行列の性質
## 3.1 射影行列は対称な正方行列
$A$ は $m \times n$行列なので、(1)式から $P_A$ は $m \times m$ の正方行列であることがわかる。
また、(1)の転置をとれば

```math
{P_A}^T = (A (A^T A)^{-1} A^T)^T = A ((A^T A)^{-1})^T A^T
\quad・・・\quad(12)
```
となる。ところで、$(A^T A)^T = A^T A$ なので $A^T A$ は対称行列である。

いま、可逆な対称行列を $B$ とすると、$B^T = B$ で、$B B^{-1} = I$ なので、
```math
(B B^{-1})^T = (B^{-1})^T B^T = (B^{-1})^T B = I
```
であるから最後の等式の両辺に右から $B^{-1}$ を掛けると $(B^{-1})^T = B^{-1}$ を得る。つまり、可逆な対称行列の逆行列を転置すると元の逆行列に一致する。したがって、$A^T A$ も可逆な対称行列なので、$((A^T A)^{-1})^T = (A^T A)^{-1}$ となる。よって(12)式の右辺の最後の項は $A ((A^T A)^{-1})^T A^T = A (A^T A)^{-1} A^T$ となって $P_A$ に一致する。すなわち

```math
{P_A}^T = P_A
\quad・・・\quad(13)
```
となり、$P_A$ は対称行列であることがわかる。

以上から射影行列 $P_A$ は対称な正方行列であることが示せた。

## 3.2 ２度の射影は１度の射影と同じ
(1)式から

```math
\begin{equation}
\begin{split}

{P_A}^2 
&= (A (A^T A)^{-1} A^T)^2 \\
&= A (A^T A)^{-1} A^T A (A^T A)^{-1} A^T \\
&= A [ (A^T A)^{-1} A^T A ] (A^T A)^{-1} A^T \\
&= A (A^T A)^{-1} A^T \\
&= P_A
\quad・・・\quad(14)
\end{split}
\end{equation}
```

となる。射影行列 $P_A$ は $\mathbb{R}^2$ 内にある任意のベクトルを部分空間 $M$ のベクトル $\boldsymbol{p}$ に射影するので、$\boldsymbol{p}$ をさらにもう一度 $P_A$ で射影しても変わらないからこの結果は当然である。

## 3.3 射影行列の固有値は 0 と 1
$P_A$ の固有値を $\lambda$ 、固有ベクトルを $\boldsymbol{v}$ とすると、

```math
P_A \boldsymbol{v} = \lambda \boldsymbol{v}

\quad・・・\quad(15)
```

となる。したがって

```math
P_A^2 \boldsymbol{v} = P_A P_A \boldsymbol{v} = P_A (\lambda \boldsymbol{v})
= \lambda P_A \boldsymbol{v}
= \lambda^2 \boldsymbol{v}

\quad・・・\quad(16)
```
が得られる。ところで(14)式から、$P_A^2 = P_A$ なので、その両辺に右からベクトル $\boldsymbol{v}$ を掛けると $P_A^2 \boldsymbol{v} = P_A \boldsymbol{v}$ となる。これに(15)式と(16)式を代入すると $\lambda^2 \boldsymbol{v} = \lambda \boldsymbol{v}$ となり、$\lambda (\lambda - 1) \boldsymbol{v} = 0$ を得る。固有ベクトル $\boldsymbol{v}$ は $\boldsymbol{0}$ でないので、$\lambda = 0, 1$ となり、射影行列の固有値は $0$ と $1$ であることが示された。

## 3.4 固有値 1 に対する固有ベクトル
部分空間 $M$ 上にある線形独立な $n$ 個のベクトル $\boldsymbol{a}_1, \cdots, \boldsymbol{a}_n$ を $P_A$ で射影すると、それら自身に移るので

```math 
P_A \boldsymbol{a}_i = 1 \cdot \boldsymbol{a}_i \quad (i = 1, \cdots, n)
```
と書くことができる。これは、$n$ 個のベクトル $\boldsymbol{a}_1, \cdots, \boldsymbol{a}_n$ は、射影行列 $P_A$ の固有値 $1$ に対する固有ベクトルになっていることを意味する。

## 3.5 固有値 0 に対する固有ベクトル
部分空間 $M$ に直交する $\mathbb{R}^m$ 内の任意のベクトルを $\boldsymbol{u}$ とする。$\boldsymbol{u}$ を $P_A$ で射影すると $\boldsymbol{0}$ になるので

```math 
P_A \boldsymbol{u} = 0 \cdot \boldsymbol{u}
```

と書くことができる。これは、部分空間 $M$ に直交する $\mathbb{R}^m$ 内の任意のベクトル $\boldsymbol{u}$ は、射影行列 $P_A$ の固有値 $0$ に対する固有ベクトルになっていることを意味する。

なお、部分空間 $M$ に直交する部分空間（$M$ の直交補空間）は $\mathbb{R}^m$ の次元 $m$ から $\mathrm{dim}(M) = n$ を差し引いた $m - n$ の次元をもっているので、この部分空間上に線形独立なベクトルを $m - n$ 個とることができる。それらすべては $P_A$ の固有値 $0$ に対する固有ベクトルになっている。

## 3.6 射影行列の対角化
射影行列 $P_A$ は対称行列なので、実数固有値からなる対角行列 $\Lambda$ と正規直交する固有ベクトルからなる行列 $Q$ を用いて
```math 
P_A = Q \Lambda Q^{-1}
\quad・・・\quad(17)
```
と分解される。
前節および前々節から $P_A$ は $1$ と $0$ を固有値に持ち、それらに対応する固有ベクトルはそれぞれ $n$ 個と $m - n$ 個あることがわかっている。したがって固有値行列 $\Lambda$ の対角成分の要素のうち $n$ 個は $1$ で、残りの $m - n$ 個はすべて $0$ である。
したがって
```math 
\mathrm{tr}(\Lambda) = n
\quad・・・\quad(18)
```
となる。
(17)式から
```math 
\mathrm{tr}(P_A) = \mathrm{tr}(Q \Lambda Q^{-1}) = \mathrm{tr}(Q^{-1} Q \Lambda) = \mathrm{tr}(\Lambda)
```
となるので、これと(18)式から
```math 
\mathrm{tr}(P_A) = n
```
が得られる。また、「1 射影行列のトレース」で述べたように $\mathrm{rank}(A) = n$ であるから $\mathrm{tr}(P_A) = n = \mathrm{rank}(A)$ となり、(2)式が示せた。

# 参考文献
1. Wikipedia：跡 (線型代数学). https://ja.wikipedia.org/wiki/跡_(線型代数学) （2023.12.22 参照）
2. G. ストラング：線形代数イントロダクション 原著第４版. 近代科学社, 2015.