下一节:可用的软件
上一级:Golub-Kahan-Lanczos 方法
上一节:与对称Lanczos的关系
从方程(6.7)、(6.8)和
(6.9)中,我们有
A^{\ast} A V_k = V_k B^*_k B_k + \alpha_k \beta_{k}v_{k+1}e^*_k.
我们注意到B^*_k B_k是对称的且三对角的,因为B_k是双对角的。
与方程(4.10)比较,我们可以看到
算法(6.1)
计算的信息与
应用于厄米矩阵A^{\ast} A的Lanczos方法(算法(4.6))相同。
相反,如果我们对A^* A应用Lanczos方法得到一个三对角矩阵
T_k = B^*_k B_k,那么B_k可以通过取T_k的上三角Cholesky因子得到。
类似地,我们得到
AA^* U_k = U_k B_k B_k^* + \beta_k (A v_{k+1}) e_k^*.
同样,B_k B_k^*是对称的且三对角的。
所以再次与方程(4.10)比较,我们可以看到
算法(6.1)
计算的信息与
应用于厄米矩阵AA^*的Lanczos方法(算法(4.6))相同。
相反,如果我们对AA^*应用Lanczos方法得到一个三对角矩阵
T_k = B_k B_k^*,那么B_k可以通过取JT_kJ的上三角Cholesky因子B'得到,其中J是
其列按逆序排列的单位矩阵
(因此JT_kJ是通过反转T_k的行和列的顺序得到的),然后B_k = JB'J。
最后,假设我们使用特殊的起始向量
z_1 = \begin{bmatrix} 0 \\ v_1 \end{bmatrix}
对H(A)应用Lanczos方法(算法(4.6))
生成Lanczos向量z_2, z_3,\ldots.
算法(4.6)的第一步产生
\begin{aligned}
r &= H(A)z_1 = \begin{bmatrix} Av_1 \\ 0\end{bmatrix}, \\
\hat{\alpha}_1 &= r^*z_1 = 0, \\
r &= r - 0*z_1, \\
\hat{\beta}_1 &= \Vert r \Vert_2, \\
z_2 &= r/\hat{\beta}_1, \\
&= \begin{bmatrix} u_1 \\ 0 \end{bmatrix}.
\end{aligned}
其中 u_1 在算法(6.1)中的第(5)行计算得到。
算法(4.6)的下一步产生
\begin{aligned}
r &= H(A)z_2 = \begin{bmatrix} 0 \\ A^*u_1\end{bmatrix}, \\
\hat{\alpha}_2 &= r^*z_2 = 0, \\
r &= r - 0*z_2 - \hat{\beta}_1 z_1 = \begin{bmatrix}0 \\ Au_1\end{bmatrix} - \begin{bmatrix}0 \\ \hat{\beta}_1 v_1\end{bmatrix}, \\
\hat{\beta}_2 &= \Vert r \Vert_2, \\
z_3 &= r/\hat{\beta}_2, \\
&= \begin{bmatrix} 0 \\ v_2 \end{bmatrix}.
\end{aligned}
其中 v_2 在算法(6.1)中的第(8)行计算得到。
继续这种方式,我们可以看到算法(4.6)的两步计算的信息
与算法(6.1)的一步相同:
z_{2i-1} = \begin{bmatrix} 0 \\ v_i \end{bmatrix}\; \; {\rm and} \; \;z_{2i} = \begin{bmatrix} u_i \\ 0 \end{bmatrix}.
然而,算法(4.6)进行了两倍的矩阵-向量乘法
通过A和A^*与算法(6.1)
(其中一半是通过零向量的乘法),因此
算法(6.1)通常会使用一半的时间和空间。
相反,如果对H(A)应用Lanczos方法得到一个
三对角矩阵T_k,那么T_k的对角线上会有零,
非对角线元素将与B_k(从方程(6.4)的符号)的非零元素相同:
T_{2k} = \begin{bmatrix}
0 & \alpha_1 & & & & & \\
\alpha_1 & 0 & \beta_1 & & & \\
& \beta_1 & 0 & \alpha_2 & & \\
& & \alpha_2 & 0 & \beta_2 & \\
& & & \beta_2 & 0 & \ddots \\
& & & & \ddots & \ddots & \alpha_k \\
& & & & & \alpha_k & 0
\end{bmatrix}.
由于这些等价性,第§4.4节中Lanczos的所有算法变体
和收敛性质都适用于
算法(6.1)。
下一节:可用的软件
上一级:Golub-Kahan-Lanczos 方法
上一节:与对称Lanczos的关系
Susan Blackford
2000-11-20