24小时热门版块排行榜    

查看: 1907  |  回复: 17
当前主题已经存档。

oytxtu

铁杆木虫 (正式写手)

[交流] 【求助】如何快速的求矩阵的逆

如题
在详细点,就是:如何快速的地求超稀疏矩阵的逆

各位计算物理高手们,是否能提供一些优秀的、快速的算法
给俺!

先谢过了哦!

回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

handsomeland

金虫 (正式写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
GrasaVampiro(金币+10,VIP+0):很好的回复 6-16 09:21
坦白说,楼上的回复没有一个说到点子上。
比如说用什么软件,什么函数,而至于其算法,均一概没有谈及。
回复之前,我也不太清楚,但算法和编程刚好我也有兴趣,探索一下算法对以后编写小工具可能有潜在的帮助。所以我做了一番文献阅读,尽管我尚没有时间写出实现的算法尝试,但现在我既然决定回复,我相信楼主能看得出我下面的回复是负责任的。
----------------------------------------------------
说明,下面讨论仅限于实数矩阵,不保证所有算法对复数矩阵有效。

1、一般的mxn(m<=n)矩阵,应用Gauss-Jordan降秩算法,应用可能不多,但具有普遍意义,具体过程在参考文献中。
http://www.instrument.com.cn/ilog/handsomeland/
13楼2009-06-15 17:02:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

ipip135

铜虫 (初入文坛)


GrasaVampiro(金币+1,VIP+0):3ks
可以先分块吧?

matlab里面应该有些现成的算法
2楼2009-01-13 14:19:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

quantumfang

至尊木虫 (著名写手)

小木虫中医研究院院长


GrasaVampiro(金币+1,VIP+0):3ks
用fortran的话,imsl数学库是一个不错的选择,win、linux都支持。帮助文件介绍很详细:
v6.0 P.P.1596

如果A是一个稀疏矩阵。那么其逆为
.i.A
帮助文件给出了详细例子(限于篇幅,省略):
Sparse Matrix Example
Dense Matrix Example

实际上,不管是matlab,mathmatica,还是imsl,好多算法都是在LAPACK和BLAS基础上改进的
3楼2009-01-13 18:56:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

oytxtu

铁杆木虫 (正式写手)


GrasaVampiro(金币+1,VIP+0):3ks
回复楼上
我用的是Compaq Visual Fortran 6
库函数中是有一些很好的模块
但是,在计算较大的矩阵的时候
比较费时间
我想能否通过修改算法,获得更快的,更好的程序!
不知道,你有什么好的建议没有!
4楼2009-01-13 20:02:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xufei015

金虫 (正式写手)

同求同求啊!
5楼2009-01-13 21:21:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小虫虫5591

铜虫 (小有名气)


musi429(金币+1,VIP+0):thanks~
用Fortran语言搞下就可以了,应该一般的搞科研的用FORTRAN程序的都有这个子程序包,你拿来调用一下就可以。
6楼2009-01-13 21:55:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

oytxtu

铁杆木虫 (正式写手)

程序包是可以调用
重要的是,在计算较大的矩阵的时候,速度慢了
希望大家探讨一下,我们是否可以通过对矩阵进行处理
或者是对算法进行改进,获得更优秀的程序!
7楼2009-01-14 09:06:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

quantumfang

至尊木虫 (著名写手)

小木虫中医研究院院长


musi429(金币+1,VIP+0):thanks~
引用回帖:
Originally posted by oytxtu at 2009-1-14 09:06:
在计算较大的矩阵的时候,速度慢了
希望大家探讨一下,我们是否可以通过对矩阵进行处理
或者是对算法进行改进,获得更优秀的程序!

这就爱莫能助了。

自己编写的应该比数学库快一点,因为imsl库包含很多我们用不到的模块和一些基于特殊目的考虑。

从我使用imsl的经验来看,感觉imsl中用的算法已经够经典了,只要没用错,结果可靠,速度也不错。要超越imsl还是很不容易的。

我觉得大型矩阵的求解本来就应该很慢,计算量随矩阵大小指数增加,即使是“稀疏”的。

我想多处理器并行计算也许能达到你的目的。
8楼2009-01-14 10:36:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hxgxtu

木虫 (小有名气)


musi429(金币+1,VIP+0):thanks~
fortran 的子程序包里有,在imsl可以直接调用!好像有的版本不能调用!
如果矩阵有规则的话,比如稀疏矩阵,可以找相应的稀疏矩阵的算法,一般的矩阵(不规则的),只有按部就班的做了,费时也没办法!
9楼2009-01-14 13:39:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

oytxtu

铁杆木虫 (正式写手)

楼上,你能举几个稀疏矩阵算法的列子吗??
谢谢
10楼2009-01-14 19:15:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 oytxtu 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见