質問: 行列の正定・半正定・負定 行列の正定・半正定・負定について自分なりに調べてみたのですが、 イマイチ良くわかりません。。。 どなたか上手く説明していただけないでしょうか? 過去の質問の回答に >cを列ベクトル、aを行列とする。 >(cの転置)ac>0 >となればaは正定値といいます。 >aの固有値が全て正であることとも同値です。 とあったのですが、このcの列ベクトルというのは 任意なのでしょうか? また、半正定は固有値に+と-が交じっていて、 負定は固有値が-のみなのですか? どなたかお願いしますorz
回答: まず、行列の正定・半正定・負定値性を考えるときは、 行列は対称行列であることを仮定しています。 なので、正確な定義は、 定義 n次正方 "対称" 行列 a が正定値行列であるとは、 『ゼロベクトルではない任意の』n次元(列)ベクトル c に対して、 (cの転置)ac>0 となることである。 です。 対称行列aが正定値なら、その固有値はすべて正です。 (cとして固有ベクトルをとってみればよいでしょう。) 逆に、対称行列aの固有値がすべて正なら、aは正定値行列です。 ただし、対称行列ではないaの固有値がすべて正だからといって、 (cの転置)ac>0とは限りません。 例えば、 a = [ 1 4 ] [ 0 1 ] とすると、aは対称行列ではなく、固有値は1です。 しかし、 (cの転置) = [ 1, -2] とすると、 (cの転置)ac = -3 < 0 となってしまいます。(実際に計算して確かめてください。) なので、行列aが対称行列であるという条件はとても重要です。 また、半正定値の定義は、上の定義で 『ゼロベクトルではない任意の』 --> 『任意の』 と書き直したものです。 このとき、半正定値行列の固有値はすべて0以上です。(つまり0も許します。) 逆に、対称行列の固有値がすべて0以上なら、その行列は半正定値です。 さらに、負定値の定義は、『ゼロではない任意の』ベクトルcに対して (cの転置)ac<0 となることです。 固有値についてはもうわかりますね。