有没有直观的解释为什么预处理共轭梯度(CG)算法比基本CG算法收敛得更快。
答案 0 :(得分:1)
共轭梯度相当于预条件共轭梯度与预处理器的单位矩阵。如果您可以将矩阵本身用于预处理器,那么PCG将在一次迭代中收敛。希望通过使用一个比标识“更相似”的预处理器,但比矩阵本身更容易解决,那么PCG在解决等效质量时将比CG快。
答案 1 :(得分:1)
This link我认为这是一个令人满意的解释
基本上,共轭梯度法的收敛速度取决于sqrt(kappa(A))
,即要求解的矩阵的条件数。所以你要做的就是选择一个矩阵M
,使kappa(inv(M) * A) < kappa(A)
然后解决系统inv(M) * A * x = inv(M) * b
。这将需要较少的迭代来解决,因为要求解的矩阵的条件数小于原始数。