Octave的奇妙功能之一是它如何处理稀疏矩阵。我已经完成了将一些Octave代码复制到fortran中的任务(速度至关重要),具体来说,鉴于稀疏矩阵Sparse(节点,节点),我需要提出子矩阵SubSparse(afew,afew):
r=4;c=6;k=5;nz=r*k;
Sparse=spalloc(r,c,nz);
Sparse(1,1)=1;Sparse(1,2)=2;Sparse(3,5)=4;Sparse(4,6)=6;
SubSparse=Sparse([1,4],[1,6])
完整的矩阵为:
Sparse
1.000 2.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 4.000 0.000
0.000 0.000 0.000 0.000 0.000 6.000
SubSparse
1.000 0.000
0.000 6.000
我已经读过了,这个
我不能做的一件事是重新创建完整的矩阵,因为它们太大而无法放入机器中。
在稀疏矩阵的fortran实现中,我使用Hartwell-Boeing存储,这是由我对SuperLU求解线性系统的要求所决定的。我相信八度的压缩列格式非常相似。
我的问题是,在哪里可以找到(a)执行MWE的第4行时发生的逻辑,以及(b)代码
扬帆大鱼
相关分类