4.3_正交迭代法

4.3 正交迭代法

幂迭代和反迭代都只能同时计算一个特征对. 如果想同时计算多个特征对, 我们可以采用多个初始向量进行迭代. 而正交迭代算法就是基于这种思想, 它能够计算 AA 的一个不变子空间, 从而可以同时计算出多个特征值.

算法4.4.正交迭代法(OrthogonalIteration)

1: Choose an n×pn \times p column orthogonal matrix Z0Z_0
2: set k=0k = 0
3: while not convergence do
4: compute Yk+1=AZkY_{k + 1} = AZ_k
5: Yk+1=Zk+1R^k+1Y_{k + 1} = Z_{k + 1}\hat{R}_{k + 1} %\% QR分解
6: k=k+1k = k + 1
7: end while

正交迭代方法有时也称为子空间迭代方法 (subspace iteration method) 和同步迭代方法 (si-multaneous iteration method).

在算法中使用QR分解是为了保持 ZkZ_{k} 的列正交性, 使得其列向量组构成子空间 span{AkZ0}\operatorname{span}\{A^{k}Z_{0}\} 的一组正交基. 一方面提高算法的数值稳定性, 另一方面避免所有列都收敛到最大特征值所对应的特征向量.

下面我们分析该算法的收敛性质. 假设 AA 是可对角化的, 即 A=VΛV1A = V\Lambda V^{-1} , 其中 Λ=diag(λ1,λ2,,λn)\Lambda = \mathrm{diag}(\lambda_1, \lambda_2, \ldots, \lambda_n) , 且 λ1λp>λp+1λn|\lambda_1| \geq \dots \geq |\lambda_p| > |\lambda_{p+1}| \geq \dots \geq |\lambda_n| . 则可得

span{Zk}=span{Yk}=span{AZk1},k=1,2,,\operatorname {s p a n} \left\{Z _ {k} \right\} = \operatorname {s p a n} \left\{Y _ {k} \right\} = \operatorname {s p a n} \left\{A Z _ {k - 1} \right\}, \quad k = 1, 2, \dots ,

由此可知

span{Zk}=span{AkZ0}=span{VΛkV1Z0}.\operatorname {s p a n} \{Z _ {k} \} = \operatorname {s p a n} \{A ^ {k} Z _ {0} \} = \operatorname {s p a n} \{V \Lambda^ {k} V ^ {- 1} Z _ {0} \}.

我们注意到

ΛkV1Z0=λpk[(λ1/λp)k1(λn/λp)k]V1Z0λpk[Wp(k)Wnp(k)].\Lambda^ {k} V ^ {- 1} Z _ {0} = \lambda_ {p} ^ {k} \left[ \begin{array}{c c c c c} (\lambda_ {1} / \lambda_ {p}) ^ {k} & & & & \\ & \ddots & & \\ & & 1 & & \\ & & & \ddots & \\ & & & & (\lambda_ {n} / \lambda_ {p}) ^ {k} \end{array} \right] V ^ {- 1} Z _ {0} \triangleq \lambda_ {p} ^ {k} \left[ \begin{array}{c} W _ {p} ^ {(k)} \\ W _ {n - p} ^ {(k)} \end{array} \right].

由于当 i>pi > p 时有 λi/λp<1\left|\lambda_i / \lambda_p\right| < 1 , 所以当 kk 趋于无穷大时, Wnp(k)W_{n - p}^{(k)} 趋向于 0. 令 V=[Vp,Vnp]V = [V_p, V_{n - p}] , 则

VΛkV1Z0=λpk[Vp,Vnp][Wp(k)Wnp(k)]=λpk(VpWp(k)+VnpWnp(k)).V \Lambda^ {k} V ^ {- 1} Z _ {0} = \lambda_ {p} ^ {k} [ V _ {p}, V _ {n - p} ] \left[ \begin{array}{c} W _ {p} ^ {(k)} \\ W _ {n - p} ^ {(k)} \end{array} \right] = \lambda_ {p} ^ {k} \left(V _ {p} W _ {p} ^ {(k)} + V _ {n - p} W _ {n - p} ^ {(k)}\right).

所以当 kk\to \infty 时,有

span{Zk}=span{VΛkV1Z0}=span{VpWp(k)+VnpWnp(k)}span{VpWp(k)}=span{Vp},\begin{array}{l} \operatorname {s p a n} \left\{Z _ {k} \right\} = \operatorname {s p a n} \left\{V \Lambda^ {k} V ^ {- 1} Z _ {0} \right\} = \operatorname {s p a n} \left\{V _ {p} W _ {p} ^ {(k)} + V _ {n - p} W _ {n - p} ^ {(k)} \right\} \\ \rightarrow \operatorname {s p a n} \left\{V _ {p} W _ {p} ^ {(k)} \right\} = \operatorname {s p a n} \left\{V _ {p} \right\}, \\ \end{array}

span{Zk}\operatorname{span}\{Z_k\} 趋向于 AA 的一个 pp 维不变子空间 span{Vp}\operatorname{span}\{V_p\} .

定理4.1 给定正整数 p(1pn)p (1 \leq p \leq n) , 考虑算法4.4. 假设 AA 是可对角化的, 且 λ1λp>λp+1λn|\lambda_1| \geq \dots \geq |\lambda_p| > |\lambda_{p+1}| \geq \dots \geq |\lambda_n| . 则 span{Zk}\operatorname{span}\{Z_k\} 收敛到 AA 的一个 pp 维不变子空间.

AA 不可对角化时, 利用 Jordan 标准型, 我们可以得到同样的结论, 见 [132, 133].

在正交迭代中, 如果我们取 Z0=IZ_{0} = I , 则可得到一类特殊的正交迭代法. 此时, 在一定条件下, 正交迭代会收敛到 AA 的 Schur 分解.