数学とか語学とか楽しいよね

フランス語、ドイツ語、ロシア語、アラビア語、オランダ語、英語、スペイン語、ラテン語とか数学とか数値計算(有限要素法、有限体積法、差分法、格子ボルツマン法、数理最適化、C++コード付き)とか勉強したことをまとめます。右のカテゴリーから興味のある記事を探してください。最近はクラシックの名演も紹介しています。Amazonアソシエイトを使用しています。

【行列】自分自身に転置行列をかけてできる行列は、正定値行列になる

「自分自身に転置行列をかけてできる行列は、正定値対称行列になる」ということを証明したいと思います。この命題は、行列の反復解法であるGauss-Seidel法を考える場合に役に立ちます。


例えば、正則であり正定値でない  n × n 行列  A n 次元ベクトル  x b に対して連立一次方程式


 
\displaystyle 
\begin{eqnarray} 

Ax = b

\end{eqnarray}

を考えます。ここで、 x が未知数、 A b は既知であるとします。Gauss-Seidel法は行列  A が正定値行列でなければ収束しないことが知られているので、このままでは上記の連立一次方程式は解けません。そのような場合は左から転置行列  A^t をかけます。すると


 
\displaystyle 
\begin{eqnarray} 

A^t Ax = A^t b

\end{eqnarray}

となります。この新しい連立一次方程式の  A^t A は実は正定値行列になっており、Gauss-Seidel法で解を得ることができるのです。もちろん元の連立一次方程式の解と新しい連立一次方程式の解が同じであることは明らかです(新しい連立一次方程式の左から  (A^t)^{-1} をかければ元に戻る)。

そんなわけで「自分自身に転置行列をかけてできる行列は、正定値行列になる」を示しておきたいのです。


まず、正定値行列の定義です。

 n × n 実対称行列  M が正定値 (positive definite) であるとは、 n 個の実数を成分に持つ零ベクトルでない任意の列ベクトル  x に対して、二次形式  x^t M x が必ず正となること、すなわち

 
\displaystyle 
\begin{eqnarray} 

x^t M x > 0

\end{eqnarray}

となることである。


次に証明の中で出てくるので、半正定値行列の定義も載せます。正という条件が緩められ、非負になっただけです。

 n × n 実対称行列  M が半正定値 (positive-semidefinite) であるとは、 n 個の実数を成分に持つ零ベクトルでない任意の列ベクトル  x に対して、二次形式  x^t M x が必ず正となること、すなわち

 
\displaystyle 
\begin{eqnarray} 

x^t M x \geq 0

\end{eqnarray}

となることである。


それでは「自分自身に転置行列をかけてできる行列は、正定値行列になる」を証明しましょう。もとの行列を  A とします。行列  A は正則である、すなわち逆行列が存在すると仮定します。 A が正則でないと証明しようとしている事柄は成り立ちません。注意しましょう。また簡単のために、 n 次元ベクトル  x に対して


 
\displaystyle 
\begin{eqnarray} 

Ax = b

\end{eqnarray}

となるような  n 次元ベクトル  b を導入しておきます。証明しようとしている事柄は、「 A^t A が正定値行列である」なので、 A^t A の二次形式  x^t A^t Ax を考えます。ここで、 x は零ベクトルでない任意の  n 次元ベクトルとします。このとき


 
\displaystyle 
\begin{eqnarray} 

x^t A^t Ax &=& (Ax)^t Ax \\
                  &=&  |Ax|^2 \\
                  &=& |b|^2 \geq 0

\end{eqnarray}

となります。これで  A^t A は少なくとも半正定値行列であることがわかりました。


次に、正定値行列であることを示すために、二次形式が0となる場合、すなわち  x^t A^t Ax = |b|^2 = 0 を考えます。このとき、 b=0 なので、 Ax = 0 がわかります( Ax = b だから)。 A は正則なので逆行列が存在します。なので、逆行列を左からかけると  x=A^t 0 =0 となり、二次形式  x^t A^t Ax が0になるのは  x = 0 であるときだけであることがわかりました。つまり、 x = 0 でなければ二次形式  x^t A^t Ax が0になることはないことがわかります。これで  A^t A が正定値であることがわかりました(正定値行列の条件は任意の非零ベクトルに対してなので)。


参考 

行列の定値性 - Wikipedia