首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python稀疏矩阵求逆与拉普拉斯计算

Python稀疏矩阵求逆与拉普拉斯计算
EN

Stack Overflow用户
提问于 2012-02-12 20:37:58
回答 1查看 1.5K关注 0票数 3

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

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

EN

回答 1

Stack Overflow用户

发布于 2012-02-12 20:47:29

一般来说,稀疏矩阵的逆矩阵不是稀疏的,这就是为什么你在线性代数库中找不到稀疏矩阵逆矩阵的原因。由于D是对角线的,所以D^(-1/2)是微不足道的,因此拉普拉斯矩阵的计算也很容易写下来。L具有与A相同的稀疏模式,但是每个值A_{ij}都乘以(D_i*D_j)^{-1/2}。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9248821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档