OOO*_*OOO 5 matlab matrix scientific-computing equation-solving
问题:A是正方形,满级,稀疏和带状.在Matlab中有太多的元素存储为单个矩阵(至少~4.6*10 18,理想情况下~10 40,两者都超过最大数组大小.编辑:A存储为稀疏,问题不是内存有限,但元素数量有限).因此,我必须将其存储为较小数组(行/对角线/列/块)的集合.
寻找:一种解决Ax = b的方法,A给定为较小数组的集合.理想情况下,在Matlab中,但不是必须的.
或者,如果不是在Matlab中:也许有一个程序可以存储和解决这么大的A?
到目前为止找到:方法如果A是三/五对角线,但我的A有N个对角线.还发现了一些关于将A分区为块的问题,但是找不到用这些块解决线性系统的方法.
ps系统是64位.
感谢大家!
如果您可以访问 MATLAB 的并行计算工具箱以及 MATLAB 分布式计算服务器,则可以将其存储为A
,distributed array
换句话说,其元素分布在集群中多台机器的内存中的单个数组。您可以直接在分布式数组上调用 MATLAB 的反斜杠命令,MATLAB 会为您处理并行化。