public class NetworkLeakyIntegratorWithIntrinsicPlasticityODE
extends java.lang.Object
implements org.apache.commons.math3.ode.FirstOrderDifferentialEquations
TransientDynamicsOfLeakyIntegratorsWithIntrinsicPlasticity.| Modifier and Type | Class and Description |
|---|---|
static class |
NetworkLeakyIntegratorWithIntrinsicPlasticityODE.Properties
Properties of each neuron: membrane potential, gain, threshold.
|
| Constructor and Description |
|---|
NetworkLeakyIntegratorWithIntrinsicPlasticityODE(double[] gamma,
double[][] w,
double[] epsilon_a,
double[] epsilon_b,
double[] lambda_1,
double[] lambda_2)
Creates a new leaky integrator network according to the specified
parameters.
|
| Modifier and Type | Method and Description |
|---|---|
void |
computeDerivatives(double time,
double[] state,
double[] stateDot)
Calculates the first derivatives of the ODE.
|
static double |
firingRate(int neuron,
double[] state)
Calculates the firing rate of the given neuron in the given state.
|
static double |
g(double x,
double a,
double b)
Transfer function $g(x, a, b) = \frac{1}{1 + e^{-a(x-b)}}$.
|
int |
getDimension()
Returns the dimension of the ODE.
|
static double |
getValue(int neuron,
double[] state,
NetworkLeakyIntegratorWithIntrinsicPlasticityODE.Properties property)
Get the value of a property of a neuron in the given state.
|
static double |
gInverse(double y,
double a,
double b)
Inverse transfer function $g^{-1}(y,a,b) = -\frac{1}{a} \log \left( \frac{y_{\mathrm{max}}-y_{\mathrm{min}}}{y-y_{\mathrm{min}}} - 1 \right) + b$.
|
static void |
setValue(int neuron,
double[] state,
NetworkLeakyIntegratorWithIntrinsicPlasticityODE.Properties property,
double value)
Set the value of a property of a neuron to the given state.
|
public NetworkLeakyIntegratorWithIntrinsicPlasticityODE(double[] gamma,
double[][] w,
double[] epsilon_a,
double[] epsilon_b,
double[] lambda_1,
double[] lambda_2)
gamma - leaks $\Gamma$w - weighted adjacency matrix $w$epsilon_a - transfer function gain learning rates $\epsilon_a$epsilon_b - transfer function threshold learning rates $\epsilon_b$lambda_1 - target firing rate distribution parameter 1 $\lambda_1$lambda_2 - target firing rate distribution parameter 2 $\lambda_2$public int getDimension()
getDimension in interface org.apache.commons.math3.ode.FirstOrderDifferentialEquationspublic void computeDerivatives(double time,
double[] state,
double[] stateDot)
computeDerivatives in interface org.apache.commons.math3.ode.FirstOrderDifferentialEquationstime - time $t$state - vector $(x_1(t), a_1(t), b_1(t), x_2(t), a_2(t), b_2(t),
\dots, x_n(t), a_n(t), b_n(t))$stateDot - vector $(\dot x_1(t), \dot a_1(t), \dot b_1(t), \dots)$public static double getValue(int neuron,
double[] state,
NetworkLeakyIntegratorWithIntrinsicPlasticityODE.Properties property)
neuron - index of the neuron in the networkstate - overall network stateproperty - property to get (firing rate, gain, threshold)public static void setValue(int neuron,
double[] state,
NetworkLeakyIntegratorWithIntrinsicPlasticityODE.Properties property,
double value)
neuron - index of the neuron in the networkstate - overall network state to changeproperty - property to set (firing rate, gain, threshold)value - value to setpublic static double firingRate(int neuron,
double[] state)
neuron - index of neuronstate - the whole network state as used in
computeDerivatives including membrane potentials, gains and
thresholdspublic static double g(double x,
double a,
double b)
x - membrane potential $x$a - transfer function gain $a$b - transfer function threshold $b$public static double gInverse(double y,
double a,
double b)
y - firing rate $y$a - transfer function gain $a$b - transfer function threshold $b$