前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >共轭梯度法解线性方程组

共轭梯度法解线性方程组

作者头像
fem178
发布2019-05-15 11:16:14
2.2K1
发布2019-05-15 11:16:14
举报

共轭梯度法是方程组求解的一种迭代方法。这种方法特别适合有限元求解,因为该方法要求系数矩阵为对称正定矩阵,而有限元平衡方程的系数矩阵正好是对称正定矩阵(考虑边界条件)。同时,共轭梯度法也适合并行计算。

●算法原理

对于方程组Ax = b,假定A(nxn)是对称正定矩阵,采用共轭梯度法算法步骤如下: 取初始值x0

这里k=0,1,2,...。迭代持续进行,直到向量gk的模达到一个较小的值,也就是误差允许范围之内。

后台回复“梯度法”可获取Fortran及python代码下载地址。

共轭梯度法是介于梯度下降法与牛顿法之间的一个方法,是一个一阶方法。它克服了梯度下降法收敛慢的缺点,又避免了存储和计算牛顿法所需要的二阶导数信息。 在n维的优化问题中,共轭梯度法最多n次迭代就能找到最优解(是找到,不是接近),但是只针对二次规划问题。 共轭梯度法的思想就是找到n个两两共轭的共轭方向,每次沿着一个方向优化得到该方向上的极小值,后面再沿其它方向求极小值的时候,不会影响前面已经得到的沿哪些方向上的极小值,所以理论上对n个方向都求出极小值就得到了n维问题的极小值。

var first_sceen__time = (+new Date());if ("" == 1 && document.getElementById('js_content')) { document.getElementById('js_content').addEventListener("selectstart",function(e){ e.preventDefault(); }); } (function(){ if (navigator.userAgent.indexOf("WindowsWechat") != -1){ var link = document.createElement('link'); var head = document.getElementsByTagName('head')[0]; link.rel = 'stylesheet'; link.type = 'text/css'; link.href = "//res.wx.qq.com/mmbizwap/zh_CN/htmledition/style/page/appmsg_new/winwx45a3cd.css"; head.appendChild(link); } })();

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数值分析与有限元编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档