# 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)。对于具有自环的图,未定义图拉普拉斯矩阵。