邻接矩阵#

adjacency_matrix(G, nodelist=None, dtype=None, weight='weight')[source]#

返回 G 的邻接矩阵。

参数
G

一个 NetworkX 图

nodelist列表, 可选

行和列按照 nodelist 中的节点进行排序。如果 nodelist=None (默认),则排序由 G.nodes() 生成。

dtypeNumPy 数据类型, 可选

数组所需的数据类型。如果为 None,则使用 NumPy 默认值。

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

用于提供矩阵中每个值的边数据键。如果为 None,则每条边的权重为 1。

返回
ASciPy 稀疏数组

G 的邻接矩阵表示。

另请参阅

to_numpy_array
to_scipy_sparse_array
to_dict_of_dicts
邻接谱

注意

对于有向图,条目 i, j 对应于从 ij 的边。

如果您想要一个纯 Python 的邻接矩阵表示,请尝试 to_dict_of_dicts(),它将返回一个字典嵌套字典的格式,可以像稀疏矩阵一样进行寻址。

对于具有平行边的多图,权重会被求和。有关其他选项,请参阅 networkx.convert_matrix.to_numpy_array()

图中用于自环边的约定是,将对角线矩阵条目值分配给边的权重属性(如果边没有权重属性,则为数字 1)。如果需要将边的权重加倍的替代约定,可以将生成的 SciPy 稀疏数组进行如下修改

>>> G = nx.Graph([(1, 1)])
>>> A = nx.adjacency_matrix(G)
>>> A.toarray()
array([[1]])
>>> A.setdiag(A.diagonal() * 2)
>>> A.toarray()
array([[2]])

其他后端实现了此函数

graphblas : 支持 OpenMP 的稀疏线性代数后端。