我们将讨论一个小型示例的结果,该示例可以轻松复现。矩阵 A 是一个维度为 n=100 的不对称三对角矩阵。其对角线元素为 a_{i,i}\equiv -2,副对角线元素为 a_{i,i-1}\equiv 1 和 a_{i,i+1}\equiv 1.2。
我们使用算法7.18和7.19来计算最接近目标值 \tau=-2+0.1 i 的 k_{\max}=10 个特征值。由于这些特征值位于谱的内部,我们预期算法7.19(专为内部特征值设计)能带来一些优势。确实,正如我们将看到的,使用调和Ritz值在这里带来了优势。
我们在MATLAB中进行了实验。输入参数选择如下:初始向量 v 的元素是随机选择的(MATLAB中种子设为0)。容差为 \epsilon = 10^{-8}。子空间维度参数为 {m}_{\min}=10,{m}_{\max}=15。算法7.18中的修正方程(27)和算法7.19中的修正方程(34)通过五步GMRES方法近似求解。
我们在图7.5中以图形方式展示了残差向量的范数随迭代次数的变化。每当范数小于 \epsilon 时,我们就确定了一个可接受的近似特征值,并通过对下一个特征值进行缩减来继续迭代。左图表示使用算法7.18得到的结果,我们发现500次Jacobi-Davidson迭代内没有检测到收敛。右图显示了使用算法7.19的结果,现在在350次迭代内发现了10个特征值。