线性方程组: Ax = b
n次迭代后解的残差 r(n) = b - A * x(n) = ( 1- A) * x(n) + b - x(n) = x(n+1) - x(n)
n次迭代后的残差满足 b - A * x(n+1) = b - A * x(n) - A * r(n) =》 r(n+1) = r(n) - A * r(n)
故n次迭代后解形式: x(n) = x(0) + r(0) + r(1) + r(2) + .... r(n-1) = x(0) + fun(A)*r(0)
=> 原方程的解由初始解和残差的线性组合表示(即真解存在于初始解和残差项的仿射空间里)
CG 法(共轭梯度法): 求解对称正定(psd)矩阵
首先梯度方向法。根据能量极小原理: 系统误差的能量范数(2范数)取最小。梯度法即沿着系统方程曲面梯度最大的方向搜索。
更好的策略是让下一步的搜索方向与当前步的方向共轭(垂直)。
共轭: v(n) * A * v(k) = 0 ; k = 0, 1, 2,...(n-1)
解形式: x(n+1) = x(n) + v(n) * w(n) /* w(n) 是第n步搜索步长 */
=> b - A * x(n+1) + A * v(n) * w(n) = b - A *x(n) => r(n+1) = r(n) - A * v