バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia2-backnumber/
はじめに
正規方程式を導出するまでの説明。
引き続きグラム行列についての話で、今回は証明の話になる。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
ロードマップ【再掲】

まずはロードマップを再掲。
グラム行列のところだね。


そして、今回は、グラム行列がなぜ対称行列になるのかの証明だ。

なんかめんどくさそう・・・。

まぁ、完璧に理解する必要はない。
こういった流れで証明されてるんだなってのだけ拾えればOKだろう。

そういうのは得意だ!
グラム行列が対称行列であることの証明

まず、以下の行列\(A\)があるとする。
\(
A=
\begin{bmatrix}
a_{11} & a_{12} & \dots & a_{1n} \\
a_{21} & a_{22} & \dots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \dots & a_{mn} \\
\end{bmatrix}
\)

m×nの行列があるってことだね。
つまりどんな行列でもOKってことか。

この行列を行ベクトルに分解する。
\(
\begin{eqnarray}
a_1&=&
\begin{bmatrix}
a_{11} & a_{12} & \dots &a_{1n}\\
\end{bmatrix}\\
a_2&=&
\begin{bmatrix}
a_{21} & a_{22} & \dots &a_{2n}\\
\end{bmatrix}\\
\vdots \\
a_2&=&
\begin{bmatrix}
a_{m1} & a_{m2} & \dots &a_{mn}\\
\end{bmatrix}\\
\end{eqnarray}
\)

なるほど。
確かにそういう分解はできそうだね。

これを前提に\(AA^T\)の式を組むと以下になる。
\(
\begin{eqnarray}
AA^T&=&
\begin{bmatrix}
a_1 \\ a_2 \\ \vdots \\ a_{m}\\
\end{bmatrix}
\begin{bmatrix}
a_1^T & a_2^T & \dots & a_{m}^T\\
\end{bmatrix}\\&=&
\begin{bmatrix}
a_1a_1^T & \color{red}{a_1a_2^T} & \dots & a_1a_m^T\\
\color{red}{a_2a_1^T} & a_2a_2^T & \dots & a_2a_m^T\\
\vdots & \vdots & \ddots & \vdots \\
a_ma_1^T & a_ma_2^T & \dots & a_ma_m^T\\
\end{bmatrix}
\end{eqnarray}
\)

なんかすさまじいことになってる・・・。

対称行列であれば、
赤文字で書いた\(\color{red}{a_1a_2^T}\)と\(\color{red}{a_2a_1^T}\)が等しいはず。

なるほど。
さらにそこで等しいことが証明できれば、他の対称位置の要素も等しいはずってことか。
\(
\begin{eqnarray}
a_1a_2^T&=&
\begin{bmatrix}
a_{11} & a_{12} & \dots a_{1n}
\end{bmatrix}
\begin{bmatrix}
a_{21} & a_{22} & \dots a_{2n}
\end{bmatrix}^T\\&=&
a_{11}a_{21}+a_{12}a_{22}+\dots+a_{1n}a_{2n}\\
a_2a_1^T&=&
\begin{bmatrix}
a_{21} & a_{22} & \dots a_{2n}
\end{bmatrix}
\begin{bmatrix}
a_{11} & a_{12} & \dots a_{1n}
\end{bmatrix}^T\\&=&
a_{11}a_{21}+a_{12}a_{22}+\dots+a_{1n}a_{2n}\\
∴ a_1a_2^T&=&a_2a_1^T
\end{eqnarray}
\)

というわけでグラム行列は対称行列になる。

\(A\)とか\(a\)しかない数式とか凄まじいな・・・。

まぁ、証明のイメージはわかったかな。
まとめ

まとめだよ。
- グラム行列が対称行列になることを証明。
- m×nの行列を行ベクトルに分解してからグラム行列の演算をさせる。
- 演算結果の対称部をピックアップして等しいことを証明する。
バックナンバーはこちら。
コメント