声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1500|回复: 5

[综合讨论] 求助有关大型稀疏阵的求解问题

[复制链接]
发表于 2008-1-13 16:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
对于大型系数阵 s[][],由方程组s*x=f
如果直接求解x=s\f
和用分解方法如LU分解
[L U]=lu(s);
qq=L\f;
x2=U\qq;
得出的结果不相等

我想问那个精度高??

[L U P]=lu(stiff);中的P是衡量什么的??

如果用系数矩阵函数sparse,得到的结果精度怎样呢??

这是线性情况,如果是非线性怎么解决呢????请高手指点

[ 本帖最后由 eight 于 2008-1-21 19:00 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-1-14 11:04 | 显示全部楼层

回复 楼主 的帖子

x=s\f的精度应该没有后者高

[L U P]=lu(stiff);请看帮助文档
L*U=P*A
 楼主| 发表于 2008-1-14 13:08 | 显示全部楼层
谢谢
那其他几种分解方法呢????
qr cholesk等等
那种比较适合呢??
发表于 2008-1-15 10:52 | 显示全部楼层
你可以先用一些等带宽或者变带宽的方法提高存储和运算效率。
计算方法方面:迭代方法和分解方法相比更加适合于求解大型稀疏矩阵
对于各种直接解法(分解方法等)虽然计算简单,但是由于大型稀疏矩阵0元素很多,直接接法很影响效率,同时其不能对解的误差进行检查和控制。解的误差主要来自计算机的有效字长,方程组阶数和矩阵的性态。在一定字长条件下,阶数越高,舍入误差越大。矩阵性态越差,一定有效字长的截断误差越大。而大型稀疏矩阵往往随着计算规模的增加,以上性质都会变得更为恶劣,所以解的误差相对较大,甚至有时候不收敛。
而迭代的优点是计算时能够最大限度的节约存储空间,同时对解的误差进行控制,提高计算精度。不足之处是每种迭代只适合某些类型,缺乏一定的通用型,迭代方式选择不当不仅计算慢,而且可能计算不收敛。
对于结构动力学而言常用的求解大型矩阵特征值的方法:
解方程:二维等带宽高斯循环消去法,带状三角分解,分块解法,波前法,jacobi迭代,G-S迭代,共扼梯度法等。
特征值:有反迭代,子空间迭代,ritz向量直接叠加和lanczos方法。工程上比较推荐子空间和lanczos。尤其是后者是默认的标准方法。

关于结构动力学的大型稀疏矩阵的其他内容可以参考王勖成《有限单元法》和K。J。bathe的有限元的书,讲的很详细

PS:以上内容针对结构动力学而谈,其他领域的大型稀疏矩阵的解法和优缺点我不太清楚,无能为力。祝好运:lol :lol

[ 本帖最后由 appleseed05 于 2008-1-15 11:03 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2008-1-15 14:36 | 显示全部楼层
谢谢啦
呵呵
你说的那两本我都找不到啊
我从别的书上找的
我是做电磁场计算的
用稀疏矩阵存储,用不完全桥列斯基分解共轭梯度求解
现在遇到一个问题
我要形成n*n个子快构成的稀疏矩阵
每个子块是
3*3阶
这样总的矩阵阶数为3n*3n阶
子块由循环产生
能不能用sparse指令直接生成矩阵??
还是比需要以矩阵对角线为单位,逐次生成?
发表于 2013-7-14 22:22 | 显示全部楼层

感谢这么中肯的话。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-15 07:28 , Processed in 0.062405 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表