n
个
p
i
n个p_i
n个pi线性无关且共轭,表示为x的基
这样极小化括号的数,转化为n个一维的优化问题
这里求最小值 隐含了
p
i
T
A
P
i
>
0
p_i^TAP_i>0
piTAPi>0,所以要求对称正定,即强凸的。
共轭法
搜索步长
α
k
\alpha_k
αk是通过极小化
Φ
(
x
k
+
α
p
k
)
\Phi(x_k+\alpha p_k)
Φ(xk+αpk)得到的
即对于凸的二次函数,共轭算法的步长是可能精确计算得到的
证明
举例
二维的问题,
ϕ
(
x
)
\phi(x)
ϕ(x)的等高线是椭圆,由于A是对角阵,所以对称轴于行于坐标轴,且e1与e2对于A是共轭
;
当A,不再是对角矩阵时,e1与e2 不再是A的共轭方向
2步之内无法找到问题的解
因此,坐标方向法:当原始问题对应的矩阵A非对角时,我们可以对原问题作线性变化,使得新的newA 是对角的,然后可以使用共轭方向法在n 部内求得最优点。
一般性
第k步生成的残差rk和前面的搜索方向正交
如何生成共轭搜索方向,两种方法:特征向量,和Gram -Schmidt 正交化。对于第一种有对于实对称矩阵属于不同特征值的特征向量相互正交,因此可以推出来这些特征向量对于A 是共轭的
共轭梯度法
具体流程
对于
r
n
r_n
rn和
r
0
…
r
n
−
1
r_0\dots r_{n-1}
r0…rn−1正交,则可以推出来n维空间中和n个线性无关向量都正交的话,这个向量一定是n向量,即
A
x
n
=
b
A_{x_n}=b
Axn=b是所求的解。
这些结论是依赖于初始点的选择的,即是在(p0=-ro)
当
λ
n
−
k
和
λ
\lambda_{n-k}和\lambda
λn−k和λ非常接近时,第
i
i
i步迭代解非常接近精确 解
共轭梯度法在更新迭代方向时不仅利用了利用了上一步的迭代方向,同时利用了上一步的梯度信息,因此相对于最速下降法更快收敛
当条件数越小,越快,特别是当条件数为1时,其单位矩阵,只需要一步便可以得到最优解
算法回速Pre conditioning
当特征值 分部比较集中时,当分布到1 附近时收敛更快。通过对变量线性变换,转换成具有好的性质,即特征值相对集中
上述的目标还是在解
ϕ
(
x
)
=
x
T
A
x
−
b
T
x
\phi(x)=x^TAx-b^Tx
ϕ(x)=xTAx−bTx,但是为了加速计算,先对x 作线性变换
x
^
=
C
x
\hat{x}=Cx
x^=Cx,代入上式得到关于
x
^
\hat{x}
x^的方程,求解出最优的
x
^
\hat{x}
x^来重构要求的x,
当然可以利用上面的程序直接求出x,是等价的
需要求的
ϕ
(
x
)
=
x
T
A
x
−
b
T
x
\phi(x)=x^TAx-b^Tx
ϕ(x)=xTAx−bTx
ϕ
^
(
x
^
)
=
1
2
x
^
T
(
C
−
T
A
C
−
1
)
x
^
−
(
C
−
T
b
)
T
x
^
求
导
:
r
k
^
=
(
C
−
T
A
C
−
1
)
x
^
−
(
C
−
T
b
)
x
^
=
C
x
r
k
=
A
x
k
−
b
M
=
C
T
C
M
y
k
=
r
k
C
T
C
y
k
=
r
k
C
y
k
=
C
−
T
r
k
=
C
−
T
A
x
k
−
C
−
T
b
=
C
−
T
A
C
−
1
x
k
−
C
−
T
b
=
r
k
^
因
此
可
以
看
出
y
k
是
我
们
要
求
的
即
ϕ
(
)
\hat{\phi}(\hat{x})=\frac{1}{2} \hat{x}^{T}\left(\mathcal{C}^{-T} A C^{-1}\right) \hat{x}-\left(C^{-T} b\right)^{T} \hat{x}\\ 求导:\hat{r_{k}}=\left(\mathcal{C}^{-T} A C^{-1}\right) \hat{x}-\left(C^{-T} b\right)\\ \hat{x}=Cx\\ r_k=A{x_{k}}-b\\ M=C^TC\\ My_k=r_k\\ C^TCy_{k}=r_{k}\\ Cy_{k}=C^{-T}r_k=C^{-T}A{x_{k}}-C^{-T}b=C^{-T}A{C^{-1} x_{k}}-C^{-T}b=\hat{r_{k}}\\ 因此可以看出y_{k}是我们要求的即\phi()
ϕ^(x^)=21x^T(C−TAC−1)x^−(C−Tb)Tx^求导:rk^=(C−TAC−1)x^−(C−Tb)x^=Cxrk=Axk−bM=CTCMyk=rkCTCyk=rkCyk=C−Trk=C−TAxk−C−Tb=C−TAC−1xk−C−Tb=rk^因此可以看出yk是我们要求的即ϕ()