其中A是万阶稀疏矩阵,怎么求x,A用什么方法存储能

 我来答
分公司前
2017-01-02 · TA获得超过5403个赞
知道大有可为答主
回答量:5119
采纳率:31%
帮助的人:308万
展开全部
"但稀疏存储 在进行运算时也要还原满矩阵啊",That's not the truth.如果打算深入研究的话你可以看看
Direct methods for sparse linear systems,by Tim Davis
Iterative Methods for Sparse Linear Systems
这两本书.
当使用 Matlab x = A\b 反斜杠操作时,如果 A 是稀疏阵,使用的针对稀疏阵的类似高斯消去法的直接求解算法.使用这种算法会插入一些非零元,使得存储量增加,但不会使之成为 full matrix.
对于大型稀疏线性方程组求解,如果MATLAB提示内存不足,有两种解决方案,1 是使用更大内存的计算机或者使用 out of core 的模式(我不清楚 matlab 是否有 out of core 的模式).2.你可以尝试稀疏矩阵的迭代法求解,比如带有各种预处理的 gmres,cg 等方法.matlab 自带有 gmres 这个函数,你也可以尝试一下.
当然,无论是直接法还是迭代法,in core 还是 out of core,32bit 的机器总有一个极限.在这个时候,你就只能采取使用 64bit 平台,然后加大内存,使用并行这些策略了.By the way,对于真正的上百万阶,千万阶的大型稀疏线性方程组来说,matlab 并不是最好的选择,你还是应该寻求 Fortran,C 这些更高效的语言.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式