一、基本共轭方向算法
对于
n
维二次型函数的最小化问题:
其中, Q=QT>0,x∈Rn 。因为 Q>0 ,所以函数 f 有一个全局极小点,可以通过求解
基本共轭方向算法 给定初始点
x(0)
和一组关于
Q
共轭的方向
d(0),d(1),…,d(n−1)
,迭代公式为(
k≥0表示迭代次数
):
g(k)=∇f(x(k))=Qx(k)−bak=−g(k)Td(k)d(k)TQd(k)x(k+1)=x(k)+akd(k)
二、定理及其证明
对于任意初始点
x(0)
,基本共轭方向算法都能在
n
次迭代之内收敛到唯一全局极小点
证明:由于方向
d(i),i=0,1,…,n−1
线性无关,因此,
x∗−x(0)∈Rn
可以由它们线性表出,即:
x∗−x(0)=β0d(0)+β1x(1)+⋯+βn−1d(n−1)
其中, βi,i=0,1,…,n−1 为常数。
上式同时左乘 d(k)TQ ,
d(k)TQ(x∗−x(0))=βkd(k)TQd(k)
整理下,可得:
βk=−d(k)TQ(x∗−x(0))d(k)TQd(k)
迭代点 x(k) 可以写为:
x(k)=x(0)+a0d(0)+a1x(1)+⋯+ak−1d(k−1)
则:
x(k)−x(0)=a0d(0)+a1x(1)+⋯+ak−1d(k−1)
上式同时左乘 d(k)TQ ,因为 g(k)=Qx(k)−b,Qx∗=b ,可得:
d(k)TQ(x∗−x(0))=d(k)TQ(x∗−x(k))=−g(k)Td(k)
所以:
βk=−g(k)Td(k)d(k)TQd(k)=ak
这说明 x(n)=x∗ .
证毕。