模块文档

未文档化

函数 _bipartite_projection 将二部图投影到两个单模图中。投影时忽略边的方向。
函数 _bipartite_projection_size 根据指定的顶点类型,计算此图的二部投影中的顶点和边数量。如果您有一个二部图并且想估算计算投影本身所需的内存量,这将非常有用。
函数 _maximum_bipartite_matching 在二部图中寻找最大匹配。
def _bipartite_projection(graph, types='type', multiplicity=True, probe1=-1, which='both'): (源代码)

将二部图投影到两个单模图中。投影时忽略边的方向。

示例

>>> g = Graph.Full_Bipartite(10, 5)
>>> g1, g2 = g.bipartite_projection()
>>> g1.isomorphic(Graph.Full(10))
True
>>> g2.isomorphic(Graph.Full(5))
True
参数
graph未文档化
types一个包含顶点类型的 igraph 向量,或一个属性名称。任何求值为False都对应于第一种类型的顶点,其他所有值则对应于第二种类型的顶点。
multiplicity如果True,则 igraph 会在投影中的边上保留其重数,存储在一个名为"weight"的边属性中。例如,如果二部图中存在 A-C-B 和 A-D-B 三元组,并且除了 X=B 和 X=D 之外没有其他 X 使得 A-X-B 三元组在二部图中存在,那么投影中 A-B 边的重数将为 2。
probe1此参数可用于指定结果列表中投影的顺序。如果给定且为非负数,则将其视为顶点 ID;包含该顶点的投影将是结果中的第一个。
which此参数可用于指定在只需要其中一个投影时应返回哪个投影。在此处传入 0 意味着只返回第一个投影,而传入 1 意味着只返回第二个投影。(请注意,我们使用 0 和 1 是因为 Python 索引是基于零的)。False等价于 0,而True等价于 1。任何其他值意味着两个投影都将以元组形式返回。
返回
一个包含两个投影单模图的元组,如果which不为 1 或 2,或者由which参数指定的投影单模图(如果其值为 0, 1,)。FalseTrue.
def _bipartite_projection_size(graph, types='type', *args, **kwds): (源代码)

根据指定的顶点类型,计算此图的二部投影中的顶点和边数量。如果您有一个二部图并且想估算计算投影本身所需的内存量,这将非常有用。

参数
graph未文档化
types一个包含顶点类型的 igraph 向量,或一个属性名称。任何求值为False都对应于第一种类型的顶点,其他所有值则对应于第二种类型的顶点。
*args未文档化
**kwds未文档化
返回
一个包含第一个投影中顶点和边数量,以及第二个投影中顶点和边数量的 4 元组。
def _maximum_bipartite_matching(graph, types='type', weights=None, eps=None): (源代码)

在二部图中寻找最大匹配。

最大匹配是一组边,其中每个顶点最多与一条匹配边相邻,且集合中此类边的数量(或权重)尽可能大。

参数
graph未文档化
types列表中的顶点类型或包含顶点类型的顶点属性名称。类型应由零和一(或FalseTrue)表示二部图的两侧。如果省略,则默认为type,这是二部图的默认顶点类型属性。
weights要使用的边权重。可以是序列、可迭代对象,甚至是边属性名称。
eps在加权二部图匹配算法中用于相等性测试的一个小实数。如果两个实数之间的差值小于此值,则在算法中认为它们相等。这对于避免数值误差的累积是必需的。如果您在此处传递None,igraph 将尝试自动确定一个合适的值。
返回
一个 Matching 实例。