preferential_attachment_graph(aseq, p, create_using=None, seed=None)[source]#

Create a bipartite graph with a preferential attachment model from a given single degree sequence.

The graph is composed of two partitions. Set A has nodes 0 to (len(aseq) - 1) and set B has nodes starting with node len(aseq). The number of nodes in set B is random.


Degree sequence for node set A.


Probability that a new bottom node is added.

create_usingNetworkX graph instance, optional

Return graph of this type.

seedinteger, random_state, or None (default)

Indicator of random number generation state. See Randomness.


The nodes are assigned the attribute ‘bipartite’ with the value 0 or 1 to indicate which bipartite set the node belongs to.

This function is not imported in the main namespace. To use it use nx.bipartite.preferential_attachment_graph



Guillaume, J.L. and Latapy, M., Bipartite graphs as models of complex networks. Physica A: Statistical Mechanics and its Applications, 2006, 371(2), pp.795-813.


Jean-Loup Guillaume and Matthieu Latapy, Bipartite structure of all complex networks, Inf. Process. Lett. 90, 2004, pg. 215-221