# incidence
图关联矩阵
函数库: TyMath
# 语法
I = incidence(G)
# 说明
I = incidence(G) 返回图 G 的稀疏关联矩阵。如果 s 和 t 是 G 中第 j 条边的源和目标节点的节点 ID,则 I[s,j] = -1 且 I[t,j] = 1。即 I 的每一列指示 G 中单条边的源和目标节点。示例
# 示例
图关联矩阵
使用边列表创建一个图,然后计算图关联矩阵。
using TyMath
s = [1, 1, 1, 1, 1];
t = [2, 3, 4, 5, 6];
G = Graph(s, t);
I = incidence(G)
I = 6×5 SparseMatrixCSC{Float64, Int64} with 10 stored entries:
-1.0 -1.0 -1.0 -1.0 -1.0
1.0 ⋅ ⋅ ⋅ ⋅
⋅ 1.0 ⋅ ⋅ ⋅
⋅ ⋅ 1.0 ⋅ ⋅
⋅ ⋅ ⋅ 1.0 ⋅
⋅ ⋅ ⋅ ⋅ 1.0
I 中的每一列包含两个非零项,指示 G 中单条边的端节点。
计算图拉普拉斯矩阵 L,并确认无向图的关系 L = I*I'。
L = TyMath.TyGraphTheory.laplacian(G);
L - I*I'
ans = 6×6 SparseMatrixCSC{Float64, Int64} with 0 stored entries:
⋅ ⋅ ⋅ ⋅ ⋅ ⋅
⋅ ⋅ ⋅ ⋅ ⋅ ⋅
⋅ ⋅ ⋅ ⋅ ⋅ ⋅
⋅ ⋅ ⋅ ⋅ ⋅ ⋅
⋅ ⋅ ⋅ ⋅ ⋅ ⋅
⋅ ⋅ ⋅ ⋅ ⋅ ⋅
有向图的关联矩阵
使用边列表创建一个有向图,然后计算关联矩阵。
using TyMath
s = [1,2,1,3,2,3,3,3];
t = [2,1,3,1,3,4,5,6];
G = DiGraph(s,t)
G =
DiGraph with properties:
Edges:8×1
Nodes:6×0
I = incidence(G)
I = 6×8 SparseMatrixCSC{Float64, Int64} with 16 stored entries:
-1.0 -1.0 1.0 ⋅ 1.0 ⋅ ⋅ ⋅
1.0 ⋅ -1.0 -1.0 ⋅ ⋅ ⋅ ⋅
⋅ 1.0 ⋅ 1.0 -1.0 -1.0 -1.0 -1.0
⋅ ⋅ ⋅ ⋅ ⋅ 1.0 ⋅ ⋅
⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 1.0 ⋅
⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 1.0
I 中的每一列表示 G 中单条边的源和目标节点。
# 输入参数
G - 输入图Graph 对象 | DiGraph 对象
# 输出参数
I - 关联矩阵稀疏矩阵
关联矩阵,以稀疏矩阵形式返回。I 的大小为 numnodes(G)×numedges(G)。对于具有自环的图,未定义图关联矩阵。