{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b1091d2f",
   "metadata": {},
   "source": [
    "# Tutorial 2 · Synapses and projections\n",
    "\n",
    "**What you'll learn.** How to wire one population of neurons to another with a\n",
    "single `brainpy.state.AlignPostProj`, and how to watch the postsynaptic\n",
    "conductance and membrane potential evolve as presynaptic spikes arrive.\n",
    "\n",
    "**Who it's for.** Readers who have done {doc}`01-first-neuron`. (Audience:\n",
    "simulation and training.)\n",
    "\n",
    "A **projection** bundles the four ingredients that define how one group talks to\n",
    "another:\n",
    "\n",
    "- **comm** — the connection (a weight matrix / sparse connectivity, e.g.\n",
    "  `EventFixedProb`);\n",
    "- **syn** — the synapse dynamics (here an exponential conductance, `Expon`);\n",
    "- **out** — how the synaptic variable enters the target (conductance-based\n",
    "  `COBA` or current-based `CUBA`);\n",
    "- **post** — the target population.\n",
    "\n",
    "`AlignPostProj` keeps the synaptic state aligned to the *postsynaptic* neurons,\n",
    "so memory scales as `O(N_post)` rather than with the number of synapses. The\n",
    "*why* is the keystone concept chapter {doc}`/concepts/alignpre-alignpost`; here\n",
    "we just use it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "39149643",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-17T09:09:43.812837Z",
     "iopub.status.busy": "2026-06-17T09:09:43.812687Z",
     "iopub.status.idle": "2026-06-17T09:09:48.124122Z",
     "shell.execute_reply": "2026-06-17T09:09:48.123088Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.\n"
     ]
    }
   ],
   "source": [
    "import brainpy\n",
    "import brainstate\n",
    "import braintools\n",
    "import brainunit as u\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2506f590",
   "metadata": {},
   "source": [
    "## A two-population network\n",
    "\n",
    "The presynaptic population is driven by an external current and spikes; those\n",
    "spikes feed the projection, which charges an exponential conductance on the\n",
    "postsynaptic population. Note the `.desc(...)` describers for `syn` and `out`:\n",
    "the projection builds those sub-modules itself, sized to the target."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "aa38e4e4",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-17T09:09:48.127126Z",
     "iopub.status.busy": "2026-06-17T09:09:48.126584Z",
     "iopub.status.idle": "2026-06-17T09:09:48.133270Z",
     "shell.execute_reply": "2026-06-17T09:09:48.132412Z"
    }
   },
   "outputs": [],
   "source": [
    "class TwoPop(brainstate.nn.Module):\n",
    "    def __init__(self, n_pre=20, n_post=10):\n",
    "        super().__init__()\n",
    "        self.n_pre = n_pre\n",
    "        self.n_post = n_post\n",
    "        self.pre = brainpy.state.LIFRef(\n",
    "            n_pre, tau=20. * u.ms, tau_ref=5. * u.ms,\n",
    "            V_rest=-60. * u.mV, V_th=-50. * u.mV, V_reset=-60. * u.mV,\n",
    "        )\n",
    "        self.post = brainpy.state.LIFRef(\n",
    "            n_post, tau=20. * u.ms, tau_ref=5. * u.ms,\n",
    "            V_rest=-60. * u.mV, V_th=-50. * u.mV, V_reset=-60. * u.mV,\n",
    "        )\n",
    "        # one projection: pre -> post\n",
    "        self.proj = brainpy.state.AlignPostProj(\n",
    "            comm=brainstate.nn.EventFixedProb(\n",
    "                n_pre, n_post, conn_num=0.5, conn_weight=0.5 * u.mS),\n",
    "            syn=brainpy.state.Expon.desc(n_post, tau=5. * u.ms),\n",
    "            out=brainpy.state.COBA.desc(E=0. * u.mV),\n",
    "            post=self.post,\n",
    "        )\n",
    "\n",
    "    def update(self, t, drive):\n",
    "        with brainstate.environ.context(t=t):\n",
    "            pre_spikes = self.pre.get_spike() != 0.\n",
    "            self.proj(pre_spikes)                  # route spikes through the synapse\n",
    "            self.pre(drive)                        # advance presynaptic neurons\n",
    "            self.post(0. * u.mA)                   # post driven only by the synapse\n",
    "            return (self.post.V.value,\n",
    "                    self.proj.syn.g.value,         # postsynaptic conductance\n",
    "                    pre_spikes)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3f1fb019",
   "metadata": {},
   "source": [
    "## Run it and record\n",
    "\n",
    "We record the postsynaptic membrane potential, the synaptic conductance `g`\n",
    "(reachable as `proj.syn.g`), and the presynaptic spikes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "033cf01e",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-17T09:09:48.135905Z",
     "iopub.status.busy": "2026-06-17T09:09:48.135536Z",
     "iopub.status.idle": "2026-06-17T09:09:51.671714Z",
     "shell.execute_reply": "2026-06-17T09:09:51.670964Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "postsynaptic V: (2000, 10)\n",
      "synaptic conductance g: (2000, 10) (unit: mS )\n"
     ]
    }
   ],
   "source": [
    "with brainstate.environ.context(dt=0.1 * u.ms):\n",
    "    net = TwoPop()\n",
    "    brainstate.nn.init_all_states(net)\n",
    "\n",
    "    times = u.math.arange(0. * u.ms, 200. * u.ms, brainstate.environ.get_dt())\n",
    "    post_V, syn_g, pre_spk = brainstate.transform.for_loop(\n",
    "        lambda t: net.update(t, 30. * u.mA), times)\n",
    "\n",
    "print('postsynaptic V:', post_V.shape)\n",
    "print('synaptic conductance g:', syn_g.shape, '(unit:', u.get_unit(syn_g), ')')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d7256388",
   "metadata": {},
   "source": [
    "## Visualize the synaptic interaction\n",
    "\n",
    "Top: presynaptic spike raster. Middle: the postsynaptic conductance summed over\n",
    "the population — each presynaptic spike kicks it up, then it decays\n",
    "exponentially with the synaptic time constant. Bottom: the postsynaptic membrane\n",
    "potential responding to that conductance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "4060dbea",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-17T09:09:51.675484Z",
     "iopub.status.busy": "2026-06-17T09:09:51.674937Z",
     "iopub.status.idle": "2026-06-17T09:09:52.949572Z",
     "shell.execute_reply": "2026-06-17T09:09:52.948926Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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bt1aqFevnpCTk6N/juo6fnTS0tIEJycnYfHixaW+vyqPn0f9LReER/+9KigoEJo2bSr07NlTOHPmjLBt2zbB29tbmD59utV+DhbHEluwYIEQFBQk2NnZCe3btxeOHDkidSRJACjztnz5ckEQBCEmJkbo3Lmz4OHhIdjb2wt169YV3n33XSEtLU3a4Fby8ssvC/7+/oKdnZ1Qs2ZN4eWXXxauX7+u3/7gwQPhrbfeEtzd3QUnJyfh+eefF+Lj4yVMbH3bt28XAAiRkZEG91fHsbNnz54yf59GjBghCIK2ndtHH30k+Pr6Cvb29kL37t1L7bfk5GRhyJAhQo0aNQRXV1fhtddeEzIyMiT4acyvov0THR1d7vFoz549giAIwsmTJ4WwsDBBrVYLDg4OQqNGjYQvvvjCoDh8nFW0f7Kzs4WePXsK3t7egq2trRAcHCyMGTOm1KROdR0/Ot9//73g6OgopKamlvr+qjx+HvW3XBAq9/fq5s2bQp8+fQRHR0fBy8tLmDp1qpCfn2+1n0NR9MMQEREREVV7XHNMRERERFSExTERERERUREWx0RERERERVgcExEREREVYXFMRERERFSExTERERERUREWx0RERERERVgcExEREREVsZE6gNxoNBrExcXBxcUFCoVC6jhEREREZAaCICAjIwMBAQFQKsufH2ZxXEJcXBwCAwOljkFEREREFhAbG4tatWqVu53FcQkuLi4AtDvO1dVV4jREREREZA7p6ekIDAzU13rlYXFcgm4phaurK4tjIiIioirmUctmeUIeEREREVERFsdEREREREW4rEJix2+m4F5GLloEuiHAzVHqOERERETVGmeOJTb/36sYt+oUTty6L3UUIiIiomqPxbHEVErtonCNRpA4CRERERGxOJaYsqg4LmRxTERERCQ5FscSUxV1EykUWBwTERERSY3FscS4rIKIiIhIPlgcS0xZ1IiaM8dERERE0mNxLDFdccyJYyIiIiLpsTiWGJdVEBEREckHi2OJsVsFERERkXywOJaYrluFhmuOiYiIiCTH4lhinDkmIiIikg8WxxJTsVsFERERkWywOJaY7oQ81sZERERE0mNxLDGFgssqiIiIiOSCxbHEVEX/B1gcExEREUmPxbHEVPqLgLA4JiIiIpIai2OJsVsFERERkXywOJYYu1UQERERyQeLY4nx8tFE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",
      "text/plain": [
       "<Figure size 700x540 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "t_ms = times.to_decimal(u.ms)\n",
    "\n",
    "fig, gs = braintools.visualize.get_figure(3, 1, 1.8, 7.0)\n",
    "\n",
    "ax = fig.add_subplot(gs[0, 0])\n",
    "ti, ni = u.math.where(pre_spk)\n",
    "ax.scatter(t_ms[ti], ni, s=4, color='k')\n",
    "ax.set_ylabel('pre neuron')\n",
    "\n",
    "ax = fig.add_subplot(gs[1, 0])\n",
    "ax.plot(t_ms, u.math.sum(syn_g, axis=1).to_decimal(u.mS))\n",
    "ax.set_ylabel('total g (mS)')\n",
    "\n",
    "ax = fig.add_subplot(gs[2, 0])\n",
    "ax.plot(t_ms, post_V.to_decimal(u.mV)[:, 0])\n",
    "ax.axhline(-50., ls='--', color='gray', lw=1)\n",
    "ax.set_xlabel('Time (ms)')\n",
    "ax.set_ylabel('post V (mV)')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4bbee415",
   "metadata": {},
   "source": [
    "## See also\n",
    "\n",
    "- {doc}`03-ei-balanced-network` — scale this up to an excitatory/inhibitory\n",
    "  network.\n",
    "- {doc}`/concepts/alignpre-alignpost` — the keystone: why state aligns to the\n",
    "  postsynaptic side and when to use AlignPre instead.\n",
    "- {doc}`../howto/sim-coba-cuba-synapses` — conductance- vs current-based outputs.\n",
    "- {doc}`../howto/sim-delays` — add a transmission delay to a projection."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
