首页/文章/ 详情

大规模稀疏矩阵线性方程组求解可以有多快!

2年前浏览1917

          对于工业软件研发尤其是CAE软件研发来说,线性方程组的求解精度和速度较为重要,在方程组规模上来以后,以Krylov子空间为基础的PCG,Bicgstab,Gmres等方法相对于直接法在求解效率和精度控制上有较大优势。这也是abaqus等商业软件在对于规模较大的模型时采用迭代法求解通常会比直接法求解更快的其中一个原因。

        以自由度数为41w的如下分布的稀疏矩阵为例,

        该稀疏矩阵形成的系数方程组在matlab中采用直接求解为1.5s,采用一定预处理下的PCG求解时间为0.55s。


        用笔者自行开发的稀疏矩阵PCG求解器运行此算例,方程组求解时间为0.628s。

        此时,整个程序的运行时间瓶颈实际上并不在方程求解,而在于从文件中读取稀疏矩阵对应的数据。一般情况下采用fscanf读取数据会快于用fstream读取。改用fscanf读取数据后,程序总运行时间从原来的16s变为9s。


来源:有限元术
科普控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-09-22
最近编辑:2年前
寒江雪_123
硕士 | cae工程师 签名征集中
获赞 49粉丝 106文章 57课程 9
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈