半正定値対称行列の意味と性質【固有値・二次形式・分解・小行列式】

半正定値行列の定義

実対称行列について,

  • 固有値がすべて 00 以上であるとき,半正定値行列という。
  • 固有値がすべて正であるとき,正定値行列という。

半正定値行列・正定値行列

半正定値行列・正定値行列について

例1

A=(4221)A=\begin{pmatrix}4&2\\2&1\end{pmatrix} は対称行列である。固有方程式は λ25λ=0\lambda^2-5\lambda=0 より固有値は 0055 である。よって,AA は半正定値だが正定値ではない。

  • 定義より,正定値なら半正定値です。

  • AA が半正定値のとき,AOA\succeq O という記号を使い,正定値のとき AOA\succ O という記号を使うことが多いです。

半正定値行列の応用例

半正定値行列と二次形式

以下,AAn×nn\times n の対称行列とします。

定理1
  • AA が半正定値     \iff 全ての nn 次元実ベクトル xundefined\overrightarrow{x} に対して xundefinedAxundefined0\overrightarrow{x}^{\top}A\overrightarrow{x}\geq 0

  • AA が正定値     \iff 全ての nn 次元実ベクトル xundefined\overrightarrow{x} に対して xundefinedAxundefined>0\overrightarrow{x}^{\top}A\overrightarrow{x}> 0

xundefinedAxundefined\overrightarrow{x}^{\top}A\overrightarrow{x} を二次形式と言います。→二次形式の意味,微分,標準形など

例1(再掲)

A=(4221)A=\begin{pmatrix}4&2\\2&1\end{pmatrix} は半正定値であった。実際,xundefined=(x1x2)\overrightarrow{x}=\begin{pmatrix}x_1\\x_2\end{pmatrix} とおくと, xundefinedAxundefined=4x12+4x1x2+x22=(2x1+x2)20\begin{aligned}&\overrightarrow{x}^{\top}A\overrightarrow{x}\\&=4x_1^2+4x_1x_2+x_2^2\\ &=(2x_1+x_2)^2\geq 0\end{aligned}

定理1の証明

半正定値     \iff 固有値がすべて 00 以上,を示す。正定値についても同様。

AA は対称行列なので,直交行列 PP と実対角行列 DD を用いて A=PDPA=P^{\top}DP と対角化できる。 DD の対角成分には AA の固有値 λi\lambda_i が並ぶ。

よって,二次形式の値は Pxundefined=yundefinedP\overrightarrow{x}=\overrightarrow{y} とおくと,

xundefinedAxundefined=(Pxundefined)D(Pxundefined)=yundefinedDyundefined=i=1nλiyi2\overrightarrow{x}^{\top}A\overrightarrow{x}=(P\overrightarrow{x})^{\top}D(P\overrightarrow{x})\\ =\overrightarrow{y}^{\top}D\overrightarrow{y}\\ =\displaystyle\sum_{i=1}^n\lambda_iy_i^2

よって,

  • AA が半正定値なら,二次形式は明らかに 00 以上

  • 逆に,二次形式が 00 以上なら,yundefined=eundefinedi\overrightarrow{y}=\overrightarrow{e}_i (第 ii 成分が 11 でそれ以外 00 であるベクトル)となるようにする,つまり xundefined=Peundefinedi\overrightarrow{x}=P^{\top}\overrightarrow{e}_i とおけば λi0\lambda_i\geq 0 となり半正定値である。

半正定値行列の分解

定理2

AA が半正定値     \iff ある実正方行列 UU が存在して A=UUA=U^{\top}U

定理2の証明

\Rightarrow を証明する。

AA を対角化した式: A=PDPA=P^{\top}DP において,DD の対角成分は非負なので,それぞれの平方根を取った実行列 D12D^{\frac{1}{2}} を持ってこれる。このとき,A=(D12P)D12PA=(D^{\frac{1}{2}}P)^{\top}D^{\frac{1}{2}}P となる。

\Leftarrow を証明する。

A=UUA=U^{\top}U と書けるとき,二次形式は以下のように非負となる:

xundefinedAxundefined=(Uxundefined)(Uxundefined)=Uxundefined20\overrightarrow{x}^{\top}A\overrightarrow{x}=(U\overrightarrow{x})^{\top}(U\overrightarrow{x}) =\|U\overrightarrow{x}\|^2\geq 0 よって,定理1より AA は半正定値。

半正定値行列と小行列式

定理3
  • AA が半正定値     \iff AA の主小行列式が全て非負

  • AA が正定値     \iff AA の首座小行列式が全て正。

主小行列とは,正方行列に対して「同じ番号の行と列を選んでできる正方行列」のことです。主小行列の行列式を主小行列式と言います。

首座小行列とは,正方行列に対して「左上の k×kk\times k 行列」のこと(k=1,2,...,nk=1,2,...,n)です。首座小行列の行列式を首座小行列式と言います。

定理3の証明(一部のみ)

「半正定値ならば主小行列式が非負」を示す。

AA の任意の主小行列を BB とする。

AA の二次形式が非負なので,BB の二次形式も非負である。よって定理1から BB の固有値は全て非負。行列式は全固有値の積なので,BB の行列式は非負。

半正定値行列と合同変換

定理4

半正定値行列を合同変換しても半正定値。

つまり,n×nn\times n 実対称行列 AA が半正定値なら,任意の n×nn\times n 実行列に対して SASS^{\top}AS も半正定値。

証明

3通りの方法で証明できる。

  • (二次形式:)xundefinedSASxundefined=(Sxundefined)A(Sxundefined)0\overrightarrow{x}^{\top}S^{\top}AS\overrightarrow{x}=(S\overrightarrow{x})^{\top}A(S\overrightarrow{x})\geq 0

  • (固有値:)合同変換で固有値の符号は不変。→シルベスターの慣性法則の意味と証明

  • (分解:)A=UUA=U^{\top}U なら SAS=(US)A(US)S^{\top}AS=(US)^{\top}A(US)

定理3の簡潔な証明をご存知の方はご一報ください!