pyeeg.simulate.JRNetwork

class pyeeg.simulate.JRNetwork(N=2, W=array([[0, 1], [0, 0]]), delay=0.01, w=0.8, node_dynamics=None, dt=0.001, seed=42)

Network of coupled Jansen-Rit extended neural-mass nodes.

Each node is an JansenRitExtended cortical column; nodes are coupled through the connectivity matrix W with a delay delay and activity-dependent normalisation of the coupling strengths.

Notes

Two types of networks are modelled in the literature: either one when the mean input and variance of the input are controlled for each node, such that the input received from connected nodes is normalised and will relatively shut down contribution from external input, or one where the input is not normalised and the external input is simply summed over the input from connected nodes. The latter is seen in [2] and [3], while the former is seen in [4] & [5].

  • [1] Jansen, B. H., & Rit, V. G. (1995). Electroencephalogram and visual evoked potential generation in a mathematical model of coupled cortical columns. Biological cybernetics, 73(4), 357-366.

  • [2] Kazemi & Jamali, (2022). Phase synchronization and measure of criticality in a network of neural mass models. Nature.

  • [3] Forrester et al. (2020). Network Neuroscience. The role of node dynamics in shaping emergent functional connectivity patterns in the brain. PMC.

  • [4] David & Friston (2006). NeuroImage. A Neural mass model for MEG/EEG: coupling and neuronal dynamics. ScienceDirect.

  • [5] David et al., (2004). Evaluation of different measures of functional connectivity using a neural mass model. ScienceDirect.

Methods

JRNetwork.reset()

Reset the network to its initial state.

JRNetwork.simulate([tmax, P, sigma_p])

Simulate the network and return the readout of every node.

JRNetwork.step([P, sigma_p, history_outs])

Advance the network by one integration step.

JRNetwork.update_connectivity(x[, sigma_p])

Update the coupling matrix K from the history of node outputs.