[行列解析2.7.1]

2.7.1

定理 2.7.1(CS分解).整数 \( p, q, n \) が与えられていて、\( 1 \lt p \leq q \lt n \)、かつ \( p+q=n \) とする。次のようなユニタリ行列

U =
\begin{bmatrix}
U_{11} & U_{12} \\
U_{21} & U_{22}
\end{bmatrix} \in M_n

があり、ここで \( U_{11} \in M_p \)、\( U_{22} \in M_q \) である。このとき、ユニタリ行列 \( V_1, W_1 \in M_p \)、および \( V_2, W_2 \in M_q \) が存在して、

\begin{bmatrix}
V_1 & 0 \\
0 & W_1
\end{bmatrix}
\begin{bmatrix}
U_{11} & U_{12} \\
U_{21} & U_{22}
\end{bmatrix}
\begin{bmatrix}
V_2 & 0 \\
0 & W_2
\end{bmatrix}
=
\begin{bmatrix}
C & S & 0 \\
-S & C & 0 \\
0 & 0 & I_{q-p}
\end{bmatrix}
\tag{2.7.1.2}

が成り立つ。ここで \( C = \mathrm{diag}(\sigma_1,\ldots,\sigma_p) \)、\(\sigma_1 \geq \cdots \geq \sigma_p\) は \( U_{11} \) の特異値を降順に並べたものであり、

S = \mathrm{diag}\!\left(\sqrt{1-\sigma_1^2}, \ldots, \sqrt{1-\sigma_p^2}\right)

である。

証明. 方針は、ブロックごとのユニタリ同値変換を段階的に行い、最終的に所望の形のブロック行列に帰着させることである。

最初のステップとして特異値分解を使う。すなわち

U_{11} = V \Sigma W = (V K_p)(K_p \Sigma K_p)(K_p W) = \tilde V \, \Lambda \, \tilde W

と書ける。ここで \( V, W \in M_p \) はユニタリ行列、\( K_p \) は \( p \times p \) の反転行列、\(\tilde V = V K_p\)、\(\tilde W = K_p W\)、\(\Sigma = \mathrm{diag}(\sigma_1,\ldots,\sigma_p)\) で \(\sigma_1 \geq \cdots \geq \sigma_p\)、\(\Lambda = K_p \Sigma K_p = \mathrm{diag}(\sigma_p,\ldots,\sigma_1)\) である。

このとき次を計算する:

\begin{bmatrix}
\tilde V^* & 0 \\
0 & I_q
\end{bmatrix}
\begin{bmatrix}
U_{11} & U_{12} \\
U_{21} & U_{22}
\end{bmatrix}
\begin{bmatrix}
\tilde W^* & 0 \\
0 & I_q
\end{bmatrix}
=
\begin{bmatrix}
\Lambda & \tilde V^* U_{12} \\
U_{21} \tilde W^* & U_{22}
\end{bmatrix}

この行列は(3つのユニタリ行列の積なので)ユニタリである。したがって各列のユークリッドノルムは 1 であり、これにより \(\sigma_1 = \gamma_p \leq 1\) が従う。

次に QR 分解を用いる。すなわち

\tilde V^* U_{12} = [L \; 0] \tilde Q, 
\quad 
U_{21} \tilde W^* = Q \begin{bmatrix} R \\ 0 \end{bmatrix}

と書ける。ここで \(\tilde Q, Q \in M_q\) はユニタリ行列、\( L \in M_p \) は下三角行列、\( R \in M_p \) は上三角行列である。これを代入して次を得る:

\begin{bmatrix}
I_p & 0 \\
0 & Q^*
\end{bmatrix}
\begin{bmatrix}
\Lambda & \tilde V^* U_{12} \\
U_{21} \tilde W^* & U_{22}
\end{bmatrix}
\begin{bmatrix}
I_p & 0 \\
0 & \tilde Q^*
\end{bmatrix}
=
\begin{bmatrix}
\Lambda & L & 0 \\
R & 0 & Q^* U_{22} \tilde Q^*
\end{bmatrix}

前の演習の議論から、\( L \) と \( R \) はともに対角行列であり、各 \( i = 1, \ldots, p \) に対して \( |r_{ii}| = |\ell_{ii}| = \sqrt{1 - \gamma_i^2} \) が成り立つことが分かる。ここで

M = \mathrm{diag}(1 - \gamma_1^2, \ldots, 1 - \gamma_p^2)

とおき、\( t = \max \{ i : \gamma_i \lt 1 \} \) とする(ただし \( t \geq 1 \) と仮定してよい。なぜなら、もし \(\gamma_1 = 1\) ならば \(\Lambda = I_p\)、かつ \( M = 0 \) となり、(2.7.1.2) は \( C = I_p, S = 0_p \) として成立するからである)。

対角ユニタリ行列 \( D_1, D_2 \in M_p \) が存在して \( D_1 R = -M \)、\( L D_2 = M \) が成り立つ。したがって、左から \( I_p \oplus D_1 \oplus I_{n-2p} \)、右から \( I_p \oplus D_2 \oplus I_{n-2p} \) によるユニタリ合同変換を行うと、次の形のユニタリ行列を得る:

\begin{bmatrix}
\Lambda & M & 0 \\
-M & 0 & Z \\
\end{bmatrix}
=
\begin{bmatrix}
\Lambda_1 & 0 & M_1 & 0 & 0 \\
0 & I_{p-t} & 0 & 0_{p-t} & 0 \\
-M_1 & 0 & Z_{11} & Z_{12} & Z_{13} \\
0 & 0_{p-t} & Z_{21} & Z_{22} & Z_{23} \\
0 & 0 & Z_{31} & Z_{32} & Z_{33}
\end{bmatrix}

ここで \(\Lambda = \Lambda_1 \oplus I_{p-t}\)、\( M = M_1 \oplus 0_{p-t} \) と分割しており、\( M_1 \) は正則である。第1ブロック列と第3ブロック列の直交性(および \( M_1 \) の正則性)から \( Z_{11} = \Lambda_1 \) が従い、さらに各行・各列が単位ベクトルである条件から \( Z_{12}, Z_{13}, Z_{21}, Z_{31} \) はすべて零ブロックとなる。したがって次を得る:

\begin{bmatrix}
\Lambda_1 & 0 & M_1 & 0 & 0 \\
0 & I_{p-t} & 0 & 0_{p-t} & 0 \\
-M_1 & 0 & \Lambda_1 & 0 & 0 \\
0 & 0_{p-t} & 0 & Z_{22} & Z_{23} \\
0 & 0 & 0 & Z_{32} & Z_{33}
\end{bmatrix}

右下のブロック

\tilde Z =
\begin{bmatrix}
Z_{22} & Z_{23} \\
Z_{32} & Z_{33}
\end{bmatrix} \in M_{q-t}

はユニタリ行列の直和因子なのでユニタリであり、したがってユニタリ行列 \(\hat V, \hat W \in M_{q-t}\) を用いて \(\tilde Z = \hat V I_{q-t} \hat W\) と書ける。左から \( I_{p+t} \oplus \hat V^* \)、右から \( I_{p+t} \oplus \hat W^* \) によるユニタリ同値変換により、次のブロック行列を得る:

\begin{bmatrix}
\Lambda_1 & 0 & M_1 & 0 & 0 \\
0 & I_{p-t} & 0 & 0_{p-t} & 0 \\
-M_1 & 0 & \Lambda_1 & 0 & 0 \\
0 & 0_{p-t} & 0 & I_{p-t} & 0 \\
0 & 0 & 0 & 0 & I_{q-p}
\end{bmatrix}

最後に \( K_p \oplus K_p \oplus I_{q-p} \) によるユニタリ相似変換を施すことで、所望の形 (2.7.1.2) をもつユニタリ行列が得られる。

CS分解は、次の形のすべてのユニタリ行列

U =
\begin{bmatrix}
U_{11} & U_{12} \\
U_{21} & U_{22}
\end{bmatrix} \in M_n,
\quad n = p+q

(ここで慣習的に \( p \leq q \) とするが必須ではない)を記述するためのパラメトリックな表現である。パラメータは、4つの小さな任意のユニタリ行列 \( V_1, W_1 \in M_p \)、\( V_2, W_2 \in M_q \)、および \( p \) 個の実数 \( \sigma_1, \ldots, \sigma_p \)(ただし \( 1 \geq \sigma_1 \geq \cdots \geq \sigma_p \geq 0 \))である。

4つのブロックの具体的な表現は次の通りである:

U_{11} = V_1 C W_1, \quad
U_{12} = V_1 [\, S \; 0 \,] W_2, \tag{2.7.1.3}
U_{21} = V_2 \begin{bmatrix} -S \\ 0 \end{bmatrix} W_1,
\quad
U_{22} = V_2 \begin{bmatrix} C & 0 \\ 0 & I_{q-p} \end{bmatrix} W_2,

ここで \( C = \mathrm{diag}(\sigma_1,\ldots,\sigma_p) \)、\( S = \mathrm{diag}(\sqrt{1-\sigma_1^2}, \ldots, \sqrt{1-\sigma_p^2}) \) である。CS分解は特に部分空間間の距離や角度に関わる問題において広く有用な道具である。


新米博士
新米博士

もう一回説明するよ。

定理 2.7.1(CS分解)

整数 \( p, q, n \) が与えられていて、\( 1 \lt p \leq q \lt n \) かつ \( p+q=n \) であるとする。ユニタリ行列

U = \begin{bmatrix}
U_{11} & U_{12} \\
U_{21} & U_{22}
\end{bmatrix} \in M_n

があり、ここで \( U_{11} \in M_p, U_{22} \in M_q \) である。このとき、ユニタリ行列 \( V_1, W_1 \in M_p \)、\( V_2, W_2 \in M_q \) が存在して、

\begin{bmatrix}
V_1 & 0 \\
0 & W_1
\end{bmatrix}
\begin{bmatrix}
U_{11} & U_{12} \\
U_{21} & U_{22}
\end{bmatrix}
\begin{bmatrix}
V_2 & 0 \\
0 & W_2
\end{bmatrix}
=
\begin{bmatrix}
C & S & 0 \\
-S & C & 0 \\
0 & 0 & I_{q-p}
\end{bmatrix}
\tag{2.7.1.2}

が成り立つ。ここで \( C = \mathrm{diag}(\sigma_1, \ldots, \sigma_p) \)、\(\sigma_1 \geq \cdots \geq \sigma_p\) は \( U_{11} \) の特異値を降順に並べたものであり、

S = \mathrm{diag}\!\bigl(\sqrt{1-\sigma_1^2}, \ldots, \sqrt{1-\sigma_p^2}\bigr)

である。

証明. 方針は、ユニタリ同値変換を段階的に適用し、最終的に所望のブロック行列に帰着させることである。

まず、特異値分解を使う。\( U_{11} = V \Sigma W \) と書ける。ここで \( V, W \in M_p \) はユニタリ行列、\(\Sigma = \mathrm{diag}(\sigma_1, \ldots, \sigma_p)\) で \(\sigma_1 \geq \cdots \geq \sigma_p\) である。適切な置換行列 \(K_p\) を用いて、\(\tilde V = V K_p\)、\(\tilde W = K_p W\)、さらに \(\Lambda = K_p \Sigma K_p = \mathrm{diag}(\sigma_p, \ldots, \sigma_1)\) とする。計算すると

\begin{bmatrix}
\tilde V^* & 0 \\
0 & I_q
\end{bmatrix}
\begin{bmatrix}
U_{11} & U_{12} \\
U_{21} & U_{22}
\end{bmatrix}
\begin{bmatrix}
\tilde W^* & 0 \\
0 & I_q
\end{bmatrix}
=
\begin{bmatrix}
\Lambda & \tilde V^* U_{12} \\
U_{21} \tilde W^* & U_{22}
\end{bmatrix}

となる。この行列はユニタリなので、各列はユークリッドノルムが 1 である。したがって \(\sigma_1 = \gamma_p \leq 1\) が従う。

次に、QR分解を適用する。すなわち \(\tilde V^* U_{12} = [L \; 0] \tilde Q\)、\(U_{21} \tilde W^* = Q \begin{bmatrix} R \\ 0 \end{bmatrix}\) と書ける。ここで \(\tilde Q, Q \in M_q\) はユニタリ、\(L\) は下三角行列、\(R\) は上三角行列である。計算により、\(L\) と \(R\) はともに対角行列となり、各対角成分に対して

|r_{ii}| = |l_{ii}| = \sqrt{1 - \gamma_i^2}, \quad i=1,\ldots,p

が成り立つ。ここから対角ユニタリ行列 \(D_1, D_2 \in M_p\) を導入して合同変換を行うことで、最終的に (2.7.1.2) の形を持つユニタリ行列が得られる。

CS分解の意味: CS分解は、行列

U =
\begin{bmatrix}
U_{11} & U_{12} \\
U_{21} & U_{22}
\end{bmatrix} \in M_n, \quad n=p+q

を、ユニタリ行列 \(V_1, W_1 \in M_p\)、\(V_2, W_2 \in M_q\) と \(p\) 個の実数 \(\sigma_1, \ldots, \sigma_p\) (ただし \(1 \geq \sigma_1 \geq \cdots \geq \sigma_p \geq 0\))を用いてパラメータ表示する方法である。具体的には次のように表される:

U_{11} = V_1 C W_1, \quad
U_{12} = V_1 [S \; 0] W_2,
\tag{2.7.1.3}
U_{21} = V_2 \begin{bmatrix} -S \\ 0 \end{bmatrix} W_1, \quad
U_{22} = V_2 \begin{bmatrix} C & 0 \\ 0 & I_{q-p} \end{bmatrix} W_2,

ここで \( C = \mathrm{diag}(\sigma_1, \ldots, \sigma_p)\)、\( S = \mathrm{diag}(\sqrt{1-\sigma_1^2}, \ldots, \sqrt{1-\sigma_p^2}) \) である。

CS分解は、部分空間間の距離や角度に関する問題において特に有用な道具である。


参考:Matrix Analysis:Second Edition ISBN 0-521-30587-X.(当サイトは公式と無関係です)

コメント

タイトルとURLをコピーしました