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
xs
矩阵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