邻接矩阵#
- 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
对应于从i
到j
的边。如果您想要一个纯 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 的稀疏线性代数后端。