diff --git a/doc/htmldoc/conf.py b/doc/htmldoc/conf.py index e1c8b0abdf..e2a465d747 100644 --- a/doc/htmldoc/conf.py +++ b/doc/htmldoc/conf.py @@ -358,10 +358,6 @@ def copy_example_file(src): copy_example_file("examples/Potjans_2014/raster_plot.png") copy_example_file("examples/Potjans_2014/microcircuit.png") copy_example_file("examples/hpc_benchmark_connectivity.svg") -copyfile( - os.path.join(pynest_dir, "examples/Potjans_2014/README.rst"), - "examples/README.rst", -) def patch_documentation(patch_url): diff --git a/doc/htmldoc/developer_space/workflows/documentation_workflow/user_documentation_workflow.rst b/doc/htmldoc/developer_space/workflows/documentation_workflow/user_documentation_workflow.rst index 6b0d47b34c..6be9783f6b 100644 --- a/doc/htmldoc/developer_space/workflows/documentation_workflow/user_documentation_workflow.rst +++ b/doc/htmldoc/developer_space/workflows/documentation_workflow/user_documentation_workflow.rst @@ -104,7 +104,7 @@ commands. 3. Build the docs: -.. code-black:: bash +.. code-block:: bash sphinx-build . ../_build/html -b html diff --git a/doc/htmldoc/examples/index.rst b/doc/htmldoc/examples/index.rst index fc920cee0e..549e6024cc 100644 --- a/doc/htmldoc/examples/index.rst +++ b/doc/htmldoc/examples/index.rst @@ -237,6 +237,7 @@ PyNEST examples .. toctree:: :hidden: + running_notebooks ../auto_examples/sudoku/index ../auto_examples/pong/index ../auto_examples/spatial/index @@ -284,6 +285,8 @@ PyNEST examples ../auto_examples/brunel_siegert_nest ../auto_examples/brunel_exp_multisynapse_nest ../auto_examples/brunel_alpha_evolution_strategies + ../auto_examples/sonata_example/index + ../auto_examples/sonata_example/sonata_network ../auto_examples/spatial/conncomp ../auto_examples/spatial/conncon_sources ../auto_examples/spatial/conncon_targets diff --git a/doc/htmldoc/faqs/faqs.rst b/doc/htmldoc/faqs/faqs.rst index 5ea764124b..98bab8305e 100644 --- a/doc/htmldoc/faqs/faqs.rst +++ b/doc/htmldoc/faqs/faqs.rst @@ -86,4 +86,6 @@ Connections nest.Connect(n, n[:1], sync_spec={'model'='exc_dist_syn'}) nest.Simulate(10) +.. _faqs_precise_neurons: + .. include:: qa-precise-spike-times.rst diff --git a/doc/htmldoc/faqs/qa-precise-spike-times.rst b/doc/htmldoc/faqs/qa-precise-spike-times.rst index 3638eeab9d..64163149de 100644 --- a/doc/htmldoc/faqs/qa-precise-spike-times.rst +++ b/doc/htmldoc/faqs/qa-precise-spike-times.rst @@ -1,5 +1,3 @@ -.. _faqs_precise_neurons: - Questions and answers about precise neurons ------------------------------------------- diff --git a/doc/htmldoc/hpc/slurm_script.rst b/doc/htmldoc/hpc/slurm_script.rst index 006483e117..fc1843e17e 100644 --- a/doc/htmldoc/hpc/slurm_script.rst +++ b/doc/htmldoc/hpc/slurm_script.rst @@ -116,7 +116,7 @@ trying to increase the speed of the simulation. How many nodes do you need for your simulations? This depends on how much memory is available for each node. - For example: The :ref:`microcircuit model ` requires around 16 GB of memory and the `multi-area-model `_ requires 1.4 TB. + For example: The :doc:`microcircuit model <../auto_examples/Potjans_2014/index>` requires around 16 GB of memory and the `multi-area-model `_ requires 1.4 TB. If a node has 128 GB of memory then one node is more than sufficient for the microcircuit model but the multi-area model will need 12 nodes to run. diff --git a/doc/htmldoc/hpc/threading.rst b/doc/htmldoc/hpc/threading.rst index 5facaf46c3..8f057c6e7d 100644 --- a/doc/htmldoc/hpc/threading.rst +++ b/doc/htmldoc/hpc/threading.rst @@ -22,7 +22,7 @@ For a detailed investigation, we recommend reading Kurth et al. 2022 [1]_. .. _pinning_threads: Pinning threads --------------- +--------------- Pinning threads allows you to control the distribution of threads across available cores on your system, and is particularly useful in high performance computing (HPC) systems. diff --git a/doc/htmldoc/installation/admin.rst b/doc/htmldoc/installation/admin.rst index c8ce741cd8..c95367944e 100644 --- a/doc/htmldoc/installation/admin.rst +++ b/doc/htmldoc/installation/admin.rst @@ -6,7 +6,7 @@ Administrator installation instructions If you need to deploy NEST on a machine -* Check out our guides to :ref:`optimizing NEST for HPC systems ` +* Check out our guides to :ref:`optimizing NEST for HPC systems ` Configure HPC systems ~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/htmldoc/model_details/HillTononiModels.ipynb b/doc/htmldoc/model_details/HillTononiModels.ipynb index 7deb7097b3..074836d444 100644 --- a/doc/htmldoc/model_details/HillTononiModels.ipynb +++ b/doc/htmldoc/model_details/HillTononiModels.ipynb @@ -74,7 +74,7 @@ "The repolarizing current is active during, and only during the refractory period:\n", "\\begin{equation}\n", "g_{\\text{spike}} = \\begin{cases} 1 & \\text{neuron is refractory}\\\\\n", - " 0 & \\text{else} \\end{cases}\n", + "0 & \\text{else} \\end{cases}\n", "\\end{equation}\n", "\n", "During the refractory period, the neuron cannot fire new spikes, but all state variables evolve freely, nothing is clamped. \n", @@ -147,7 +147,7 @@ "N_T &= 2 \\\\\n", "m_T^{\\infty}(V) &= \\frac{1}{1+\\exp\\left(-\\frac{V+59\\text{mV}}{6.2\\text{mV}}\\right)}\\\\\n", "\\tau_{m,T}(V) &= 0.13\\text{ms} \n", - " + \\frac{0.22\\text{ms}}{\\exp\\left(-\\frac{V + 132\\text{mV}}{16.7\\text{mV}}\\right) + \\exp\\left(\\frac{V + 16.8\\text{mV}}{18.2\\text{mV}}\\right)} \\\\ \n", + "+ \\frac{0.22\\text{ms}}{\\exp\\left(-\\frac{V + 132\\text{mV}}{16.7\\text{mV}}\\right) + \\exp\\left(\\frac{V + 16.8\\text{mV}}{18.2\\text{mV}}\\right)} \\\\ \n", "h_T^{\\infty}(V) &= \\frac{1}{1+\\exp\\left(\\frac{V+83\\text{mV}}{4\\text{mV}}\\right)}\\\\\n", "\\tau_{h,T}(V) &= 8.2\\text{ms} + \\frac{56.6\\text{ms} + 0.27\\text{ms} \\exp\\left(\\frac{V + 115.2\\text{mV}}{5\\text{mV}}\\right)}{1 + \\exp\\left(\\frac{V + 86\\text{mV}}{3.2\\text{mV}}\\right)}\n", "\\end{align}\n", @@ -201,30 +201,30 @@ "##### Equations in paper\n", "\n", "\\begin{align}\n", - " dD/dt &= D_{\\text{influx}} - D(1-D_{\\text{eq}})/\\tau_D \\\\\n", - " D_{\\text{influx}} &= 1/\\{1+ \\exp[-(V-D_{\\theta})/\\sigma_D]\\} \\\\\n", - " m_{DK}^{\\infty} &= 1/1 + (d_{1/2}D)^{3.5}\n", + "dD/dt &= D_{\\text{influx}} - D(1-D_{\\text{eq}})/\\tau_D \\\\\n", + "D_{\\text{influx}} &= 1/\\{1+ \\exp[-(V-D_{\\theta})/\\sigma_D]\\} \\\\\n", + "m_{DK}^{\\infty} &= 1/1 + (d_{1/2}D)^{3.5}\n", "\\end{align}\n", "\n", "There are several problems with these equations.\n", "\n", "In the steady state the first equation becomes\n", "\\begin{equation}\n", - " 0 = - D(1-D_{\\text{eq}})/\\tau_D \n", - " \\end{equation}\n", - " with solution\n", - " \\begin{equation}\n", - " D = 0\n", + "0 = - D(1-D_{\\text{eq}})/\\tau_D \n", + "\\end{equation}\n", + "with solution\n", + "\\begin{equation}\n", + "D = 0\n", "\\end{equation}\n", "This contradicts both the statement [HT05, p. 1679] that $D\\to D_{\\text{eq}}$ in this case, and the requirement that $D>0$ to avoid a singluarity in the equation for $m_{DK}^{\\infty}$. The most plausible correction is\n", "\\begin{equation}\n", - " dD/dt = D_{\\text{influx}} - (D-D_{\\text{eq}})/\\tau_D \n", + "dD/dt = D_{\\text{influx}} - (D-D_{\\text{eq}})/\\tau_D \n", "\\end{equation}\n", "\n", "The third equation appears incorrect and logic as well as Wang et al, *J Neurophysiol* 89:3279–3293, 2003, Eq 9, cited in [HT05, p 1679], indicate that the correct equation is\n", "\n", "\\begin{equation}\n", - " m_{DK}^{\\infty} = 1/(1 + (d_{1/2} / D)^{3.5})\n", + "m_{DK}^{\\infty} = 1/(1 + (d_{1/2} / D)^{3.5})\n", "\\end{equation}\n", "\n", "\n", @@ -235,10 +235,10 @@ "\n", "\\begin{align}\n", "I_{DK} &= - g_{\\text{peak},DK} m_{DK}(V,t) (V - E_{DK})\\\\\n", - " m_{DK} &= \\frac{1}{1 + \\left(\\frac{d_{1/2}}{D}\\right)^{3.5}}\\\\\n", - " \\frac{dD}{dt} &= D_{\\text{influx}}(V) - \\frac{D-D_{\\text{eq}}}{\\tau_D} = \\frac{D_{\\infty}(V)-D}{\\tau_D} \\\\\n", - " D_{\\infty}(V) &= \\tau_D D_{\\text{influx}}(V) + {D_{\\text{eq}}}\\\\\n", - " D_{\\text{influx}} &= \\frac{D_{\\text{influx,peak}}}{1+ \\exp\\left(-\\frac{V-D_{\\theta}}{\\sigma_D}\\right)} \n", + "m_{DK} &= \\frac{1}{1 + \\left(\\frac{d_{1/2}}{D}\\right)^{3.5}}\\\\\n", + "\\frac{dD}{dt} &= D_{\\text{influx}}(V) - \\frac{D-D_{\\text{eq}}}{\\tau_D} = \\frac{D_{\\infty}(V)-D}{\\tau_D} \\\\\n", + "D_{\\infty}(V) &= \\tau_D D_{\\text{influx}}(V) + {D_{\\text{eq}}}\\\\\n", + "D_{\\text{influx}} &= \\frac{D_{\\text{influx,peak}}}{1+ \\exp\\left(-\\frac{V-D_{\\theta}}{\\sigma_D}\\right)} \n", "\\end{align}\n", "\n", "with \n", @@ -281,10 +281,10 @@ "The conductance change due to a single input spike at time $t=0$ through a channel of type $X$ is given by (see below for exceptions)\n", "\n", "\\begin{align}\n", - " \\bar{g}_X(t) &= g_X(t)\\\\\n", - " g_X(t) &= g_{\\text{peak}, X}\\frac{\\exp(-t/\\tau_1) - \\exp(-t/\\tau_2)}{\n", - " \\exp(-t_{\\text{peak}}/\\tau_1) - \\exp(-t_{\\text{peak}}/\\tau_2)} \\Theta(t)\\\\\n", - " t_{\\text{peak}} &= \\frac{\\tau_2 \\tau_1}{\\tau_2 - \\tau_1} \\ln\\frac{ \\tau_2}{\\tau_1}\n", + "\\bar{g}_X(t) &= g_X(t)\\\\\n", + "g_X(t) &= g_{\\text{peak}, X}\\frac{\\exp(-t/\\tau_1) - \\exp(-t/\\tau_2)}{\n", + "\\exp(-t_{\\text{peak}}/\\tau_1) - \\exp(-t_{\\text{peak}}/\\tau_2)} \\Theta(t)\\\\\n", + "t_{\\text{peak}} &= \\frac{\\tau_2 \\tau_1}{\\tau_2 - \\tau_1} \\ln\\frac{ \\tau_2}{\\tau_1}\n", "\\end{align} \n", "\n", "where $t_{\\text{peak}}$ is the time of the conductance maximum and $\\tau_1$ and $\\tau_2$ are synaptic rise- and decay-time, respectively; $\\Theta(t)$ is the Heaviside step function. The equation is integrated using exact integration in Synthesis; in NEST, it is included in the ODE-system integrated using the Runge-Kutta-Fehlberg 4(5) solver from GSL.\n", @@ -306,11 +306,11 @@ "The voltage-dependent gating $m(V, t)$ is defined as follows (based on textual description, Vargas-Caballero and Robinson *J Neurophysiol* 89:2778–2783, 2003, [doi:10.1152/jn.01038.2002](http://dx.doi.org/10.1152/jn.01038.2002), and code inspection):\n", "\n", "\\begin{align}\n", - " m(V, t) &= a(V) m_{\\text{fast}}^*(V, t) + ( 1 - a(V) ) m_{\\text{slow}}^*(V, t)\\\\\n", - " a(V) &= 0.51 - 0.0028 V \\\\\n", - " m^{\\infty}(V) &= \\frac{1}{ 1 + \\exp\\left( -S_{\\text{act}} ( V - V_{\\text{act}} ) \\right) } \\\\\n", - " m_X^*(V, t) &= \\min(m^{\\infty}(V), m_X(V, t))\\\\\n", - " \\frac{\\text{d}m_X}{\\text{d}t} &= \\frac{m^{\\infty}(V) - m_X }{ \\tau_{\\text{Mg}, X}}\n", + "m(V, t) &= a(V) m_{\\text{fast}}^*(V, t) + ( 1 - a(V) ) m_{\\text{slow}}^*(V, t)\\\\\n", + "a(V) &= 0.51 - 0.0028 V \\\\\n", + "m^{\\infty}(V) &= \\frac{1}{ 1 + \\exp\\left( -S_{\\text{act}} ( V - V_{\\text{act}} ) \\right) } \\\\\n", + "m_X^*(V, t) &= \\min(m^{\\infty}(V), m_X(V, t))\\\\\n", + "\\frac{\\text{d}m_X}{\\text{d}t} &= \\frac{m^{\\infty}(V) - m_X }{ \\tau_{\\text{Mg}, X}}\n", "\\end{align} \n", "\n", "where $X$ is \"slow\" or \"fast\". $a(V)$ expresses voltage-dependent weighting between slow and fast unblocking, $m^{\\infty}(V)$ the steady-state value of the proportion of unblocked NMDA-channels, the minimum condition in $m_X^*(V,t)$ the instantaneous blocking and the differential equation for $m_X(V,t)$ the unblocking dynamics.\n", @@ -1004,7 +1004,7 @@ "I_T &= g_{\\text{peak}, T} m_T^2(V, t) h_T(V,t) (V-E_T) \\\\\n", "m_T^{\\infty}(V) &= \\frac{1}{1+\\exp\\left(-\\frac{V+59\\text{mV}}{6.2\\text{mV}}\\right)}\\\\\n", "\\tau_{m,T}(V) &= 0.13\\text{ms} \n", - " + \\frac{0.22\\text{ms}}{\\exp\\left(-\\frac{V + 132\\text{mV}}{16.7\\text{mV}}\\right) + \\exp\\left(\\frac{V + 16.8\\text{mV}}{18.2\\text{mV}}\\right)} \\\\ \n", + "+ \\frac{0.22\\text{ms}}{\\exp\\left(-\\frac{V + 132\\text{mV}}{16.7\\text{mV}}\\right) + \\exp\\left(\\frac{V + 16.8\\text{mV}}{18.2\\text{mV}}\\right)} \\\\ \n", "h_T^{\\infty}(V) &= \\frac{1}{1+\\exp\\left(\\frac{V+83\\text{mV}}{4\\text{mV}}\\right)}\\\\\n", "\\tau_{h,T}(V) &= 8.2\\text{ms} + \\frac{56.6\\text{ms} + 0.27\\text{ms} \\exp\\left(\\frac{V + 115.2\\text{mV}}{5\\text{mV}}\\right)}{1 + \\exp\\left(\\frac{V + 86\\text{mV}}{3.2\\text{mV}}\\right)}\n", "\\end{align}" @@ -1248,10 +1248,10 @@ "\n", "\\begin{align}\n", "I_{DK} &= - g_{\\text{peak},DK} m_{DK}(V,t) (V - E_{DK})\\\\\n", - " m_{DK} &= \\frac{1}{1 + \\left(\\frac{d_{1/2}}{D}\\right)^{3.5}}\\\\\n", - " \\frac{dD}{dt} &= D_{\\text{influx}}(V) - \\frac{D-D_{\\text{eq}}}{\\tau_D} = \\frac{D_{\\infty}(V)-D}{\\tau_D} \\\\\n", - " D_{\\infty}(V) &= \\tau_D D_{\\text{influx}}(V) + {D_{\\text{eq}}}\\\\\n", - " D_{\\text{influx}} &= \\frac{D_{\\text{influx,peak}}}{1+ \\exp\\left(-\\frac{V-D_{\\theta}}{\\sigma_D}\\right)} \n", + "m_{DK} &= \\frac{1}{1 + \\left(\\frac{d_{1/2}}{D}\\right)^{3.5}}\\\\\n", + "\\frac{dD}{dt} &= D_{\\text{influx}}(V) - \\frac{D-D_{\\text{eq}}}{\\tau_D} = \\frac{D_{\\infty}(V)-D}{\\tau_D} \\\\\n", + "D_{\\infty}(V) &= \\tau_D D_{\\text{influx}}(V) + {D_{\\text{eq}}}\\\\\n", + "D_{\\text{influx}} &= \\frac{D_{\\text{influx,peak}}}{1+ \\exp\\left(-\\frac{V-D_{\\theta}}{\\sigma_D}\\right)} \n", "\\end{align}\n", "\n", "with \n", @@ -1363,8 +1363,8 @@ "metadata": {}, "source": [ "- Note that current in steady state is \n", - " - $\\approx 0$ for $V < -40$mV\n", - " - $\\sim -(V-E_{DK})$ for $V> -30$mV" + "- $\\approx 0$ for $V < -40$mV\n", + "- $\\sim -(V-E_{DK})$ for $V> -30$mV" ] }, { @@ -1717,11 +1717,11 @@ "The equations for this channel are\n", "\n", "\\begin{align}\n", - " \\bar{g}_{\\text{NMDA}}(t) &= m(V, t) g_{\\text{NMDA}}(t) m(V, t)\\\\ &= a(V) m_{\\text{fast}}^*(V, t) + ( 1 - a(V) ) m_{\\text{slow}}^*(V, t)\\\\\n", - " a(V) &= 0.51 - 0.0028 V \\\\\n", - " m^{\\infty}(V) &= \\frac{1}{ 1 + \\exp\\left( -S_{\\text{act}} ( V - V_{\\text{act}} ) \\right) } \\\\\n", - " m_X^*(V, t) &= \\min(m^{\\infty}(V), m_X(V, t))\\\\\n", - " \\frac{\\text{d}m_X}{\\text{d}t} &= \\frac{m^{\\infty}(V) - m_X }{ \\tau_{\\text{Mg}, X}}\n", + "\\bar{g}_{\\text{NMDA}}(t) &= m(V, t) g_{\\text{NMDA}}(t) m(V, t)\\\\ &= a(V) m_{\\text{fast}}^*(V, t) + ( 1 - a(V) ) m_{\\text{slow}}^*(V, t)\\\\\n", + "a(V) &= 0.51 - 0.0028 V \\\\\n", + "m^{\\infty}(V) &= \\frac{1}{ 1 + \\exp\\left( -S_{\\text{act}} ( V - V_{\\text{act}} ) \\right) } \\\\\n", + "m_X^*(V, t) &= \\min(m^{\\infty}(V), m_X(V, t))\\\\\n", + "\\frac{\\text{d}m_X}{\\text{d}t} &= \\frac{m^{\\infty}(V) - m_X }{ \\tau_{\\text{Mg}, X}}\n", "\\end{align} \n", "\n", "where $g_{\\text{NMDA}}(t)$ is the beta functions as for the other channels. In case of instantaneous unblocking, $m=m^{\\infty}$." diff --git a/doc/htmldoc/ref_material/pynest_apis.rst b/doc/htmldoc/ref_material/pynest_apis.rst index 094f1ef835..5049192a5f 100644 --- a/doc/htmldoc/ref_material/pynest_apis.rst +++ b/doc/htmldoc/ref_material/pynest_apis.rst @@ -96,11 +96,11 @@ Functions related to randomization .. automodule:: nest.random.hl_api_random :members: +.. _pynest_spatial: + Functions related to spatial distributions ------------------------------------------ -.. _pynest_spatial: - .. automodule:: nest.spatial :members: distance @@ -123,4 +123,4 @@ Functions related to SONATA networks ------------------------------------ .. automodule:: nest.lib.hl_api_sonata - :members: \ No newline at end of file + :members: diff --git a/doc/htmldoc/synapses/connection_management.rst b/doc/htmldoc/synapses/connection_management.rst index 83d760d5d6..88263bb3e4 100644 --- a/doc/htmldoc/synapses/connection_management.rst +++ b/doc/htmldoc/synapses/connection_management.rst @@ -63,7 +63,7 @@ Have a look at the :ref:`inspecting_connections` section further down to get more tips on how to examine the connections in greater detail. Multapses and autapses -~~~~~~~~~~~~~~~~~~~~~~ +---------------------- In the connection specification dictionary (containing the rule name and rule- specific parameters), the additional switch ``allow_autapses`` (default: @@ -324,8 +324,8 @@ Array parameters can be used with the rules ``all_to_all``, lists. As with the scalar parameters, all parameters have to be specified as arrays of the correct type. -all-to-all -^^^^^^^^^^ +rule: all-to-all +^^^^^^^^^^^^^^^^ When connecting with rule ``all_to_all``, the array parameter must have dimension `len(B) x len(A)`. @@ -337,8 +337,8 @@ have dimension `len(B) x len(A)`. syn_spec_dict = {'weight': [[1.2, -3.5, 2.5], [0.4, -0.2, 0.7]]} nest.Connect(A, B, syn_spec=syn_spec_dict) -fixed indegree -^^^^^^^^^^^^^^ +rule: fixed indegree +^^^^^^^^^^^^^^^^^^^^ For rule ``fixed_indegree`` the array has to be a two-dimensional NumPy array or Python list with shape ``(len(B), indegree)``, where @@ -355,8 +355,8 @@ of the identity of the source neurons. syn_spec_dict = {'weight': [[1.2, -3.5],[0.4, -0.2],[0.6, 2.2]]} nest.Connect(A, B, conn_spec_dict, syn_spec_dict) -fixed outdegree -^^^^^^^^^^^^^^^ +rule: fixed outdegree +^^^^^^^^^^^^^^^^^^^^^ For rule ``fixed_outdegree`` the array has to be a two-dimensional NumPy array or Python list with shape ``(len(A), outdegree)``, where @@ -373,8 +373,8 @@ regardless of the identity of the target neuron. syn_spec_dict = {'weight': [[1.2, -3.5, 0.4], [-0.2, 0.6, 2.2]]} nest.Connect(A, B, conn_spec_dict, syn_spec_dict) -fixed total number -^^^^^^^^^^^^^^^^^^ +rule: fixed total number +^^^^^^^^^^^^^^^^^^^^^^^^ For rule ``fixed_total_number``, the array has to be same the length as the number of connections ``N``. @@ -387,8 +387,8 @@ number of connections ``N``. syn_spec_dict = {'weight': [1.2, -3.5, 0.4, -0.2]} nest.Connect(A, B, conn_spec_dict, syn_spec_dict) -one-to-one -^^^^^^^^^^ +rule: one-to-one +^^^^^^^^^^^^^^^^ For rule ``one_to_one`` the array must have the same length as there are nodes in ``A`` and ``B``. diff --git a/doc/htmldoc/whats_new/v3.4/index.rst b/doc/htmldoc/whats_new/v3.4/index.rst index 52e8a70771..be69bbaa9a 100644 --- a/doc/htmldoc/whats_new/v3.4/index.rst +++ b/doc/htmldoc/whats_new/v3.4/index.rst @@ -44,8 +44,8 @@ Extent and center for spatial layers with freely placed neurons ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Spatial layers in NEST can be created by specifying node positions in -the call to :py:func:`.Create` using :ref:`spatial distributions -` from ``nest.spatial``. +the call to :py:func:`.Create` using :ref:`spatial distributions ` +from ``nest.spatial``. When using :py:class:`.spatial.free`, the layer's ``extent`` will be determined automatically based on the positions of the lower-leftmost diff --git a/pynest/nest/lib/hl_api_connections.py b/pynest/nest/lib/hl_api_connections.py index 61614534b7..32d1ac3a51 100644 --- a/pynest/nest/lib/hl_api_connections.py +++ b/pynest/nest/lib/hl_api_connections.py @@ -305,7 +305,7 @@ def Disconnect(*args, conn_spec=None, syn_spec=None): Parameters ---------- args : SynapseCollection or NodeCollections - Either a collection of connections to disconnect, or pre- and postsynaptic nodes given as `NodeCollection`s + Either a collection of connections to disconnect, or pre- and postsynaptic nodes given as NodeCollections conn_spec : str or dict Disconnection rule when specifying pre- and postsynaptic nodes, see below syn_spec : str or dict diff --git a/pynest/nest/lib/hl_api_nodes.py b/pynest/nest/lib/hl_api_nodes.py index 260f660318..7d6b208fe5 100644 --- a/pynest/nest/lib/hl_api_nodes.py +++ b/pynest/nest/lib/hl_api_nodes.py @@ -68,6 +68,7 @@ def Create(model, n=1, params=None, positions=None): The single values will be applied to all nodes, while the lists will be distributed across the nodes. Both single values and lists can be given at the same time. - A list with n dictionaries, one dictionary for each node. + Values may be :py:class:`.Parameter` objects. If omitted, the model's defaults are used. positions: :py:class:`.grid` or :py:class:`.free` object, optional diff --git a/pynest/nest/lib/hl_api_simulation.py b/pynest/nest/lib/hl_api_simulation.py index f3a06b4b75..98cec2fe55 100644 --- a/pynest/nest/lib/hl_api_simulation.py +++ b/pynest/nest/lib/hl_api_simulation.py @@ -189,10 +189,12 @@ def ResetKernel(): * all network nodes * all connections * all user-defined neuron and synapse models + are deleted, and * time * random generators + are reset. The only exception is that dynamically loaded modules are not unloaded. This may change in a future version of NEST. diff --git a/pynest/nest/lib/hl_api_types.py b/pynest/nest/lib/hl_api_types.py index 5410d71c59..ca41b4c0a0 100644 --- a/pynest/nest/lib/hl_api_types.py +++ b/pynest/nest/lib/hl_api_types.py @@ -82,7 +82,8 @@ def CreateParameter(parametertype, specs): Notes ----- - - Instead of using `CreateParameter` you can also use the various parametrizations embedded in NEST. See for + + Instead of using `CreateParameter` you can also use the various parametrizations embedded in NEST. See for instance :py:func:`.uniform`. **Parameter types** @@ -91,11 +92,14 @@ def CreateParameter(parametertype, specs): acceptable keys for their corresponding specification dictionaries: * Constant + :: 'constant' : {'value' : float} # constant value + * Randomization + :: # random parameter with uniform distribution in [min,max) @@ -112,6 +116,7 @@ def CreateParameter(parametertype, specs): 'lognormal' : {'mean' : float, # mean value of logarithm, default: 0.0 'std' : float} # standard deviation of log, default: 1.0 + """ return sli_func("CreateParameter", {parametertype: specs}) @@ -929,6 +934,7 @@ class CollocatedSynapses: ------- :: + nodes = nest.Create('iaf_psc_alpha', 3) syn_spec = nest.CollocatedSynapses({'weight': 4., 'delay': 1.5}, {'synapse_model': 'stdp_synapse'}, @@ -939,6 +945,7 @@ class CollocatedSynapses: print(conns.alpha) print(len(syn_spec)) + """ def __init__(self, *args):