biadjacency_matrix#

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

返回二分图 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。

Parameters:
G

一个 NetworkX 图

row_order节点列表

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

column_order节点列表, 可选

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

dtypeNumPy 数据类型, 可选

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

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

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

format字符串 {‘bsr’, ‘csr’, ‘csc’, ‘coo’, ‘lil’, ‘dia’, ‘dok’} 中的一个

返回矩阵的类型(默认 ‘csr’)。对于某些算法,不同实现的稀疏矩阵性能可能更好。详见 [2]

Returns:
MSciPy 稀疏数组

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

See also

adjacency_matrix
from_biadjacency_matrix

Notes

没有尝试检查输入图是否为二分图。

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

References