Python稀疏矩阵逆和拉普拉斯计算



我有两个稀疏矩阵A(亲和矩阵)和D(对角矩阵),维数为100000*100000。我必须计算拉普拉斯矩阵L=D^(-1/2)*A*D^(-1-2)。我使用scipy CSR格式作为稀疏矩阵。

我没有找到任何方法来找到稀疏矩阵的逆。如何求稀疏矩阵的L和逆?还建议使用python这样做有效吗?还是我应该调用matlab函数来计算L?

通常,稀疏矩阵的逆不是稀疏的,这就是为什么在线性代数库中找不到稀疏矩阵反相器的原因。由于D是对角的,因此D^(-1/2)是平凡的,因此拉普拉斯矩阵的计算是平凡的。L具有与A相同的稀疏性模式,但是每个值A_。

关于逆的问题,标准的方法总是避免计算逆本身。不是计算L^-1,而是重复求解未知x的Lx=b。所有好的矩阵求解器都允许您分解L,这是昂贵的,然后重复反向替换(这是便宜的)b的每个值。

相关内容

  • 没有找到相关文章

最新更新