Note

This is the documentation for the current state of the development branch of rustworkx. The documentation or APIs here can change prior to being released.

rustworkx.adjacency_matrix#

adjacency_matrix(graph, weight_fn=None, default_weight=1.0, null_value=0.0)[source]#

Return the adjacency matrix for a graph object

In the case where there are multiple edges between nodes the value in the output matrix will be the sum of the edges’ weights.

Parameters:
  • graph – The graph used to generate the adjacency matrix from. Can either be a PyGraph or PyDiGraph

  • weight_fn (callable) –

    A callable object (function, lambda, etc) which will be passed the edge object and expected to return a float. This tells rustworkx/rust how to extract a numerical weight as a float for edge object. Some simple examples are:

    adjacency_matrix(graph, weight_fn: lambda x: 1)
    

    to return a weight of 1 for all edges. Also:

    adjacency_matrix(graph, weight_fn: lambda x: float(x))
    

    to cast the edge object as a float as the weight. If this is not specified a default value (either default_weight or 1) will be used for all edges.

  • default_weight (float) – If weight_fn is not used this can be optionally used to specify a default weight to use for all edges.

  • null_value (float) –

    An optional float that will treated as a null

    value. This is the default value in the output matrix and it is used to indicate the absence of an edge between 2 nodes. By default this is 0.0.

    return:

    The adjacency matrix for the input dag as a numpy array

    rtype:

    numpy.ndarray