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

问题描述 投票:1回答:1

我想知道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在求解器中进行索引的可能性较小,稀疏矩阵必须在求解器中使用之前进行索引。这些只是我的猜测。有人可以对这个问题有所了解吗?谢谢。

matlab memory-management sparse-matrix matrix-multiplication
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.