首页 > 其他分享 >共轭方向法

共轭方向法

时间:2024-04-22 20:14:21浏览次数:25  
标签:dots frac Qx top 方向 alpha 共轭

共轭方向法:

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*}

标签:dots,frac,Qx,top,方向,alpha,共轭
From: https://www.cnblogs.com/wjma2719/p/18151395

相关文章

  • 根据人形机器人公司的招聘信息反推其未来业务的发展方向
    地址:https://www.zhipin.com/gongsi/job/07b072ef03f6aac71XN629m-E1M~.html这是国内的一家知名的头部企业,是人形机器人领域的top公司最近的招聘信息,可以看到这个公司目前在招有商用清洁产品销售经验的人,可以说这个招聘信息和这家机器人公司的本身技术路线就不是很相合,甚至有......
  • 单人移动+四个方向发射子弹
    #include<iostream>#include<windows.h>#include<conio.h>usingnamespacestd;intmain(){HANDLEhandle=GetStdHandle(STD_OUTPUT_HANDLE);COORDcoord={0,0};SetConsoleCursorPosition(handle,coord);cout<<"......
  • 音视频开发是不是C++开发中最难的细分方向?
    音视频开发是不是C++开发中最难的细分方向?     关注者611被浏览599,438关注问题​写回答​邀请回答​好问题7​3条评论​分享​  查看全部67个回答luluce不关心国事的程序猿(不会QT)。已关注......
  • BOSHIDA DC电源模块的未来发展方向和创新应用领域
    BOSHIDADC电源模块的未来发展方向和创新应用领域随着科技的快速发展,直流(DC)电源模块的应用领域也在不断扩大。从传统的电子产品到新兴的清洁能源领域,DC电源模块正发挥着越来越重要的作用。未来,DC电源模块将继续发展,并在更多领域创造创新应用。 一,DC电源模块在电子产品中的应......
  • flutter锁定屏幕方向
    在flutter当中锁定屏幕是一个很常见的操作。import'package:flutter/material.dart';import'package:flutter/services.dart';import'HomePage.dart';voidmain()async{WidgetsFlutterBinding.ensureInitialized();//这句一定要有,要不然会报错SystemChrome......
  • 为什么钱难赚? 因为你想的到和想不到的方向, 都有人在做了
    赚钱的种类大家都知道,赚钱无非三种钱滚钱资源、背景换钱体力、脑力换钱对于前两种,没啥好说的,投胎是门技术活.绝大部分人,包括我在内都是第三种.而对于这一类人来说,赚钱是非常难的.这里说的赚钱不是一个月赚个吃饭钱,而是通过行动达到远超打工的收益.大家都......
  • 获得Salesforce管理员认证,未来如何规划?看这8个职业方向!
    Salesforce最终用户构成了Salesforce就业市场的最大部分。AppExchange上约有3000家独立软件开发商(ISV),全球约有2000家Salesforce咨询公司,与Salesforce的15万名客户相比显得微不足道。每个Salesforce客户都有不同规模的团队,有些团队只有一名管理员,有些团队超过100人,团队角色包括项......
  • OpenCV与AI深度学习 | 实战 | 使用OpenCV确定对象的方向(附源码)
    本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。原文链接:实战|使用OpenCV确定对象的方向(附源码)导读本文将介绍如何使用OpenCV确定对象的方向(即旋转角度,以度为单位)。 1先决条件   安装Python3.7或者更高版本。可以参考下文链接:    ......
  • 高创新,预测方向小论文有救了!霜冰优化算法+卷积神经网络+注意力机制+LSTM(附matlab代码
    专题推荐:论文推荐,代码分享,视角(点击即可跳转)所有链接建议使用电脑端打开,手机端打开较慢【代码推荐购买指南】电力系统运行优化与规划、时间序列预测、回归分类预测matlab代码公众号历史推文合集23.3.21(电力系统前沿视角/预测和优化方向matlab代码/电力系统优秀论文推荐......
  • 别再抱怨学鸿蒙没方向了! 这鸿蒙全栈(南北双向)开发学习路线收藏好!
    在互联网技术不断发展的现在,鸿蒙操作系统的出现标志着是能技术领域的一次重大突破,鸿蒙作为华为推出的一代操作系统,鸿蒙不仅达代表了自主创新的力量,还因为独特的分布式架构和全场景适配能力而备受关注。随着鸿蒙生态的不断完善、壮大,学习鸿蒙开发技术不仅对IT专业人士来说是......