回 帖 发 新 帖 刷新版面

主题:请问:如何编程解10000×10000的线性方程组?

所求方程为线性方程组Ax=b
A大约是10000×10000个元素的矩阵
直接用声明A数组好像不行 元素个数ms太多了 系统不支持
不知道这类问题有什么办法解决没有?谢谢!

回复列表 (共13个回复)

沙发

用Allocate

板凳

按照双精度
10000×10000×8Byte=762.9M
大于栈默认的空间(1M),只能放在heap上,所以使用动态数组

3 楼


方程组有什么特点?三对角还是五对角的吗?

4 楼

我用了 allocate(ita(3*N,3*N))
其中 N=36000
然后报告 "cannot allocate array, overflow on array size calculation"
看来allocate也不行啊

5 楼

开玩笑,36000*3!!!那是多大啊。。。
你要想整这么大规模的,一是分块儿,二是去64位超级计算机上整。。。

6 楼

(36000*3)*(36000*3)*8字节约为87GB~~~~~32位系统是绝对不可能承受得了这么大的连续空间的~~~~

7 楼

有限元一般划分网格也超级多啊 不知道那些商业有限元软件是用什么办法来解决这类问题的?

8 楼

[quote]有限元一般划分网格也超级多啊 不知道那些商业有限元软件是用什么办法来解决这类问题的?[/quote]
稀疏存储,以时间换空间

9 楼

I fuller U~~~~
FEA竟然用满阵?
您要不先看看FEAP吧。或是看看王勖成的《有限单元法》,这东东一般是只存上三角且用带状存储。。。

10 楼

我用的不是有限元,我只是想知道有限元存储是怎么做到的。
可惜的我的矩阵不是稀疏阵,真的有点窘了。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册