首页/文章/ 详情

有限元方法中的数值技术:稀疏方程组直接求解

11月前浏览437

稀疏矩阵中分布着大量的零元素,可以对列选主元高斯消元法进行一点改进,避免对0元素的运算,将会大大减少运算次数。这里不考虑压缩存储。

在进行消元的循环中,原来为:

do i = k+1,n
 temp = ab(i,k)/ab(k,k)
 ab(i,:) = ab(i,:) - temp*ab(k,:)
end do

可以替换为下列语句:

do i = k+1,n
 if (ab(i,k) /= 0.0d0) then
  temp = ab(i,k)/ab(k,k)
  ab(i,:) = ab(i,:) - temp*ab(k,:)
  cnt_elim = cnt_elim + 1 ! 消元次数计数器
 end if
end do

数值案例

系数矩阵:

 

右端向量:

 

改进前消元次数:

 Total elimination steps:          28
    0.100000D+01
    0.148030D-15
    0.200000D+01
   -0.200000D+01
    0.400000D+01
   -0.100000D+01
    0.300000D+01
    0.100000D+01

改进后消元次数:

 Total elimination steps:           7
    0.100000D+01
    0.148030D-15
    0.200000D+01
   -0.200000D+01
    0.400000D+01
   -0.100000D+01
    0.300000D+01
    0.100000D+01

从上面结果来看,大大减低了消元次数。

参考文献

  1. 徐士良.FORTRAN常用算法程序集 第二版[M].清华大学出版社,1995.

来源:易木木响叮当
STEPS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-10-19
最近编辑:11月前
易木木响叮当
硕士 有限元爱好者
获赞 279粉丝 416文章 451课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈