logo

正定値行列の固有値と二次形式の最大値 📂線形代数

正定値行列の固有値と二次形式の最大値

定理

正定値行列 ARp×pA \in \mathbb{R}^{p \times p}固有対 {(λk,ek)}k=1n\left\{ \left( \lambda_{k} , e_{k} \right) \right\}_{k=1}^{n}λ1λn0\lambda_{1} \ge \cdots \ge \lambda_{n} \ge 0 の順に並んでいるとする。単位球unit Sphere 上での 二次形式 xTAx\mathbf{x}^{T} A \mathbf{x} の最大値と最小値は次の通りである。 maxx=1xTAx=λ1, attained when x=e1minx=1xTAx=λp, attained when x=ep \begin{align*} \max_{\left\| \mathbf{x} \right\| = 1} \mathbf{x}^{T} A \mathbf{x} =& \lambda_{1} & \text{, attained when } \mathbf{x} = e_{1} \\ \min_{\left\| \mathbf{x} \right\| = 1} \mathbf{x}^{T} A \mathbf{x} =& \lambda_{p} & \text{, attained when } \mathbf{x} = e_{p} \end{align*} 一方で k=2,,p1k = 2, \cdots , p-1 について次が成り立つ。 maxx=1xe1,,ek1xTAx=λk, attained when x=ek \max_{\substack{\left\| \mathbf{x} \right\| = 1 \\ \mathbf{x} \perp e_{1} , \cdots , e_{k-1} }} \mathbf{x}^{T} A \mathbf{x} = \lambda_{k} \quad \text{, attained when } \mathbf{x} = e_{k}


説明

与えられた定理は、x=1\left\| \mathbf{x} \right\| = 1 を満たすベクトル、つまり単位球上の x\mathbf{x} に対する 二次形式固有値 とどのような関係にあるのかを説明している。特に、最後の公式は、解空間で (k1)(k-1) 番目までの 固有ベクトル を除外した場合、二次形式の 最大値 が具体的に λk\lambda_{k} と一致することを示している。

証明 1

特定の x0\mathbf{x} \ne 0 に対して、x1=x/xTx\mathbf{x}_{1} = \mathbf{x} / \sqrt{ \mathbf{x}^{T} \mathbf{x} } とおくと x1=1\left\| \mathbf{x}_{1} \right\| = 1 となり、 xTAxxTx=x1TAx1 {{ \mathbf{x}^{T} A \mathbf{x} } \over { \mathbf{x}^{T} \mathbf{x} }} = \mathbf{x}_{1}^{T} A \mathbf{x}_{1} したがって、証明ではx=1\left\| \mathbf{x} \right\| = 1 という条件をそのまま使うのではなく、xTBxxTx{{ \mathbf{x}^{T} B \mathbf{x} } \over { \mathbf{x}^{T} \mathbf{x} }} を直接扱うことにしよう。


パート1. maxxTAx=λ1\max \mathbf{x}^{T} A \mathbf{x} = \lambda_{1}

正定値行列の平方根行列: 正定値行列 AA固有対 {(λk,ek)}k=1n\left\{ \left( \lambda_{k} , e_{k} \right) \right\}_{k=1}^{n}λ1>>λn>0\lambda_{1} > \cdots > \lambda_{n} > 0 の順で並んでいるとする。直行行列 P=[e1en]Rn×nP = \begin{bmatrix} e_{1} & \cdots & e_{n} \end{bmatrix} \in \mathbb{R}^{n \times n}対角行列 Λ=diag(λ1,,λn)\Lambda = \diag \left( \lambda_{1} , \cdots , \lambda_{n} \right) に対して、AA平方根行列 A\sqrt{A} は次の通りである。 A=PΛPT=k=1nλkekekT \sqrt{A} = P \sqrt{\Lambda} P^{T} = \sum_{k=1}^{n} \sqrt{\lambda_{k}} e_{k} e_{k}^{T}

上記の定義で言及されたように、直行行列 PP対角行列 Λ\Lambda が定義されているとすると、ベクトル yRp\mathbf{y} \in \mathbb{R}^{p}y=(y1,,yp):=PTx \mathbf{y} = \left( y_{1} , \cdots , y_{p} \right) := P^{T} \mathbf{x} のように設定する。これにより、 x0    y0 \mathbf{x} \ne \mathbf{0} \implies \mathbf{y} \ne \mathbf{0} となり、したがって 単位行列 IRp×pI \in \mathbb{R}^{p \times p} に対して次が成り立つ。 xTAxxTx=xTAAxxTIx=xTPΛPTPΛPTxxTPPTx=yTΛIΛyyTy=yTΛyyTy=i=1pλiyi2i=1pyi2λ1i=1pyi2i=1pyi2=λ1 \begin{align*} & {{ \mathbf{x}^{T} A \mathbf{x} } \over { \mathbf{x}^{T} \mathbf{x} }} \\ =& {{ \mathbf{x}^{T} \sqrt{A} \sqrt{A} \mathbf{x} } \over { \mathbf{x}^{T} I \mathbf{x} }} \\ =& {{ \mathbf{x}^{T} P \sqrt{\Lambda} P^{T} P \sqrt{\Lambda} P^{T} \mathbf{x} } \over { \mathbf{x}^{T} P P^{T} \mathbf{x} }} \\ =& {{ \mathbf{y}^{T} \sqrt{\Lambda} I \sqrt{\Lambda} \mathbf{y} } \over { \mathbf{y}^{T} \mathbf{y} }} \\ =& {{ \mathbf{y}^{T} \Lambda \mathbf{y} } \over { \mathbf{y}^{T} \mathbf{y} }} \\ =& {{ \sum_{i=1}^{p} \lambda_{i} y_{i}^{2} } \over { \sum_{i=1}^{p} y_{i}^{2} }} \\ \le& \lambda_{1} {{ \sum_{i=1}^{p} y_{i}^{2} } \over { \sum_{i=1}^{p} y_{i}^{2} }} & \cdots \star \\ =& \lambda_{1} \end{align*} P=[e1en]P = \begin{bmatrix} e_{1} & \cdots & e_{n} \end{bmatrix} であり、異なる iji \ne j に対しては eiTej=0e_{i}^{T} e_{j} = 0、インデックスが同じ場合は eiTei=1e_{i}^{T} e_{i} = 1 なので、もし x=e1\mathbf{x} = e_{1} を選ぶと、 y=PTe1=[100]=e1 \mathbf{y} = P^{T} e_{1} = \begin{bmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{bmatrix} = e_{1} となり、したがって、 xTAxxTx=yTΛyyTy=e1TΛe1e1Te1=λ1 \begin{align*} & {{ \mathbf{x}^{T} A \mathbf{x} } \over { \mathbf{x}^{T} \mathbf{x} }} \\ =& {{ \mathbf{y}^{T} \Lambda \mathbf{y} } \over { \mathbf{y}^{T} \mathbf{y} }} \\ =& {{ e_{1}^{T} \Lambda e_{1} } \over { e_{1}^{T} e_{1} }} \\ =& \lambda_{1} \end{align*} となる。したがって、 maxx=1xTAx=λ1, attained when x=e1 \max_{\left\| \mathbf{x} \right\| = 1} \mathbf{x}^{T} A \mathbf{x} = \lambda_{1} \quad \text{, attained when } \mathbf{x} = e_{1} 同様の方法で最小値も次のように求めることができる。\star と示された展開で、λ1\lambda_{1}λp\lambda_{p} になり、不等式の向きが逆になる。 minx=1xTAx=λp, attained when x=ep \min_{\left\| \mathbf{x} \right\| = 1} \mathbf{x}^{T} A \mathbf{x} = \lambda_{p} \quad \text{, attained when } \mathbf{x} = e_{p}


パート2. maxxe1,,ek1xTAx=λk\max_{\mathbf{x} \perp e_{1} , \cdots , e_{k-1} } \mathbf{x}^{T} A \mathbf{x} = \lambda_{k}

y\mathbf{y}y=PTx\mathbf{y} = P^{T} \mathbf{x} として定義され、PP が直行行列であるため、Py=xP \mathbf{y} = \mathbf{x} となる。この x\mathbf{x} は固有ベクトル e1,,epe_{1} , \cdots , e_{p} によって次のように表すことができる。 x=Py=y1e1+y2e2++ypep \begin{align*} \mathbf{x} =& P \mathbf{y} \\ =& y_{1} e_{1} + y_{2} e_{2} + \cdots + y_{p} e_{p} \end{align*} xe1,,ek1\mathbf{x} \perp e_{1} , \cdots , e_{k-1} とすると、i<ki < k のすべての eie_{i} に対する 内積 は、 0=eiTx=y1eiTe1+y2eiTe2++ypeiTep=yieiTei=yi \begin{align*} 0 =& e_{i}^{T} \mathbf{x} \\ =& y_{1} e_{i}^{T} e_{1} + y_{2} e_{i}^{T} e_{2} + \cdots + y_{p} e_{i}^{T} e_{p} \\ =& y_{i} e_{i}^{T} e_{i} \\ =& y_{i} \end{align*} となる。これにより、パート1で出てきた \star を再度見ると、 xTAxxTx=i=kpλiyi2i=kpyi2λki=kpyi2i=kpyi2 {{ \mathbf{x}^{T} A \mathbf{x} } \over { \mathbf{x}^{T} \mathbf{x} }} = {{ \sum_{i=k}^{p} \lambda_{i} y_{i}^{2} } \over { \sum_{i=k}^{p} y_{i}^{2} }} \le \lambda_{k} {{ \sum_{i=k}^{p} y_{i}^{2} } \over { \sum_{i=k}^{p} y_{i}^{2} }} yk=1y_{k} = 1yk+1==yp=0y_{k+1} = \cdots = y_{p} = 0 を設定した場合、つまり x=i=1pyiei=ek\mathbf{x} = \sum_{i=1}^{p} y_{i} e_{i} = e_{k} の時、最大値が得られる。


  1. Johnson. (2013). Applied Multivariate Statistical Analysis(6th Edition): p118~119. ↩︎