incidence_matrix#

incidence_matrix(G, nodelist=None, edgelist=None, oriented=False, weight=None, *, dtype=None)[source]#

返回图 G 的关联矩阵。

关联矩阵将每一行分配给一个节点,每一列分配给一条边。对于标准关联矩阵,在行的节点与列的边相交的任何地方出现 1。对于有向关联矩阵,每条边被分配一个方向(对于无向图是任意的,对于有向图是与方向一致的)。对于边的源(尾)出现 -1,对于边的目标(头)出现 1。其他元素为零。

Parameters:
G

一个 NetworkX 图

nodelist列表, 可选 (默认= G 中的所有节点)

行按照 nodelist 中的节点顺序排列。 如果 nodelist 为 None,则顺序由 G.nodes() 生成。

edgelist列表, 可选 (默认= G 中的所有边)

列按照 edgelist 中的边顺序排列。 如果 edgelist 为 None,则顺序由 G.edges() 生成。

oriented: 布尔值, 可选 (默认=False)

如果为 True,矩阵元素对于每条边的头或尾节点分别为 +1 或 -1。如果为 False,则在两个节点都出现 +1。

weight字符串或 None, 可选 (默认=None)

用于提供矩阵中每个值的边数据键。 如果为 None,则每条边的权重为 1。如果使用边权重,应为正值,以便方向可以提供符号。

dtypeNumPy 数据类型或 None (默认=None)

输出稀疏数组的数据类型。该类型应与 weight 参数兼容,例如,如果 weight 返回浮点数,则此参数也应为浮点数。 如果为 None,则使用 SciPy 的默认值。

Returns:
ASciPy 稀疏数组

G 的关联矩阵。

Notes

对于 MultiGraph/MultiDiGraph,edgelist 中的边应为 (u,v,key) 3 元组。

“网络是应用数学中许多问题的最佳离散模型” [1]

References

[1]

Gil Strang, 网络应用: A = 关联矩阵, http://videolectures.net/mit18085f07_strang_lec03/