共轭方向法:
Def1(共轭):给定一个对称矩阵$Q$,如果向量$d_1,d_2$满足:$$d_1^\top Q d_2=0$$,则称$d_1,d_2$为$Q$正交,或关于$Q$共轭。
注:通常考虑$Q$是对称正定的;如果$Q=I$,则共轭$\iff$正交;如果非零向量组$\{d_0,d_1\dots,d_k\}$两两关于$Q$共轭,则称为$Q$正交集。
Th2:如果$Q$对称正定,且非零向量组$\{d_0,d_1\dots,d_k\}$是$Q$正交的,则这些向量是线性无关的。
\textbf{Proof:}设$\alpha_0 d_0 +\dots +\alpha_k d_k=0$,则$0=d_i^\top Q (\alpha_0 d_0 +\dots +\alpha_k d_k)=\alpha_i d_i^\top Q d_i$\\
而$d_i^\top Q d_i > 0$,则$\alpha_i = 0$,于是这些向量是线性无关。
注:如果$Q$是对称正定的,则将$x^\top Q y$看成内积$\left< x, y \right>$,上述命题就是很明显的。
在问题$min\{\frac{1}{2}x^\top Qx-b^\top x\}$(其中$Q$对称正定)中,最优解$x^*$满足$"Qx^*=b"$,且是唯一解。
现令$d_0,d_1,\dots,d_{n-1}$是$n$个非零的$Q$的正交向量,由于其线性无关性,存在$\alpha_i(i=0,1,\dots,n-1)$使得$x^*=\alpha_0 d_0 + \dots + \alpha_{n-1} d_{n-1}$,则由于$d_i^\top Q x^* =\alpha_i d_i^\top Q d_i$,则$\alpha_i=\frac{d_i^\top Q x^*}{d_i^\top Q d_i}=\frac{d_i^\top b}{d_i^\top Q d_i}$,于是$x^*=\sum_{i=0}^{n-1}\frac{d_i^\top b}{d_i^\top Q d_i}d_i$
Th3:共轭方向定理 $\{d_i\}_{i=0}^{n-1}$为一组非零的$Q$正交向量集,对$\forall x_0\in E^n$,按照公式:$$x_{k+1}=x_k+\alpha_k d_k(k\geq 0)$$
$$\alpha_k=-\frac{g_k^\top d_k}{d_k^\top Q d_k},g_k=Qx_k-b$$
得到的点列$\{x_k\}$在第$n$之后收敛于$Qx=b$的唯一解$x^*$,即$x_n=x^*$
共轭方向的下降性质:
如果我们假设$\mathcal{B}_k=span\{d_0,d_1,\dots,d_{k-1}\}$,则我们可以说明上面的迭代点$x_k$是$f=\frac{1}{2}x^\top Qx-b^\top x$在$x_0+\mathcal{B}_k$上的极小点。
Th4:拓展子空间定理:$\{x_k\}$由之前的迭代格式给出,则$x_k$是$f$在$x_0+\mathcal{B}_k$的极小点
Proof:令$D_k=[d_0,d_1,\dots,d_{k-1}],y_k=(\alpha_0,\alpha_1,\dots,\alpha_{k-1})$,则要证明函数$g(y)=f(x_0+D_k y)$的最小值在$y=y_k$处取到。
这是一个简单的最小化问题,最优点$y^*$在导数为$0$的地方取到。注意到
\begin{align*}
f(x_0+D_k y) & =\frac{1}{2}(x_0+D_k y)^\top Q (x_0+D_k y)-b^\top (x_0+D_k y)\\
& =\frac{1}{2}y^\top (D_k^\top Q D_k) y+[D_k^\top(Qx_0-b)]^\top y + \frac{1}{2}x_0^\top Qx-b^\top x_0
\end{align*}
则其最小值点$y^*$满足$(D_k^\top Q D_k) y^*=D_k^\top(b-Qx_0)$
而$(D_k^\top Q D_k)=diag\{x_0^\top Qx_0,\dots,x_{k-1}^\top Qx_{k-1}\}$,
$D_k^\top(b-Qx_0)=[d_0^\top(b-Qx_0),\dots,d_{k-1}^\top(b-Qx_0)]^\top=[d_0^\top(b-Qx_0),\dots,d_{k-1}^\top(b-Qx_{k-1})]^\top=-[g_0^\top d_0,\dots,g_{k-1}^\top d_{k-1}]^\top$
显然$y_k$满足这个性质,所以最小值在$y=y_k$处取到,于是$x_k$是$f=\frac{1}{2}x^\top Qx-b^\top x$在$x_0+\mathcal{B}_k$上的极小点。
共轭梯度法:
在上面的过程中,我们给出了共轭方向法以及他的性质,本质上,他是沿着共轭方向的最速下降法。但是这一过程的前提是需要已经知道矩阵$Q$的共轭方向集。
但是,如果不知道矩阵$Q$的共轭梯度集,则可以使用共轭梯度法,他是在迭代中逐次构造共轭方向,具体如下:
由任意初始点$x_0 \in E^n$,取$d_0=-g_0=b-Qx_0$(即负梯度方向)(以下取$g_k=Qx_k-b$),并令$x_1=x_0+\alpha_0 d_0,(\alpha_0=-\frac{g_0^\top d_0}{d_0^\top Q d_0})$,这一步其实就是最速下降法。
但是此时$d_1$还是未知的,我们用下面这个思路来构造他:
由于现在我们需要$d_1$使得$\{d_0,d_1\}$为$Q$正交方向,又有$Th4$可以知道$g_1^\top d_0=0$,所以$g_1,d_0$线性无关,于是可以将$d_1$表示为$d_1=\gamma_0 d_0 + \gamma_1 g_1$(可以由反证法得知$\gamma_1\neq 0$),不失一般性的假设$d_1=\beta_0 d_0 - g_1$,利用$d_1^\top Q d_0=0$得到$\beta _0=\frac{g_1^\top Q d_0}{d_0^\top Q d_0}$,于是$$d_1=-g_1+\beta_0 d_0,\beta_0=\frac{g_1^\top Q d_0}{d_0^\top Q d_0}$$
同样的道理可以得到:$$d_{k+1}=-g_{k+1}+\beta_k d_k,\beta_k=\frac{g_{k+1}^\top Q d_k}{d_k^\top Q d_k}$$
综上,我们得到共轭梯度法:
\begin{align*}
g_k&=Qx_k-b\\
x_{k+1}&=x_k+\alpha_k d_k\\
\alpha_k&=-\frac{g_k^\top d_k}{d_k^\top Q d_k}\\
d_{k+1}&=-g_{k+1}+\beta_k d_k\\
\beta_k&=\frac{g_{k+1}^\top Q d_k}{d_k^\top Q d_k}
\end{align*}