Subscribed unsubscribe Subscribe Subscribe

Memorandums?

This blog is written about technical-discovery and daily-event.

シルベスタの定理の証明

概要

今回は「シルベスタの定理」の証明を行います。
シルベスタの定理とは、

対称行列Aが正値対称行列であることの必要十分条件は、
Aの首座小行列式が全て0よりも大きい値を持つことであり、

負値対称行列であることの必要十分条件は、
Aの首座小行列式が全て0よりも小さい値を持つことである。

この定理は、日本語Webサイトではなかなか正確な証明が出てきません。
そこで、自分なりの証明をしてみようと思います。
独自の証明になりますので、厳密性には欠けるかもしれませんが、何かアドバイスがあればぜひお願いします。
少し長くなりますが、最後までお付き合いください!

前提となる知識

  1. 正値対称行列とは固有値が全て正である行列のことである。
  2. 負値対称行列とは固有値が全て負である行列のことである。
  3. 対称行列の固有値は全て実数解を持つ。
  4. エルミート行列の対角化行列は直交行列である。
  5. LDU分解(同値分解)の導出
  6. 直交行列は行列式の値を変化させない変換である。

前提と書きましたが、6つ目の直交行列の性質については最後に証明しようと思います。

証明へのステップ

シルベスタの証明を行うために3つに分けて証明していきたいと思います。

  1. 2次正方行列におけるシルベスタの定理の証明
  2. シルベスタの定理(一般)の証明
  3. 元の行列式と対角行列式の値が一致することの証明(直交行列変換はノルム不変の証明から証明)

2次における証明は一般化に必要ありませんが、手計算でもできる身近な方法なので紹介します。

2次正方行列におけるシルベスタの定理の証明

貪欲に固有方程式を解いて導きます。
 A = \begin{pmatrix} a&b \\ b&c \end{pmatrix}とすると、固有方程式は、
 |A-\lambda E|=\lambda^2-(a+c)\lambda+(ac-b^2)=0
となります。解の公式より、 \lambdaは、
 \lambda=\frac{(a+c)\pm\sqrt{(a+c)^2-4(ac-b^2)}}{2}

正値対称行列は固有値が全て正であればよいので、条件は、
 (a+c)\pm\sqrt{(a+c)^2-4(ac-b^2)}>0
となります。
 (a+c)+\sqrt{(a+c)^2-4(ac-b^2)}>0
のとき、対称行列であるAの持つ固有値は実数解をもつので、 \sqrt{(\cdot)}(\cdot)は正の値であることから、
 a+c > 0
が1つ目の条件となる。
 (a+c)-\sqrt{(a+c)^2-4(ac-b^2)}>0
のとき、 a+c>0ならば、 a+c>\sqrt{(a+c)^2-4(ac-b^2)} \iff (a+c)^2>(a+c)^2-4(ac-b^2)
したがって、
 -4(ac-b^2)<0 \iff ac-b^2>0 \iff det(A)>0
これが2つ目の条件となる。
また、2つ目の条件から、
 ac>b^2>0
なので、aとcが同符号でなくてはならない。よって、1つ目の条件は、
 a+c>0 \iff a>0
と書き換えられる。
よって、2次正方行列が正値対称行列である条件は、
 a>0, \ \ det(a)>0
となる。

シルベスタの定理の証明

対称行列Aを対角化すると、 \displaystyle{A=P\Lambda P^{-1}=P\Lambda P^T}となります。
Pは直交行列です。
また、LDU分解を用いれば、Aは、 \displaystyle{A=LDU}となります。
ここで、Lは対角成分が1の下三角行列、Dは対角行列、Uは上三角行列となります。
以上より、
 \displaystyle{A=P\Lambda P^T}(ただし、 Pは対角成分が1の直交下三角行列であり、 P^Tは対角成分が1の直交上三角行列)
となります。
行列式を計算してみます。
 
det(A)=det(P\Lambda P^T)=det(P)det(\Lambda)det(P^T)=det(\Lambda)
最後の変形は、対角成分が1である行列Pの行列式は1になること、もしくは、
直交行列が行列式の値を変化させない変換であることを利用しています。

ここからは、LDU分解のメリットから首座小行列について考えます。
LDU分解のメリットは、A,L,D,Uそれぞれの首座小行列を \displaystyle{A_i,L_i,D_i,U_i}とすれば、
 A_i=L_iD_iU_i
が成り立つことです。これは、LDUの積のi行j列の要素はL,D,U全て行列のi行以内j列以内の要素の積のみで構成されるためです。実際に計算してみれば容易に確認できます。
よって、
 A_i=L_iD_iU_i=P_i\Lambda_i {P_i}^T
となり、 \displaystyle{det(P_i)=1}であるため、
 det(A_i)=det(\Lambda_i)
となります。

証明したいことは、正値対称行列であることは、Aの首座小行列式が全て正であることでした。
正値対称行列であるというのは、固有値が全て正であるということです。
固有値が全て正になる条件とはなんでしょうか?
ここでまず、条件として、 \displaystyle{\lambda_1>0 \ \ (det(\Lambda_1)>0)}とします。
次に、 \displaystyle{\lambda_1>0,\lambda_2>0}が成り立つためには、
 \displaystyle{\lambda_1>0}なのは最初の条件からわかっているので、
 \displaystyle{det(\Lambda_2)>0}が成り立てばよいことが分かります。
次に、 \displaystyle{\lambda_1>0,\lambda_2>0,\lambda_3>0}が成り立つためには、
 \displaystyle{\lambda_1>0,\lambda_2>0}なのはこれまでの条件からわかっているので、
 \displaystyle{det(\Lambda_3)>0}が条件であることが分かります。
これを続けていくと...条件は、
 \lambda_1>0,\ \  det(\Lambda_2)>0,...,\ \ det(\Lambda_n)>0
となります。
ここで思い出してみると、
 det(A_i)=det(\Lambda_i)
でした。ということは、先ほどの条件を書き換えると、
 det(A_1)=a_{11}>0,\ \  det(A_2)>0,...,\ \ det(A_n)>0
となります。
負値対称行列についても同様です。
よって、シルベスタの定理が成立することが分かります!


元の行列式と対角行列式の値が一致することの証明

シルベスタの定理の証明では、LDU変換の対角成分が1であることから、 \displaystyle{det(A)=det(\Lambda)}であることを証明しましたが、
対称行列Aの性質からもこれは証明できます。

Uを直交行列とすれば、2次形式を用いて、

\|U\mathbb{x}\|^2 = < U\mathbb{x}, U\mathbb{x}> = <\mathbb{x}, U^T U\mathbb{x}> = <\mathbb{x}, \mathbb{x}> = \|\mathbb{x}\|^2
よって、直交行列Uはノルムを変えない変換であることが分かります。
対称行列Aは直交行列Uを用いて対角化できるので、

\Lambda = U^TAU \\
U\Lambda = AU = {(U^TA^T)}^T \\
det(U\Lambda) = det({(U^TA^T)}^T) = det(U^TA^T) = det(UA) \\
det(\Lambda) = det(A)
ここからわかることは、元の行列式を計算しても対角化した行列の行列式を計算しても同じ結果になるということです。

感想

いやー、疲れました。
2次ですら証明に時間がかかってしまいました。
シルベスタの定理は固有値が全て正(or 負)を判定できるため、極値判定法として用いられます。
様々な本やサイトを読みましたが、「シルベスタの定理はこうです」といきなり提示されて、「じゃあこれを使って極値をとるか調べましょう」
というケースが多いようですが、これでは納得できませんでした。
なので、証明できてよかったと思います。