(Teka, et. al, 2018): Fractional-order Izhikevich neuron model

Implementation of the model:

• Teka, Wondimu W., Ranjit Kumar Upadhyay, and Argha Mondal. “Spiking and bursting patterns of fractional-order Izhikevich model.” Communications in Nonlinear Science and Numerical Simulation 56 (2018): 161-176.

[ ]:

import brainpy as bp

import matplotlib.pyplot as plt

[2]:

def run_model(dt=0.1, duration=500, alpha=1.0):
inputs, length = bp.inputs.section_input([0, 10], [50, duration],
dt=dt, return_length=True)
neuron = bp.dyn.FractionalIzhikevich(1, num_memory=int(length / dt), alpha=alpha)
runner = bp.dyn.DSRunner(neuron,
monitors=['V'],
inputs=['input', inputs, 'iter'],
dt=dt)
runner.run(length)

plt.plot(runner.mon.ts, runner.mon.V.flatten())
plt.xlabel('Time [ms]')
plt.ylabel('Potential [mV]')
plt.title(r'$\alpha$=' + str(alpha))
plt.show()


Regular spiking

[3]:

run_model(dt=0.1, duration=500, alpha=1.0)

WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)


Intrinsically bursting

[4]:

run_model(dt=0.1, duration=500, alpha=0.87)


Mixed Mode (Irregular)

[5]:

run_model(dt=0.1, duration=500, alpha=0.86)


Chattering

[6]:

run_model(dt=0.1, duration=500, alpha=0.8)


Bursting

[7]:

run_model(dt=0.1, duration=1000, alpha=0.7)


Bursting with longer bursts

[8]:

run_model(dt=0.1, duration=1000, alpha=0.5)


Fast spiking

[9]:

run_model(dt=0.1, duration=1000, alpha=0.3)