如何快速选择稀疏矩阵的子矩阵(matlab)

计算科学 matlab 稀疏矩阵
2021-12-06 03:29:55

我有一个大的稀疏矩阵 A,我想选择它的子矩阵来进行块 jacobi 迭代。

对于块,我得到了一个矩阵 Q,其中包含其第 J 列中非零条目的索引,定义了第 J 个块的节点。

我的代码是:

for i=1:J
lg=find(Q(level).agg(:,i));
D(i).matrix=inv((sparse(A(lg,lg))));
end
D_inverse=sparse(blkdiag(D(1:J).matrix));

我发现操作 A(lg,lg) 花费很多时间,因为 A 是稀疏格式,

有没有其他方法可以快速有效地实现这个目的(构建 D_inverse)?

谢谢

0个回答
没有发现任何回复~