# SmallWorld#

class brainpy.connect.SmallWorld(num_neighbor, prob, directed=False, include_self=False, seed=None, **kwargs)[source]#

Build a Watts–Strogatz small-world graph.

Parameters:
• num_neighbor (int) – Each node is joined with its k nearest neighbors in a ring topology.

• prob (float) – The probability of rewiring each edge

• directed (bool) – Whether the graph is a directed graph.

• include_self (bool) – Whether include the node self.

Notes

First create a ring over $$num\_node$$ nodes [1]. Then each node in the ring is joined to its $$num\_neighbor$$ nearest neighbors (or $$num\_neighbor - 1$$ neighbors if $$num\_neighbor$$ is odd). Then shortcuts are created by replacing some edges as follows: for each edge $$(u, v)$$ in the underlying “$$num\_node$$-ring with $$num\_neighbor$$ nearest neighbors” with probability $$prob$$ replace it with a new edge $$(u, w)$$ with uniformly random choice of existing node $$w$$.

References

build_conn()[source]#

build connections with certain data type.

If users want to customize their connections, please provide one of the following functions:

• build_mat(): build a matrix binary connection matrix.

• build_csr(): build a csr sparse connection data.

• build_coo(): build a coo sparse connection data.

• build_conn(): deprecated.

Returns:

conn – A tuple with two elements: connection type (str) and connection data. For example: return 'csr', (ind, indptr) Or a dict with three elements: csr, mat and coo. For example: return dict(csr=(ind, indptr), mat=None, coo=None)

Return type: