rustworkx.digraph_adjacency_matrix#

digraph_adjacency_matrix(graph, /, weight_fn=None, default_weight=1.0, null_value=0.0, parallel_edge='sum')#

返回PyDiGraph对象的邻接矩阵

对于节点之间存在多条边的情况,输出矩阵中的数值将根据给定的参数进行分配。目前,支持最小值、最大值、平均值以及默认求和方式。

Parameters:
  • graph (PyDiGraph) – 用于生成邻接矩阵的有向图

  • weight_fn (callable) –

    一个可调用对象(函数、lambda表达式等),它会被传入边对象,并期望返回一个float。这告诉 rustworkx/rust 如何从边对象提取一个数值权重作为float。一些简单的示例如:

    dag_adjacency_matrix(dag, weight_fn: lambda x: 1)
    

    为所有边返回权重1。还有:

    dag_adjacency_matrix(dag, weight_fn: lambda x: float(x))
    

    将边对象转换为浮点数作为权重。如果未指定此参数,则所有边将使用默认值(default_weight或1)。

  • default_weight (float) – 如果未使用 weight_fn,此参数可 选择性地用于指定所有边的默认权重。

  • null_value (float) – 一个可选的浮点数,将被视为空值。这是输出矩阵中的默认值,用于表示两个节点之间不存在边。默认情况下为0.0

  • parallel_edge (String) –

    该可选参数决定函数如何处理平行边

    "min" 会使输出矩阵中的值为各边权重的最小值,类似的机制也适用于 "max""avg". 函数默认采用 "sum" 机制,此时输出矩阵中的值为所有平行边权重的总和

    返回:

    输入有向图的邻接矩阵,以numpy数组形式呈现

    返回类型:

    numpy.ndarray