方程组稀疏矩阵索引的MATLAB存储器管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了方程组稀疏矩阵索引的MATLAB存储器管理相关的知识,希望对你有一定的参考价值。

我想知道MATLAB如何为包括稀疏矩阵索引的以下方程组进行内存管理。

x = A(indices,indices)  b(indices);

A是稀疏对称矩阵,b是列向量,indices具有A元素的索引,包含在方程组Ax = b中。

我认为A存储为CSC(压缩稀疏列)。然后使用不同的CSC数据将其临时存储在存储器中。新的CSC最终用于b(indices)方程组,类似于以下内容:

Aindexed = A(indices,indices); % New symmetric sparse matrix
bindexed = b(indices);
x = Aindexed  bindexed;

MATLAB是否有特殊的稀疏求解器和矩阵索引?我认为MATLAB在求解器中进行索引的可能性较小,稀疏矩阵必须在求解器中使用之前进行索引。这些只是我的猜测。有人可以对这个问题有所了解吗?谢谢。

答案

稀疏线性求解器通常使用基于链表或邻接结构的存储方案。第一种方法更灵活,允许容易地包含新元素,压缩等。第二种方案在RAM要求方面是经济的,并且还为处理算法提供了更好的性能,但是不可能包含/排除元素。如果您访问以下博客,可以找到更多信息并询问具体问题:http://comecau.blogspot.com/2018_09_05_archive.html

以上是关于方程组稀疏矩阵索引的MATLAB存储器管理的主要内容,如果未能解决你的问题,请参考以下文章

如何对存储为“压缩稀疏行”的矩阵进行稀疏矩阵索引?

matlab解方程组Ax=b

MATLAB Coder:稀疏矩阵

Matlab求解具有强状态相关质量矩阵的 ODE

矩阵方程。 AX=B B在啥情况下一定有解

多维数组-矩阵的压缩存储- 稀疏矩阵(一)