biadjacency_matrix#

biadjacency_matrix(G, row_order, column_order=None, dtype=None, weight='weight', format='csr')[源码]#

返回二分图 G 的双邻接矩阵。

G = (U, V, E) 是一个二分图,其节点集分别为 U = u_{1},...,u_{r}V = v_{1},...,v_{s}。双邻接矩阵 [1] 是一个 r x s 矩阵 B,其中 b_{i,j} = 1 当且仅当 (u_i, v_j) in E。如果参数 weight 不是 None 并且与边的属性名匹配,则使用该属性值代替 1。

参数:
G

NetworkX 图

row_order节点列表

矩阵的行按照节点列表进行排序。

column_order列表, 可选

矩阵的列按照节点列表进行排序。如果 column_order 为 None,则列的顺序是任意的。

dtypeNumPy 数据类型, 可选

用于初始化数组的有效 NumPy dtype。如果为 None,则使用 NumPy 默认值。

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

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

format字符串,取值为 {‘bsr’, ‘csr’, ‘csc’, ‘coo’, ‘lil’, ‘dia’, ‘dok’}

要返回的矩阵类型 (默认为 'csr')。对于某些算法,不同的稀疏矩阵实现可能会有更好的性能。详情请参阅 [2]

返回:
MSciPy 稀疏数组

二分图 G 的双邻接矩阵表示。

另请参阅

adjacency_matrix
from_biadjacency_matrix

注意

不检查输入图是否为二分图。

对于有向二分图,仅将后继节点视为邻居。要获得一个包含前驱和后继节点(值为 1 或权重值)的邻接矩阵,您必须生成两个双邻接矩阵,其中一个的行是另一个的列,然后将一个矩阵与另一个的转置相加。

参考文献