brainpy.connect.PowerLaw#
- class brainpy.connect.PowerLaw(m, p, directed=False, seed=None, **kwargs)[source]#
Holme and Kim algorithm for growing graphs with powerlaw degree distribution and approximate average clustering.
- Parameters:
Notes
The average clustering has a hard time getting above a certain cutoff that depends on \(m\). This cutoff is often quite low. The transitivity (fraction of triangles to possible triangles) seems to decrease with network size.
It is essentially the Barabási–Albert (BA) growth model with an extra step that each random edge is followed by a chance of making an edge to one of its neighbors too (and thus a triangle).
This algorithm improves on BA in the sense that it enables a higher average clustering to be attained if desired.
It seems possible to have a disconnected graph with this algorithm since the initial \(m\) nodes may not be all linked to a new node on the first iteration like the BA model.
- Raises:
ConnectorError – If \(m\) does not satisfy \(1 <= m <= n\) or \(p\) does not satisfy \(0 <= p <= 1\).
References
Methods
__init__
(m, p[, directed, seed])build_conn
()build connections with certain data type.
build_coo
()Build a coo sparse connection data.
build_csr
()Build a csr sparse connection data.
build_mat
()Build a binary matrix connection data.
require
(*structures)Require all the connection data needed.
requires
(*structures)Require all the connection data needed.
Attributes
is_version2_style