Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sde Tutorial #2044

Merged
merged 15 commits into from
Dec 12, 2022
Merged

Sde Tutorial #2044

merged 15 commits into from
Dec 12, 2022

Conversation

boeschf
Copy link
Contributor

@boeschf boeschf commented Nov 21, 2022

Implementation of stochastic calcium plasticity curves, originally authored by Sebastian Schmitt @schmitts, and adapted here for Arbor inclusion.

  • python example plasticity_stdp.py
  • stochastic mechanism calcium_based_synapse.mod
  • tutorial

Closes #1987

SOLVE state METHOD stochastic
}

This is sufficient to inform Arbor about the stochasticity of the mechanism.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we add a link to an explanation of what kind of solver stochastic implements? https://docs.arbor-sim.org/en/latest/dev/numerics.html

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes you are right, that should be mentioned. I added links to the longer explanations of how we treat SDEs but also added an entry to the dev/numerics.rst - this document was actually commented out, so I re-added it to the TOC.

statistically meaningful result. The number of simulations per case is given by the ensemble size
and the initial conditions. In our case, we have to inital states, :math:`\rho(0)=0` and
:math:`\rho(0)=1`, and for each initial state we want to run :math:`100` simulations. This can
easiest be achieved by placing :math:`100` synapses per initial state onto the cell.
Copy link
Contributor

@schmitts schmitts Nov 28, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe add ... and allows to parallelize?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

true, added some more explanation

The pre- and postsynaptic events are generated at explicit schedules, where the presynaptic event
is shifted in time by :math:`D -\text{time lag}` with respect to the presynaptic event, which in
turn is generated regularly with the frequency :math:`f`. The postsynaptic events are driven by the
deterministic synapse with weight `1.0`, while the presynaptic events are generated at the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe add: arbitrary, but large, weight ...?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, expanded explanation

Copy link
Contributor

@schmitts schmitts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the writeup! Minor fixes and suggested additions.

@boeschf boeschf requested a review from schmitts December 1, 2022 09:41
Copy link
Contributor

@schmitts schmitts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@brenthuisman brenthuisman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's good for @schmitts is good for me.

@brenthuisman brenthuisman merged commit abbf6bb into arbor-sim:master Dec 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add tutorials and examples for SDE
3 participants