読者です 読者をやめる 読者になる 読者になる

300億円欲しい

メジャーリーグのデータ解析します

正定値対称行列のHadamard積は正定値対称行列

線形代数

またHadamard積の話です.
経済周りの線形代数の本で出て来ました

主張

正定値対称行列のHadamard積は正定値対称行列.
つまり, Hadamard積$\odot$を,
\[
(A \odot B)_{ij} = a_{ij} b_{ij}
\]
と表すことにして, 正定値対称行列$A$, $B$について, そのHadamard積
\[
C = A\odot B
\]
も正定値対称行列である.

証明

$A\odot B$が対称行列であることは明らかです.
あとは正定値であることを証明します.

”正定値”が対称行列でしか考えないということを昨日知りました.

まずは証明の準備.

正定値対称行列$A$は, 直交行列で対角化できます.
つまり, 直交行列$U$, 対角行列$D$として,
\[
U^{\top} A U = D
\]
とする$U$, $D$があります.
ここで列ベクトルを考えて,
$U = [u_1 \ u_2 \ ... \ u_n]$とすると,
$u_i$は$A$の固有ベクトルで,
$D$の対角要素$d_i$は対応する固有値になります.
$A$は正定値対称行列なので, 固有値は実数で全て正です.

$A$を固有値固有ベクトルで展開してみると,
\begin{align*}
A &= U D U^{\top} \\
&= [d_1u_1 \ d_2u_2 \ ... \ d_nu_n] [u_1 \ u_2 \ ... \ u_n]^{\top}\\
&= \sum\limits_{a=1}^{n} d_a u_a u_a^{\top}
\end{align*}
と表せます.
$A$の$(i,j)$成分については,
\[
A_{ij} = \sum\limits_{a=1}^{n} d_a u_a^{(i)} u_a^{(j)}
\]
と表せます.
ここまでが準備です.

本題.
$C = A \odot B$の正定値性を, 成分計算で示しましょう.
$0$でないベクトル$x$について,
\[
x^{\top}Cx >0
\]
であることを示します.
成分計算すると,
\begin{align*}
x^t (A\odot B) x &= \sum\limits_{i,j} x_i x_j A_{ij}B_{ij}\\
&= \sum\limits_{i,j} x_i x_j \left( \sum\limits_{a=1}^{n} d_a u_a^{(i)} u_a^{(j)} \right) B_{ij}\\
&= \sum\limits_{a=1}^n d_a \left(\sum\limits_{i,j} x_i x_j u_a^{(i)} u_a^{(j)} B_{ij} \right)\\
\end{align*}
となります.
最後の括弧の中身について考えます. テンソル計算に見えます.

ベクトル$y_a$を, $y_a^{(i)} = x_i u_a^{(i)}$となるように作ると,
\begin{align*}
y_a^{\top} B y_a &= \sum\limits_{i,j} y_a^{(i)}y_a^{(j)}B_{ij} \\
&= \sum\limits_{i,j} x_i u_a^{(i)} x_j u_a^{(j)} B_{ij}
\end{align*}
となって, 括弧の中と一致しますね.

これを使うと,
\begin{align*}
x^{\top}(A\odot B) x &= \sum\limits_{a=1}^n d_a \left(\sum\limits_{i,j} x_i x_j u_a^{(i)} u_a^{(j)} B_{ij} \right)\\
&= \sum\limits_{a=1}^n d_a y_a^{\top}By_a \\
&> 0
\end{align*}
ですね.
最後の不等式は,
$A$の正定値性より$d_a >0$,
$B$の正定値性より$y_a^{\top}By_a > 0$
であることから言えます.

したがって$A$, $B$が正定値対称なら, $A\odot B$も正定値対称です.

感想

正定値対称行列を固有値固有ベクトルで展開.
初めて使いました.
\[
x^{\top} A x = \text{Trace}(A x x^{\top})
\]
の証明とかで使えるんですかね?