共轭梯度法解求解大规模稀疏矩阵,对比最速梯度法(C++)
记录计算方法大作业,练习C++,欢迎指正。
1,共轭梯度法介绍
共轭梯度法(Conjugate Gradient)是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点。共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一。
在实际应用中,共轭梯度法不仅可以去求解方程组,还可以推广到非二次目标函数的极小值求解。在各种优化算法中,共轭梯度法是非常重要的一种。其优点是所需存储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。
2,共轭梯度法原理
求解 Ax=b时,最简单粗暴的方式为 x=A-1 *b。但是这种方法的问题很明显:矩阵求逆的计算复杂度非常高。即使我们考虑用矩阵分解的方式,仍然会很慢。 因此,我们尽可能考虑用迭代的方式,而不是直接求逆的方式来解这个问题。如果构造一个二次函数:f(x)=xT Ax/2-b T x,求其最小值,即其导数为0时正好是方程Ax=b的解。因此,我们可以将线性方程组求解问题转化为二次函数求极小值问题
在寻优过程中利用当前点xk 处的残向量rk
和前一迭代点xk-1
处的搜索方向dk-1
对搜索方向进行如下修正:
共轭梯度法解求解大规模稀疏矩阵,对比最速梯度法(C++)相关推荐
- 求解大规模稀疏多目标优化问题的一种进化算法(SparseEA)笔记
阅读文献:An Evolutionary Algorithm for Large-Scale Sparse Multiobjective Optimization Problems 是由BIMK的田野 ...
- snopt matlab,studentSnopt matlab 学生版,求解大规模非线性规划问题 238万源代码下载- www.pudn.com...
文件名称: studentSnopt下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Visual C++ 文件大小: 2718 KB 上传时间: 2014-09-13 下载次数: 8 ...
- 电气论文实现:应用转移因子法求解大规模电力网络潮流
个人电气博文目录链接:学好电气全靠它,个人电气博文目录(持续更新中-) 本文给出了转移因子法求解大规模电力网络的潮流.潮流计算方法很多,但我觉得转移因子法思想最简单,转移因子法网上有零星文字讲 ...
- Linux系统上hdparm工具参数详解,硬盘检查、测速、设定和优化
Linux系统上hdparm工具参数详解,硬盘检查.测速.设定和优化 2012/07/25 hdparm, 硬盘 Linux命令相关 1 6,757 hdparm的功能:显示与设定硬盘的参数.hdpa ...
- C++内点法求解大规模线性规划问题——对标MATLAB中linprog函数
C++内点法求解大规模线性规划问题--对标MATLAB中linprog函数 文章目录 C++内点法求解大规模线性规划问题--对标MATLAB中linprog函数 1. 项目场景 2. 约束的规范化 3 ...
- 基于jupyter notebook的python编程-----利用梯度下降算法求解多元线性回归方程,并与最小二乘法求解进行精度对比
基于jupyter notebook的python编程-----利用梯度下降算法求解多元线性回归方程,并与最小二乘法求解进行精度对比目录 一.梯度下降算法的基本原理 1.梯度下降算法的基本原理 二.题 ...
- 数值法求解最优控制问题(一)——梯度法
同步发布在这里:https://leilie.top/2022-06-25/Study-Gradient-Method-for-OCP 最优控制问题可以使用变分法来进行求解,当问题是有约束的最优控制问 ...
- 模拟退火算法+大规模邻域算法求解大规模固定节点的路径规划问题matlab代码
一.模拟退火算法 模拟退火算法通常用来求解TSP问题,具体过程见https://blog.csdn.net/weixin_41971010/article/details/115897857?spm= ...
- 数独求解算法效率对比结果
在网上或是科技论文文献中,总是看到有人说自己的数独求解算法多牛,有时我为了验证他的算法有多牛,还把他的代码拷下来在自己的电脑上试一下,但结果还是让我比较失望的,如果你想知道你的算法有多牛,那就跑一下这 ...
最新文章
- 【怎样写代码】工厂三兄弟之工厂方法模式(二):解决方案 I
- c语言编程 构建围墙,c语言程序设计朝盛 综合程序练习题.ppt
- 文件监视器——Filemon
- android 获取网卡mac_Android获取本机Mac地址及IP地址方法
- pycharm调试远程服务器代码
- 【数据分析】数据分析(EDA)学习总结!
- 或者是修改服务器时间,修改云服务器时间设置
- php开发工具 debug,php开发性能调试工具xdebug
- 寻找中项和第k小元素c语言,分治法第k小元素poj2104.ppt
- Halcon缺陷检测——测量拟合
- Word转pdf方法小结
- linux怎么查看vip地址,rac环境vip在linux下的连接信息
- python pip下载安装一半退出_Python- 解决PIP下载安装时因为网络速度慢而导致失败的方法...
- 电脑上虚拟打印机如何将word转jpg
- WinRAR 设置默认密码
- 如何在MATLAB画一个首尾相连的数据矩阵图形
- 接口测试, 功能测试(黑盒测试)
- DCOS快速部署手册
- 苹果云服务icloud_苹果手机怎么恢复通讯录?一键恢复技巧就在这里!
- 【计算机科学速成课】[40集全/文字版] - 15.阿兰·图灵