retworkx.graph_floyd_warshall_numpy¶
- graph_floyd_warshall_numpy(graph, /, weight_fn=None, default_weight=1.0)¶
Find all-pairs shortest path lengths using Floyd’s algorithm
Floyd’s algorithm is used for finding shortest paths in dense graphs or graphs with negative weights (where Dijkstra’s algorithm fails).
- Parameters
graph (PyGraph) – The graph to run Floyd’s algorithm on
weight_fn –
A callable object (function, lambda, etc) which will be passed the edge object and expected to return a
float
. This tells retworkx/rust how to extract a numerical weight as afloat
for edge object. Some simple examples are:graph_floyd_warshall_numpy(graph, weight_fn: lambda x: 1)
to return a weight of 1 for all edges. Also:
graph_floyd_warshall_numpy(graph, weight_fn: lambda x: float(x))
to cast the edge object as a float as the weight.
- Returns
A matrix of shortest path distances between nodes. If there is no path between two nodes then the corresponding matrix entry will be
np.inf
.- Return type
numpy.ndarray