目标函数为n维二次型函数时,共轭方向法能够在
x(1)=x(0)−(g(0)Td(0)d(0)TQd(0))d(0)
可以证明:
g(1)Td(0)=0
推导过程:
g(1)Td(0)=(Qx(1)−b)Td(0)=x(0)TQd(0)−(g(0)Td(0)d(0)TQd(0))d(0)TQd(0)−bTd(0)=g(0)Td(0)−g(0)Td(0)=0
方程 g(1)Td(0)=0表示步长为 α0=argminϕ0(α),其中, ϕ0(α)=f(x(0)+αd(0)).推导过程如下:
由链式法则可得:
dϕ0dα(α)=∇f(x(0)+αd(0))Td(0)
将 α=α0带入得:
dϕ0dα(α0)=g(1)Td(0)=0
由于 ϕ0是关于 α的平方函数,其中 α2的系数为 d(0)TQd(0)>0, 说明 ϕ0存在唯一的极小点,因此, α0=argminϕ0(α)。
以此类推,可以证明,对于所有 k,都有:
即
α0=argminf(x(k)+αd(k))
实际上,还有更一般的结论,如下引理所示:
* 引理 *在共轭方向算法中, 对于所有的 k,0≤k≤n−1,0≤i≤k 都有 :
g(k+1)Td(i)=0