Exact integration voltage propagator for leaky integrate-and-fire models. More...
#include <iaf_propagator.h>
Public Member Functions | |
| IAFPropagator () | |
| Empty constructor needed for initialization of buffers. | |
| IAFPropagator (double tau_syn, double tau_m, double c_m) | |
Protected Member Functions | |
| std::tuple< double, double, double, double > | evaluate_P32_ (double h) const |
| Compute propagator connecting I_syn to V_m and auxiliary quantities for given time interval. | |
Protected Attributes | |
| double | tau_syn_ |
| Time constant of synaptic current in ms. | |
| double | tau_m_ |
| Membrane time constant in ms. | |
| double | c_m_ |
| Membrane capacitance in pF. | |
| double | h_min_regular_ |
| Smallest h for which regular P31 case applies. | |
| double | beta_ |
| (tau_syn * tau_m) / (tau_m - tau_syn) | |
| double | gamma_ |
| beta_ / c_m | |
| double | inv_tau_syn_ |
| 1 / tau_syn | |
| double | inv_tau_m_ |
| 1 / tau_m | |
| double | inv_c_m_ |
| 1 / c_m | |
| double | inv_beta_ |
| 1 / beta | |
Static Protected Attributes | |
| static constexpr double | NUMERICAL_STABILITY_FACTOR_ = 1e-7 |
| Scale factor for singularity test for P31 computation. | |
Exact integration voltage propagator for leaky integrate-and-fire models.
This base class and its derived classes provide the propagator matrix elements connecting synaptic current to membrane potential. They handle the singularity at tau_m == tau_syn_* properly.
<NEST_SOURCE>/doc/userdoc/model_details/IAF_Integration_Singularity.ipynb | IAFPropagator::IAFPropagator | ( | ) |
Empty constructor needed for initialization of buffers.
| IAFPropagator::IAFPropagator | ( | double | tau_syn, |
| double | tau_m, | ||
| double | c_m | ||
| ) |
| tau_syn | Time constant of synaptic current in ms |
| tau_m | Membrane time constant in ms |
| c_m | Membrane capacitance in pF |
|
protected |
Compute propagator connecting I_syn to V_m and auxiliary quantities for given time interval.
This method computes all quantities common to alpha and exponential synaptic dynamics.
numerics::nan otherwise to avoid unnecessary computation of exp().| h | time interval [ms] |
References numerics::expm1(), gamma_, inv_beta_, inv_c_m_, inv_tau_m_, inv_tau_syn_, and numerics::nan.
Referenced by IAFPropagatorExp::evaluate(), and IAFPropagatorAlpha::evaluate().
|
protected |
(tau_syn * tau_m) / (tau_m - tau_syn)
Referenced by IAFPropagatorAlpha::evaluate().
|
protected |
Membrane capacitance in pF.
|
protected |
beta_ / c_m
Referenced by IAFPropagatorAlpha::evaluate(), and evaluate_P32_().
|
protected |
Smallest h for which regular P31 case applies.
Referenced by IAFPropagatorAlpha::evaluate().
|
protected |
1 / beta
Referenced by evaluate_P32_().
|
protected |
1 / c_m
Referenced by IAFPropagatorAlpha::evaluate(), and evaluate_P32_().
|
protected |
1 / tau_m
Referenced by IAFPropagatorAlpha::evaluate(), and evaluate_P32_().
|
protected |
1 / tau_syn
Referenced by evaluate_P32_().
|
staticconstexprprotected |
Scale factor for singularity test for P31 computation.
Regular case applies if h > NUMERICAL_STABILITY_FACTOR_ * tau_m^2 / |tau_m - tau_syn|
See IAF_Integration_Singularity for details.
|
protected |
Membrane time constant in ms.
|
protected |
Time constant of synaptic current in ms.