如何在python中得到稀疏图拉普拉斯矩阵?

2024-07-02 12:50:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csr格式的稀疏矩阵AA是无向图的加权邻接矩阵,因此是对称的非负的。我要计算它的图Lapalican。在

我以前在MATLAB工作,代码非常简单:

L = diag(sum(A,2)) - A   % or L=diag(sum(A))-A because A is symmetric

但是我们如何用Python实现呢?我不熟悉Python中的稀疏矩阵。我只能想出一个相当难看的解决方案:

^{pr2}$

有人知道更优雅的解决方案吗?在


Tags: or代码is格式矩阵解决方案diagsum
1条回答
网友
1楼 · 发布于 2024-07-02 12:50:32

这是networkX library对稀疏矩阵a的处理方式-与您的方法非常相似,只是有一些小的改进(保持所有内容稀疏):

n,m = A.shape
diags = A.sum(axis=1)
D = sps.spdiags(diags.flatten(), [0], m, n, format='csr')
D - A

相关问题 更多 >