下一节:稳定性和准确性评估 上一级:Jacobi-Davidson方法 上一节:可用的软件

数值示例

我们包含了一个数值示例,以便潜在用户可以验证和比较Jacobi-Davidson算法的计算结果。

对称矩阵A的维度为n=1000。对角线元素为a_{i,i} = i,次对角线元素为a_{i,i-1} = a_{i,i+1}= 0.5,并且a_{1000,1} = a_{1,1000} = 0.5。其他所有元素均为零。此示例取自[88],并在[411, p. 410]中针对Jacobi-Davidson算法进行了讨论。

我们使用算法4.17来计算{k}_{\max}=10个最大特征值。输入参数选择如下:初始向量{v}_0=(0.01,\ldots,0.01,1)^T,容差\epsilon = 10^{-8},子空间维度参数{m}_{\min}=10{m}_{\max}=15,目标值\tau=1001

图4.5:针对外部特征值的Jacobi-Davidson算法,采用多种策略求解校正方程。
图4.5:针对外部特征值的Jacobi-Davidson算法,采用多种策略求解校正方程。

图4.6:针对外部特征值(顶部)和内部特征值(底部)的Jacobi-Davidson算法。校正方程通过5步普通GMRES(左侧)和5步预处理GMRES(右侧)求解。
图4.6:针对外部特征值(顶部)和内部特征值(底部)的Jacobi-Davidson算法。校正方程通过5步普通GMRES(左侧)和5步预处理GMRES(右侧)求解。

我们在图4.5中以图形方式展示了残差向量的范数随迭代次数的变化。每次范数小于\epsilon时,表示在此精度内确定了特征值,并通过缩减继续迭代以确定下一个特征值。四幅图按字母顺序分别代表以下不同情况:

  1. 左上:显示了在算法4.17的第(32)项中,简单地将{t}取为{t}=-r时的情况。在精确算术中,这应提供与Arnoldi算法相同的Ritz值(假设Arnoldi采用类似算法4.17中的重启策略)。

  2. 右上:这里我们应用了一个简单的预条件子{K}=\mathrm{diag}(A),如算法4.18所示,没有进一步的子空间加速;即在步骤(d{}^{\,\prime})后停止。这相当于当前量子化学家使用的[344]方法。

  3. 左下:给出了未预处理的5步MINRES求解校正方程时的迭代结果(算法4.17{K}=I)。

  4. 右下:这里我们采用了算法4.17中的预处理,使用{K}=\mathrm{diag}(A)和5步GMRES(注意使用MINRES会更高效,但这需要双边预处理,我们未提供相应算法)。

在图4.6中,我们展示了内部特征值的收敛历史,分别由算法4.17(顶部)和算法4.19(底部)获得,输入参数如下:{v}_0=(0.01,\ldots,0.01,1)^T\tau=900.5\epsilon = 10^{-8}{k}_{\max}=10{m}_{\min}=5{m}_{\max}=10。同样,每次曲线低于\epsilon,表示在此容差内特征值的近似收敛。所有图中,我们使用5步GMRES来求解校正方程(32)。左图未使用预处理,右图则采用{K}=\mathrm{diag}(A)-\tau I进行预处理,如算法4.18所示。



下一节:稳定性和准确性评估 上一级:Jacobi-Davidson方法 上一节:可用的软件
Susan Blackford 2000-11-20