Skip to main content
`Ctrl`+`K`

# scale_free_graph

scale_free_graph(n, alpha=0.41, beta=0.54, gamma=0.05, delta_in=0.2, delta_out=0, seed=None, initial_graph=None)

  Returns a scale-free directed graph.

  Parameters:
    n integer

      Number of nodes in graph

    alpha float

      Probability for adding a new node connected to an existing node chosen randomly according to the in-degree distribution.

    beta float

      Probability for adding an edge between two existing nodes. One existing node is chosen randomly according the in-degree distribution and the other chosen randomly according to the out-degree distribution.

    gamma float

      Probability for adding a new node connected to an existing node chosen randomly according to the out-degree distribution.

    delta_in float

      Bias for choosing nodes from in-degree distribution.

    delta_out float

      Bias for choosing nodes from out-degree distribution.

    seed integer, random_state, or None (default)

      Indicator of random number generation state. See Randomness.

    initial_graph MultiDiGraph instance, optional

      Build the scale-free graph starting from this initial MultiDiGraph, if provided.

  Returns:
    MultiDiGraph

  Notes

  The sum of `alpha`, `beta`, and `gamma` must be 1.

  References

  [1]

  B. Bollobás, C. Borgs, J. Chayes, and O. Riordan, Directed scale-free graphs, Proceedings of the fourteenth annual ACM-SIAM Symposium on Discrete Algorithms, 132–139, 2003.

  Examples

  Create a scale-free graph on one hundred nodes:

      >>> G = nx.scale_free_graph(100)