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