ScaleFreeBADual

ScaleFreeBADual#

class brainpy.connect.ScaleFreeBADual(m1, m2, p, directed=False, seed=None, **kwargs)[source]#

Build a random graph according to the dual Barabási–Albert preferential attachment model.

A graph of :math::num_node nodes is grown by attaching new nodes each with either $m_1$ edges (with probability \(p\)) or \(m_2\) edges (with probability \(1-p\)) that are preferentially attached to existing nodes with high degree.

Parameters:
  • m1 (int) – Number of edges to attach from a new node to existing nodes with probability \(p\)

  • m2 (int) – Number of edges to attach from a new node to existing nodes with probability \(1-p\)

  • p (float) – The probability of attaching \(m\_1\) edges (as opposed to \(m\_2\) edges)

  • seed (integer, random_state, or None (default)) – Indicator of random number generation state.

Raises:

ConnectorError – If m1 and m2 do not satisfy 1 <= m1,m2 < n or p does not satisfy 0 <= p <= 1.

References

build_mat(isOptimized=True)[source]#

Build a binary matrix connection data.

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 binary matrix with the shape (num_pre, num_post).

Return type:

Array