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]])