【问题标题】:Python Sparse matrix inverse and laplacian calculationPython稀疏矩阵逆和拉普拉斯计算
【发布时间】:2012-02-12 12:37:58
【问题描述】:

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

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

【问题讨论】:

    标签: python linear-algebra sparse-matrix matrix-inverse


    【解决方案1】:

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

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

    【讨论】:

    • 你好。我有兴趣更好地理解你所说的如何有效地计算稀疏矩阵的逆。你能给我提供一个例子或任何我可以查看的参考吗?谢谢!
    • @Vicent 我不确定你在问什么。我说计算逆矩阵效率不高。
    • 是的......我误解了你的回答,对不起。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 2020-05-25
    相关资源
    最近更新 更多