linear conjugate gradient method, 是Hestens and Stiefel在1950s提出的,是解决系数矩阵是正定的线性系统的迭代方法,是gaussian消元的一种alternative,更适合解决大规规模问题。linear conjugate gradient method的效果取决于系数矩阵的特征值分布情况。而通过转换或者预处理线性系统,我们能够让特征值的分布更加favorable,以提高该方法的收敛性。
nonlinear conjugate gradient method是由Fletcher and Reeves在1960s提出的,是解决大规模非线性问题的一种较早方法,该算法的关键特征是其不需要矩阵存储,并且比steepest descent method更快。
顾名思义,共轭梯度法是在共轭特征向量方向求最优值。因此,其效果取决于权重系数A的特征值分布,其实就是特征向量的分布情况,这直接决定了该算法的收敛速度和收敛效果。
http://www.mathworks.com/matlabcentral/fileexchange/22494-conjugate-gradient-method
问题:
1. 顾名思义一下,steepest descent method应该是最快的方式啊,为什么其速度反而慢?好像几个newton也比其快?
2. conjugate gradient method为什么会比steepest快?
3. In general, nonlinear conjugate gradient directions are much more effective than the steepest descent direction and are almost as simple to compute.
赶快仔细读其中的章节,并各自实现一下,体验一下效果和速度。