Skip to content

Commit 6319ea2

Browse files
authored
docs update (#254)
docs update
2 parents c59a32b + 60d3d54 commit 6319ea2

16 files changed

+134
-76
lines changed
-66.6 KB
Loading

docs/quickstart/analysis.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@
225225
}
226226
},
227227
"source": [
228-
"In the ``Bifurcation1D`` analyzer, ``model`` refers to the modelto be analyzed (essentially the analyzer will access the derivative function in the model), ``target_vars`` denotes the target variables, ``target_pars`` denotes the changing parameters, and ``resolution`` determines the resolutioin of the analysis."
228+
"In the ``Bifurcation1D`` analyzer, ``model`` refers to the model to be analyzed (essentially the analyzer will access the derivative function in the model), ``target_vars`` denotes the target variables, ``target_pars`` denotes the changing parameters, and ``resolution`` determines the resolutioin of the analysis."
229229
]
230230
},
231231
{

docs/quickstart/installation.rst

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,17 +118,12 @@ Alternatively, you can download the preferred release ".whl" file for jaxlib, an
118118
pip install jax
119119
120120
121-
.. warning::
122-
For m1 macOS users, you should run your python environment on ``Apple`` silicon instead of ``intel``
123-
silicon since ``rosetta2`` cannot translate ``jaxlib``. One suggestion is uninstall miniconda3 and install
124-
miniforge3 for managing your python environment.
125-
126121
Windows
127122
^^^^^^^
128123

129124
For **Windows** users, JAX can be installed by the following methods:
130125

131-
- **Method 1**: There are several community supported Windows build for jax, please refer
126+
- **Method 1**: There are several communities support JAX for Windows, please refer
132127
to the github link for more details: https://github.com/cloudhan/jax-windows-builder .
133128
Simply speaking, the provided binary releases of JAX for Windows
134129
are available at https://whls.blob.core.windows.net/unstable/index.html .

docs/quickstart/simulation.ipynb

Lines changed: 22 additions & 29 deletions
Large diffs are not rendered by default.

docs/quickstart/training.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
}
3434
},
3535
"source": [
36-
"In recent years, we saw the revolution that training a dynamical system from data or tasks has provided important insights to understand brain functions. To support this, BrainPy porvides various interfaces to help users train dynamical systems. "
36+
"In recent years, we saw the revolution that training a dynamical system from data or tasks has provided important insights to understand brain functions. To support this, BrainPy provides various interfaces to help users train dynamical systems."
3737
]
3838
},
3939
{
@@ -743,7 +743,7 @@
743743
}
744744
},
745745
"source": [
746-
"Here, we demonstrate how to train an artificial recurrent neural network by using a white noise integration task. In this task, we want our trained RNN model has the ability to integrate white noise. For example, if we has a time series of noise data, "
746+
"Here, we demonstrate how to train an artificial recurrent neural network by using a white noise integration task. In this task, we want our trained RNN model has the ability to integrate white noise. For example, if we have a time series of noise data,"
747747
]
748748
},
749749
{

docs/tutorial_analysis/decision_making_model.ipynb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
}
3434
},
3535
"source": [
36-
"In this section, we are going to use the [low-dimensional analyzers](./lowdim_analysis.ipynb) to make phase plane and bifurcation analysis for the decision making model proposed by (Wong & Wang) [1]. "
36+
"In this section, we are going to use the [low-dimensional analyzers](./lowdim_analysis.ipynb) to make phase plane and bifurcation analysis for the decision-making model proposed by (Wong & Wang) [1]."
3737
]
3838
},
3939
{
@@ -203,7 +203,7 @@
203203
}
204204
},
205205
"source": [
206-
"The advantage of the reduced model is that we can understand what dynamical behaviors the model generate for a particular parmeter set using phase-plane analysis and the explore how this behavior changed when the model parameters are variaed (bifurcation analysis). \n",
206+
"The advantage of the reduced model is that we can understand what dynamical behaviors the model generate for a particular parmeter set using phase-plane analysis and the explore how this behavior changed when the model parameters are varied (bifurcation analysis).\n",
207207
"\n",
208208
"To this end, we will use ``brainpy.analysis`` module. "
209209
]
@@ -517,7 +517,7 @@
517517
}
518518
},
519519
"source": [
520-
"To see how the ohase portrait of the system changed when we chang the stimulus current, we will generate a bifucation diagram for the reduced model. On the bifurcation diagram the fixed points of the model are shown as a function of a changing parameter. \n",
520+
"To see how the phase portrait of the system changed when we chang the stimulus current, we will generate a bifurcation diagram for the reduced model. On the bifurcation diagram the fixed points of the model are shown as a function of a changing parameter.\n",
521521
"\n",
522522
"In the next, we generate bifurcation diagrams with the different parameters. "
523523
]

docs/tutorial_analysis/highdim_analysis.ipynb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@
206206
}
207207
},
208208
"source": [
209-
"``brainpy.analysis.SlowPointFinder`` is aimed to find slow/fixed points of high-dimensional systems. Of course, it can optimize to find fixed points of low-dimensional systems. We take the 2D decision making system as an example. "
209+
"``brainpy.analysis.SlowPointFinder`` is aimed to find slow/fixed points of high-dimensional systems. Of course, it can optimize to find fixed points of low-dimensional systems. We take the 2D decision-making system as an example."
210210
]
211211
},
212212
{
@@ -515,7 +515,7 @@
515515
{
516516
"cell_type": "markdown",
517517
"source": [
518-
"The following code demonstrates how to use ``SlowPointFinder`` to find fixed points of a continous-attractor neural network."
518+
"The following code demonstrates how to use ``SlowPointFinder`` to find fixed points of a continuous attractor neural network."
519519
],
520520
"metadata": {
521521
"collapsed": false,
@@ -569,7 +569,7 @@
569569
{
570570
"cell_type": "markdown",
571571
"source": [
572-
"The found fixed points are a series of attractor. We can visualized this line of attractors on a 2D space."
572+
"The found fixed points are a series of attractor. We can visualize this line of attractors on a 2D space."
573573
],
574574
"metadata": {
575575
"collapsed": false,

docs/tutorial_analysis/lowdim_analysis.ipynb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@
121121
}
122122
},
123123
"source": [
124-
"As known to us all, this functuon has multiple fixed points ($\\frac{dx}{dt} = 0$) when $I=0$."
124+
"As known to us all, this function has multiple fixed points ($\\frac{dx}{dt} = 0$) when $I=0$."
125125
]
126126
},
127127
{
@@ -269,7 +269,7 @@
269269
}
270270
},
271271
"source": [
272-
"Yeah, absolutelty, ``brainpy.analysis.PhasePlane1D`` gives us the right fixed points, and correctly evalutes the stability of these fixed points. "
272+
"Yeah, absolutelty, ``brainpy.analysis.PhasePlane1D`` gives us the right fixed points, and correctly evaluates the stability of these fixed points."
273273
]
274274
},
275275
{
@@ -280,7 +280,7 @@
280280
}
281281
},
282282
"source": [
283-
"Phase plane is important, because it give us the intuitive understanding how the system evolves with the given parameters. However, in most cases where we care about how the parameters affect the system behaviors, we should make bifurcation analysis. [brainpy.analysis.Bifurcation1D](../apis/auto/analysis/generated/brainpy.analysis.lowdim.Bifurcation1D.rst) is a convenient interface to help you get the insights of how the dynamics of a 1D system changes with parameters. \n",
283+
"Phase plane is important, because it gives us the intuitive understanding how the system evolves with the given parameters. However, in most cases where we care about how the parameters affect the system behaviors, we should make bifurcation analysis. [brainpy.analysis.Bifurcation1D](../apis/auto/analysis/generated/brainpy.analysis.lowdim.Bifurcation1D.rst) is a convenient interface to help you get the insights of how the dynamics of a 1D system changes with parameters.\n",
284284
"\n",
285285
"Similar to ``brainpy.analysis.PhasePlane1D``, ``brainpy.analysis.Bifurcation1D`` receives arguments like \"model\", \"target_vars\", \"pars_update\", and \"resolutions\". Besides, one more important argument **\"target_pars\"** should be provided, which specifies the range of the target parameter in bifurcation analysis."
286286
]
@@ -293,7 +293,7 @@
293293
}
294294
},
295295
"source": [
296-
"Here, we systematically change the parameter \"Iext\" from 0 to 1.5. According to the bifurcation theory, we know this simple system has a fold bifurcation when $I=1.0$. Because at $I=1.0$, two fixed points collide with each other into a saddle point and then disappear. Does BrainPy's analysis toolkit ``brainpy.analysis.Bifurcation1D`` is capable of performing these analysis? Let's make a try."
296+
"Here, we systematically change the parameter \"Iext\" from 0 to 1.5. According to the bifurcation theory, we know this simple system has a fold bifurcation when $I=1.0$. Because at $I=1.0$, two fixed points collide with each other into a saddle point and then disappear. Does BrainPy's analysis toolkit ``brainpy.analysis.Bifurcation1D`` is capable of performing these analyses? Let's make a try."
297297
]
298298
},
299299
{
@@ -355,7 +355,7 @@
355355
}
356356
},
357357
"source": [
358-
"It is worthy to note that bifurcation analysis in BrainPy is hard to find out the saddle point (when $I=0$ for this system). This is because the saddle point at the bifurcation just exists at a moment. While the numerical method used in BrainPy analysis toolkit is almost impossible to evaluate the point exactly at the saddle. However, if the user has the minimal knowledge about the bifurcation theory, saddle point (the collision point of two fixed points) can be easily infered from the fixed point evolution."
358+
"It is worthy to note that bifurcation analysis in BrainPy is hard to find out the saddle point (when $I=0$ for this system). This is because the saddle point at the bifurcation just exists at a moment. While the numerical method used in BrainPy analysis toolkit is almost impossible to evaluate the point exactly at the saddle. However, if the user has the minimal knowledge about the bifurcation theory, saddle point (the collision point of two fixed points) can be easily inferred from the fixed point evolution."
359359
]
360360
},
361361
{
@@ -388,10 +388,10 @@
388388
}
389389
},
390390
"source": [
391-
"Phase plane analysis is one of the most important techniques for studying the behavior of nonlinear systems, since there is usually no analytical solution for a nonlinear system. BrainPy can help users to plot phase plane of 1D systems or 2D systems. Specifically, we provides [brainpy.analysis.PhasePlane1D](../apis/auto/analysis/generated/brainpy.analysis.lowdim.PhasePlane1D.rst) and [brainpy.analysis.PhasePlane2D](../apis/auto/analysis/generated/brainpy.analysis.lowdim.PhasePlane2D.rst). It can help to plot:\n",
391+
"Phase plane analysis is one of the most important techniques for studying the behavior of nonlinear systems, since there is usually no analytical solution for a nonlinear system. BrainPy can help users to plot phase plane of 1D systems or 2D systems. Specifically, we provide [brainpy.analysis.PhasePlane1D](../apis/auto/analysis/generated/brainpy.analysis.lowdim.PhasePlane1D.rst) and [brainpy.analysis.PhasePlane2D](../apis/auto/analysis/generated/brainpy.analysis.lowdim.PhasePlane2D.rst). It can help to plot:\n",
392392
"\n",
393393
"- **Nullcline**: The zero-growth isoclines, such as $g(x, y)=0$ and $g(x, y)=0$.\n",
394-
"- **Fixed points**: The equilibrium points of the system, which are located at all of the nullclines intersect.\n",
394+
"- **Fixed points**: The equilibrium points of the system, which are located at all the nullclines intersect.\n",
395395
"- **Vector field**: The vector field of the system.\n",
396396
"- **Limit cycles**: The limit cycles.\n",
397397
"- **Trajectories**: A simulation trajectory with the given initial values."
@@ -710,7 +710,7 @@
710710
"It is highly recommended that users specify the resolution to specific parameters or variables by a dict rather than set a float value, which will be applied to all variables. Otherwise, the computation will occupy too much memory if the resolution is set very small. For example, if you want to set the resolution of variable `x` as 0.01, please use `resolutions={'x': 0.01}`.\n",
711711
"```\n",
712712
"\n",
713-
"Enabling set ``resolutions`` with a tensor will give the user the maximal flexibility. Usually, the numerical alalysis does not work well at inflection points. Therefore, we can increase the granularity near the inflection points. For example, if there is an inflextion point at $1$, we can set the resolution with:"
713+
"Enabling set ``resolutions`` with a tensor will give the user the maximal flexibility. Usually, the numerical analysis does not work well at inflection points. Therefore, we can increase the granularity near the inflection points. For example, if there is an inflection point at $1$, we can set the resolution with:"
714714
]
715715
},
716716
{
@@ -825,7 +825,7 @@
825825
}
826826
},
827827
"source": [
828-
"We will first see the codimension 1 bifurcation anlysis of the model. For example, we vary the input $I_{ext}$ between 0 to 1 and see how the system change it's stability."
828+
"We will first see the codimension 1 bifurcation analysis of the model. For example, we vary the input $I_{ext}$ between 0 and 1 and see how the system change its stability."
829829
]
830830
},
831831
{
@@ -996,7 +996,7 @@
996996
"BrainPy also provides a tool for fast-slow system bifurcation analysis by using [brainpy.analysis.FastSlow1D](../apis/auto/analysis/generated/brainpy.analysis.lowdim.FastSlow1D.rst) and [brainpy.analysis.FastSlow2D](../apis/auto/analysis/generated/brainpy.analysis.lowdim.FastSlow2D.rst). This method is proposed by John Rinzel [1, 2, 3]. (J Rinzel, 1985, 1986, 1987) proposed that in a fast-slow dynamical system, we can treat the slow variables as the bifurcation parameters, and then study how the different value of slow variables affect the bifurcation of the fast sub-system.\n",
997997
"\n",
998998
"\n",
999-
"Fast-slow bifurcation methods are very usefull in the bursting neuron analysis. I will illustrate this by using the Hindmarsh-Rose model. The Hindmarsh–Rose model of neuronal activity is aimed to study the spiking-bursting behavior of the membrane potential observed in experiments made with a single neuron. Its dynamics are governed by:\n",
999+
"Fast-slow bifurcation methods are very useful in the bursting neuron analysis. I will illustrate this by using the Hindmarsh-Rose model. The Hindmarsh–Rose model of neuronal activity is aimed to study the spiking-bursting behavior of the membrane potential observed in experiments made with a single neuron. Its dynamics are governed by:\n",
10001000
"\n",
10011001
"$$\n",
10021002
"\\begin{aligned}\n",
@@ -1015,7 +1015,7 @@
10151015
}
10161016
},
10171017
"source": [
1018-
"First of all, let's define the Hindmarsh–Rose model with BrainPy. "
1018+
"First, let's define the Hindmarsh–Rose model with BrainPy."
10191019
]
10201020
},
10211021
{

docs/tutorial_building/build_network_models.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
}
8888
},
8989
"source": [
90-
"The E-I balanced network was first proposed to explain the irregular firing patterns of cortical neurons and comfirmed by experimental data. The network [1] we are going to implement consists of excitatory (E) neurons and inhibitory (I) neurons, the ratio of which is about 4 : 1. The biggest difference between excitatory and inhibitory neurons is the reversal potential - the reversal potential of inhibitory neurons is much lower than that of excitatory neurons. Besides, the membrane time constant of inhibitory neurons is longer than that of excitatory neurons, which indicates that inhibitory neurons have slower dynamics."
90+
"The E-I balanced network was first proposed to explain the irregular firing patterns of cortical neurons and confirmed by experimental data. The network [1] we are going to implement consists of excitatory (E) neurons and inhibitory (I) neurons, the ratio of which is about 4 : 1. The biggest difference between excitatory and inhibitory neurons is the reversal potential - the reversal potential of inhibitory neurons is much lower than that of excitatory neurons. Besides, the membrane time constant of inhibitory neurons is longer than that of excitatory neurons, which indicates that inhibitory neurons have slower dynamics."
9191
]
9292
},
9393
{
@@ -395,7 +395,7 @@
395395
}
396396
},
397397
"source": [
398-
"All elements are passed as ``**kwargs`` argument can be accessed by the provided keys. This will affect the following dynamics simualtion and will be discussed in greater detail in tutorial of [Runners](../tutorial_toolbox/runners.ipynb)."
398+
"All elements are passed as ``**kwargs`` argument can be accessed by the provided keys. This will affect the following dynamics simulation and will be discussed in greater detail in tutorial of [Runners](../tutorial_toolbox/runners.ipynb)."
399399
]
400400
},
401401
{

docs/tutorial_building/build_synapse_models.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
{
2828
"cell_type": "markdown",
2929
"source": [
30-
"In BrainPy, synapse models can be created by several ways. In this section, we will talk about a structural building process with ``brainpy.dyn.TwoEndConn``. ``brainpy.dyn.TwoEndConn`` is used to create models with pre- and post-synaptic neuron groups.\n",
30+
"In BrainPy, synapse models can be created by several ways. In this section, we will talk about a structural building process with ``brainpy.dyn.TwoEndConn``, which is used to create models with pre- and post-synaptic neuron groups.\n",
3131
"A synapse model is decomposed into several components in ``brainpy.dyn.TwoEndConn``. In such a way, building a synapse model can follow a modular and composable programming interface.\n",
3232
"Fore more details of defining a general synapse model, please refer to ``brainpy.dyn.SynConn`` in [Tutorial: Customizing Synapse Models](./customize_synapse_models.ipynb)."
3333
],
@@ -132,7 +132,7 @@
132132
"I_{\\mathrm{post}}(t) = g_{\\mathrm{max}} * g * (V_{\\mathrm{post}}(t)-E),\n",
133133
"$$\n",
134134
"\n",
135-
"where its $f_{\\mathrm{dyn}}$ is defined as equation (1), its $f_{\\mathrm{LTP}}$ and $f_{\\mathrm{STP}}$ is the identy function $x = f(x)$, $f_{\\mathrm{out}}$ is defined as a conductance-based form with $(V(t)-E_{\\mathrm{post}})$.\n",
135+
"where its $f_{\\mathrm{dyn}}$ is defined as equation (1), its $f_{\\mathrm{LTP}}$ and $f_{\\mathrm{STP}}$ is the identity function $x = f(x)$, $f_{\\mathrm{out}}$ is defined as a conductance-based form with $(V_{\\mathrm{post}}(t)-E)$.\n",
136136
"\n"
137137
],
138138
"metadata": {

0 commit comments

Comments
 (0)