scipy.sparse.csgraph.laplacian

scipy.sparse.csgraph.laplacian(csgraph, normed=False, return_diag=False, use_out_degree=False)[源代码]

返回有向图的拉普拉斯矩阵。

参数
csgraph类阵列或稀疏矩阵,2维

压缩-稀疏图形,形状为(N,N)。

normed布尔值,可选

如果为True,则计算对称规范化拉普拉斯。

return_diag布尔值,可选

如果为True,则还返回与顶点度数相关的数组。

use_out_degree布尔值,可选

如果为True,则使用Out-Degree而不是In-Degree。只有当图形是不对称的时,这种区别才重要。默认值:False。

退货
lapndarray或稀疏矩阵

csgraph的N×N拉普拉斯矩阵。如果输入是密集的,则它将是NumPy数组(密集),否则将是稀疏矩阵。

diagndarray,可选

拉普拉斯矩阵的长度为N的对角线。对于规格化的拉普拉斯,这是顶点度的平方根数组,如果次数为零,则为1。

注意事项

图的拉普拉斯矩阵有时被称为“基尔霍夫矩阵”或“导纳矩阵”,在谱图理论的许多部分都很有用。特别地,拉普拉斯矩阵的特征分解可以深入了解图的许多性质。

示例

>>> from scipy.sparse import csgraph
>>> G = np.arange(5) * np.arange(5)[:, np.newaxis]
>>> G
array([[ 0,  0,  0,  0,  0],
       [ 0,  1,  2,  3,  4],
       [ 0,  2,  4,  6,  8],
       [ 0,  3,  6,  9, 12],
       [ 0,  4,  8, 12, 16]])
>>> csgraph.laplacian(G, normed=False)
array([[  0,   0,   0,   0,   0],
       [  0,   9,  -2,  -3,  -4],
       [  0,  -2,  16,  -6,  -8],
       [  0,  -3,  -6,  21, -12],
       [  0,  -4,  -8, -12,  24]])