# laplacian


图拉普拉斯矩阵

函数库: TyMath

# 语法

L = laplacian(G)

# 说明

L = laplacian(G) 返回图拉普拉斯矩阵 L。每个对角条目 L[j,j] 由节点 j 的度 degree(G,j) 给出。L 的非对角条目表示 G 中的边,这样,如果节点 i 和 j 之间存在一条边,则 L[i,j] = L[j,i] = -1;否则 L[i,j] = L[j,i] = 0。输入图 G 不能是多重图,也不能包含自环,且边权重将被忽略。示例

# 示例

图关联矩阵

使用边列表创建一个图,然后计算图拉普拉斯矩阵。

using TyMath
s = [1, 1, 1, 1, 1];
t = [2, 3, 4, 5, 6];
G = Graph(s, t);
L = TyMath.TyGraphTheory.laplacian(G)
L = 6×6 SparseMatrixCSC{Int64, Int64} with 16 stored entries:
  5  -1  -1  -1  -1  -1
 -1   1   ⋅   ⋅   ⋅   ⋅
 -1   ⋅   1   ⋅   ⋅   ⋅
 -1   ⋅   ⋅   1   ⋅   ⋅
 -1   ⋅   ⋅   ⋅   1   ⋅
 -1   ⋅   ⋅   ⋅   ⋅   1

L 的对角线元素指示节点的度,即 L[j,j] 是节点 j 的度。

计算图关联矩阵 I,并确认关系 L = I*I'。

I = incidence(G);
L - I*I'
ans = 6×6 SparseMatrixCSC{Float64, Int64} with 0 stored entries:
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅

# 输入参数

G - 输入图
Graph 对象

输入图,指定为 Graph对象。可使用 Graph 创建一个无向图对象。

示例: G = Graph(1,2)

# 输出参数

L - 拉普拉斯矩阵
稀疏矩阵

拉普拉斯矩阵。L 是对称的稀疏方阵,大小为 numnodes(G)×numnodes(G)。对于具有自环的图,未定义图拉普拉斯矩阵。

# 另请参阅

adjacency | incidence | Graph