共轭梯度法是Hestenes和Stiefel(1952年)在求解大规模线性方程组时创立的一种迭代算法。1964年,Fletcher和Reeves将其引入非线性最优化问题,创立了非线性共轭梯度法。
该方法基于前一迭代点的搜索方向对当前迭代点的负梯度方向进行修正来产生新的搜索方向,即搜索方向为当前迭代点的负梯度方向与前一搜索方向的线性组合。
本期大纲
1 共轭方向 在介绍共轭梯度法之间,小编首先介绍一个重要的定义—— 共轭方向 ,并给出共轭方向的一些性质。1. 共轭方向
2. 共轭方向法
3. 正定二次函数的共轭梯度法
4. 一般函数的共轭梯度法
5. 算法实现
6. 总结
定义(共轭方向):设Q是一个n×n的对称正定矩阵,若n维向量空间中的非零向量满足
则称是Q的共轭向量或称向量
是关于Q共轭的(简称共轭),也称
是Q的m个共轭方向。
例如:
注:当 Q=I(单位矩阵)时,公式(1)变为
即向量 互相正交。由此可见,正交是共轭的一种特殊情况,共轭是正交的推广。
性质(线性无关性):设Q是一个n×n的对称正定矩阵,若是Q的m个非零共轭向量,则这m个向量是线性无关的。
注:在n维的向量空间中,非零的共轭向量个数不超过n
2 共轭方向法 共轭方向 法的算法步骤如下ÿ