24小时热门版块排行榜    

查看: 1240  |  回复: 5

dearyx

至尊木虫 (著名写手)

[求助] 高维块三对角线性方程组求解 已有2人参与

目前碰到一个高维(10^6)的块三对角线性方程组的求解(每块稀疏10^4),直接用Matlab的“\”求解,提示内存不够,
用不完全LU分解的预条件“gmres”迭代求解,也不是很快。求助对于该类稀疏块三对角线性方程组有没有比较快速的计算程序和代码?
回复此楼
从来不知想拥有多少的理想,还离不开种种困扰,勉强去掩饰失意的感觉,再次听到昨日的冷嘲!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

希尔伯特

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
dearyx: 金币+10, ★★★很有帮助 2018-11-28 09:57:10
你好,传统求解三对角可以利用追赶法还有分块迭代等等,从程序方面计算量会降低,也可以把三对角用向量描述,不存储稀疏矩阵0元素,可以节省很大的计算量。
2楼2018-11-27 19:59:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dearyx

至尊木虫 (著名写手)

引用回帖:
2楼: Originally posted by 希尔伯特 at 2018-11-27 19:59:05
你好,传统求解三对角可以利用追赶法还有分块迭代等等,从程序方面计算量会降低,也可以把三对角用向量描述,不存储稀疏矩阵0元素,可以节省很大的计算量。

用追赶法试过,因为每个块的维数也比较高(10^4维),效率也不高,分块迭代有相应的算法和代码吗?
从来不知想拥有多少的理想,还离不开种种困扰,勉强去掩饰失意的感觉,再次听到昨日的冷嘲!
3楼2018-11-27 21:04:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

希尔伯特

木虫 (正式写手)

引用回帖:
3楼: Originally posted by dearyx at 2018-11-27 21:04:13
用追赶法试过,因为每个块的维数也比较高(10^4维),效率也不高,分块迭代有相应的算法和代码吗?...

可以考虑看一下AGE迭代法,然后自己编一下程序就行。其实三对角三个向量对角化的,可以拿出来用向量计算
4楼2018-11-29 21:42:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhijian_duan

铁杆木虫 (正式写手)

【答案】应助回帖

楼上说的对,最好拿来用向量计算
功夫不负有心人
5楼2019-01-03 08:50:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

欧阳秦飞雁

新虫 (正式写手)

改用c语言迭代求解呀,matlab比较慢

发自小木虫Android客户端
点滴集成泉
6楼2019-01-06 23:10:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dearyx 的主题更新
信息提示
请填处理意见