2024-heraklion-scientific-p.../generate_assets/explain_the_walker.ipynb

1511 lines
528 KiB
Plaintext
Raw Normal View History

2024-08-27 14:52:41 +02:00
{
"cells": [
{
"cell_type": "code",
"source": [
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"from matplotlib.backends.backend_pdf import PdfPages\n",
"import matplotlib as mpl\n"
],
"outputs": [],
"execution_count": 2,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T08:39:25.127Z",
"iopub.execute_input": "2022-08-14T08:39:25.137Z",
"iopub.status.idle": "2022-08-14T08:39:26.175Z",
"shell.execute_reply": "2022-08-14T08:39:26.185Z"
}
}
},
{
"cell_type": "code",
"source": [
"sz = 14\n",
"bg = np.zeros((sz+1,sz+1))"
],
"outputs": [],
"execution_count": 217,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:37:47.981Z",
"iopub.execute_input": "2022-08-14T09:37:47.993Z",
"iopub.status.idle": "2022-08-14T09:37:48.010Z",
"shell.execute_reply": "2022-08-14T09:37:48.020Z"
}
}
},
{
"cell_type": "code",
"source": [
"def draw_grid(ax, sz):\n",
" ax.vlines(np.linspace(-0.5,sz+0.5, sz+2), -1, sz+2, colors=\"black\", lw=0.5)\n",
" ax.hlines(np.linspace(-0.5,sz+0.5, sz+2), -1, sz+2, colors=\"black\", lw=0.5)\n",
" ax.set_xlim(-0.5, sz+0.5)\n",
" ax.set_ylim(-0.5, sz+0.5) \n",
" return ax"
],
"outputs": [],
"execution_count": 218,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:37:48.193Z",
"iopub.execute_input": "2022-08-14T09:37:48.204Z",
"iopub.status.idle": "2022-08-14T09:37:48.221Z",
"shell.execute_reply": "2022-08-14T09:37:48.233Z"
}
}
},
{
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=(10,10))\n",
"ax.matshow(bg, cmap=\"Greens\")\n",
"ax = draw_grid(ax, sz)\n",
"ax.scatter([7],[7], c=\"red\", s=100)\n",
"fig.savefig(\"walk1.png\", transparent=True)"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 720x720 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 219,
"metadata": {
"collapsed": false,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:37:48.791Z",
"iopub.execute_input": "2022-08-14T09:37:48.802Z",
"iopub.status.idle": "2022-08-14T09:37:48.933Z",
"shell.execute_reply": "2022-08-14T09:37:48.954Z"
}
}
},
{
"cell_type": "code",
"source": [
"bg = np.zeros((sz+1,sz+1))\n",
"bg[[6,8], [7,7]] = 1\n",
"bg[[7,7], [6,8]] = 1\n"
],
"outputs": [],
"execution_count": 195,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:25:20.150Z",
"iopub.execute_input": "2022-08-14T09:25:20.161Z",
"iopub.status.idle": "2022-08-14T09:25:20.176Z",
"shell.execute_reply": "2022-08-14T09:25:20.185Z"
}
}
},
{
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=(10,10))\n",
"ax.matshow(bg, cmap=\"Greens\", vmax=2)\n",
"ax = draw_grid(ax, sz)\n",
"ax.scatter([7],[7], c=\"red\", s=100)\n",
"for i,j in zip([1,0,-1,0], [0,1,0,-1]):\n",
" ax.annotate(\"\", xy=(7+i, 7+j), xytext=(7, 7), arrowprops=dict(arrowstyle=\"->\"))\n",
"fig.savefig(\"walk2.png\", transparent=True)"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 720x720 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 196,
"metadata": {
"collapsed": false,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:25:21.500Z",
"iopub.execute_input": "2022-08-14T09:25:21.510Z",
"iopub.status.idle": "2022-08-14T09:25:21.765Z",
"shell.execute_reply": "2022-08-14T09:25:21.788Z"
}
}
},
{
"cell_type": "code",
"source": [
"bg = np.zeros((sz+1,sz+1))\n",
"bg[[6,8], [7,7]] = 0.5\n",
"bg[[7,7], [6,8]] = 0.5\n",
"bg[[7 ], [8]] = 1"
],
"outputs": [],
"execution_count": 197,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:25:25.732Z",
"iopub.execute_input": "2022-08-14T09:25:25.741Z",
"iopub.status.idle": "2022-08-14T09:25:25.755Z",
"shell.execute_reply": "2022-08-14T09:25:25.764Z"
}
}
},
{
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=(10,10))\n",
"ax.matshow(bg, cmap=\"Greens\", vmax=2)\n",
"ax = draw_grid(ax, sz)\n",
"ax.scatter([7],[7], c=\"pink\", s=100)\n",
"ax.scatter([8],[7], c=\"red\", s=100)\n",
"ax.plot([7, 8],[7,7], c=\"red\", lw=3)\n",
"fig.savefig(\"walk3.png\", transparent=True)"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 720x720 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 198,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:25:31.185Z",
"iopub.execute_input": "2022-08-14T09:25:31.194Z",
"iopub.status.idle": "2022-08-14T09:25:31.427Z",
"shell.execute_reply": "2022-08-14T09:25:31.446Z"
}
}
},
{
"cell_type": "code",
"source": [
"bg = np.zeros((sz+1,sz+1))\n",
"bg[[6,8], [8,8]] = 1\n",
"bg[[7,7], [7,9]] = 1\n"
],
"outputs": [],
"execution_count": 199,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:25:32.184Z",
"iopub.execute_input": "2022-08-14T09:25:32.195Z",
"iopub.status.idle": "2022-08-14T09:25:32.214Z",
"shell.execute_reply": "2022-08-14T09:25:32.225Z"
}
}
},
{
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=(10,10))\n",
"ax.matshow(bg, cmap=\"Greens\", vmax=2)\n",
"ax = draw_grid(ax, sz)\n",
"ax.scatter([7],[7], c=\"pink\", s=100)\n",
"ax.scatter([8],[7], c=\"red\", s=100)\n",
"ax.plot([7, 8],[7,7], c=\"red\", lw=3)\n",
"for i,j in zip([1,0,-1,0], [0,1,0,-1]):\n",
" ax.annotate(\"\", xy=(8+i, 7+j), xytext=(8,7), arrowprops=dict(arrowstyle=\"->\"))\n",
"fig.savefig(\"walk4.png\", transparent=True)"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 720x720 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 201,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:25:39.931Z",
"iopub.execute_input": "2022-08-14T09:25:39.943Z",
"iopub.status.idle": "2022-08-14T09:25:40.229Z",
"shell.execute_reply": "2022-08-14T09:25:40.249Z"
}
}
},
{
"cell_type": "code",
"source": [
"np.random.seed(42)\n",
"bg = np.zeros((sz+1,sz+1))\n",
"i = np.random.randint(-1,2, size=(50))\n",
"j = np.random.randint(-1,2, size=(50))\n",
"j[i!=0] = 0\n",
"i[j!=0] = 0\n",
"i[0]=0\n",
"j[0]=0\n",
"#i[i==0] = -1\n",
"#j[i==j]=-1\n",
"#j[i==j]=1\n",
"#i==j\n",
"i+7,j"
],
"outputs": [
{
"output_type": "execute_result",
"execution_count": 202,
"data": {
"text/plain": "(array([7, 6, 8, 8, 6, 6, 8, 7, 8, 8, 8, 8, 6, 8, 7, 6, 7, 7, 7, 7, 6, 6,\n 7, 7, 6, 6, 6, 8, 8, 8, 7, 8, 7, 7, 8, 7, 8, 8, 6, 8, 6, 8, 8, 6,\n 6, 8, 7, 6, 7, 7]),\n array([ 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1]))"
},
"metadata": {}
}
],
"execution_count": 202,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:25:43.403Z",
"iopub.execute_input": "2022-08-14T09:25:43.415Z",
"iopub.status.idle": "2022-08-14T09:25:43.442Z",
"shell.execute_reply": "2022-08-14T09:25:43.453Z"
}
}
},
{
"cell_type": "code",
"source": [
"i.cumsum()+7"
],
"outputs": [
{
"output_type": "execute_result",
"execution_count": 203,
"data": {
"text/plain": "array([ 7, 6, 7, 8, 7, 6, 7, 7, 8, 9, 10, 11, 10, 11, 11, 10, 10,\n 10, 10, 10, 9, 8, 8, 8, 7, 6, 5, 6, 7, 8, 8, 9, 9, 9,\n 10, 10, 11, 12, 11, 12, 11, 12, 13, 12, 11, 12, 12, 11, 11, 11])"
},
"metadata": {}
}
],
"execution_count": 203,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:25:44.486Z",
"iopub.execute_input": "2022-08-14T09:25:44.497Z",
"iopub.status.idle": "2022-08-14T09:25:44.519Z",
"shell.execute_reply": "2022-08-14T09:25:44.529Z"
}
}
},
{
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=(10,10))\n",
"ax.matshow(bg, cmap=\"Greens\", vmax=2)\n",
"ax = draw_grid(ax, sz)\n",
"ax.scatter([i.cumsum()+7],[j.cumsum()+7], c=\"red\", alpha=0.3, s=100)\n",
"#ax.scatter([8],[7], c=\"red\", s=100)\n",
"ax.plot(i.cumsum()+7,j.cumsum()+7, c=\"red\", alpha=0.3, lw=3)\n",
"fig.savefig(\"walk5.png\", transparent=True)"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 720x720 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 204,
"metadata": {
"collapsed": false,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:25:50.619Z",
"iopub.execute_input": "2022-08-14T09:25:50.629Z",
"iopub.status.idle": "2022-08-14T09:25:50.863Z",
"shell.execute_reply": "2022-08-14T09:25:50.881Z"
}
}
},
{
"cell_type": "code",
"source": [
"def next_step_probability(current_i, current_j, sigma_i, sigma_j, size):\n",
" grid_ii, grid_jj = np.mgrid[0:size, 0:size]\n",
" rad = (\n",
" (((grid_ii - current_i) ** 2) / (sigma_i ** 2))\n",
" + (((grid_jj - current_j) ** 2)/ (sigma_j ** 2))\n",
" )\n",
"\n",
" p_next_step = np.exp(-(rad / 2.0)) / (2.0 * np.pi * sigma_i * sigma_j)\n",
" return p_next_step / p_next_step.sum()\n"
],
"outputs": [],
"execution_count": 209,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:36:39.525Z",
"iopub.execute_input": "2022-08-14T09:36:39.537Z",
"iopub.status.idle": "2022-08-14T09:36:39.552Z",
"shell.execute_reply": "2022-08-14T09:36:39.563Z"
}
}
},
{
"cell_type": "code",
"source": [
"bg = next_step_probability(7, 7, 2, 3, sz+1)\n",
"plt.matshow(bg)"
],
"outputs": [
{
"output_type": "execute_result",
"execution_count": 214,
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0x128caeef0>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 288x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 214,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:37:29.171Z",
"iopub.execute_input": "2022-08-14T09:37:29.184Z",
"iopub.status.idle": "2022-08-14T09:37:29.283Z",
"shell.execute_reply": "2022-08-14T09:37:29.303Z"
}
}
},
{
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=(10,10))\n",
"ax.matshow(bg, cmap=\"Greens\")\n",
"ax = draw_grid(ax, sz)\n",
"ax.scatter([7],[7], c=\"red\", s=100)\n",
"fig.savefig(\"walk6.png\", transparent=True)"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 720x720 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 216,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:37:38.672Z",
"iopub.execute_input": "2022-08-14T09:37:38.687Z",
"iopub.status.idle": "2022-08-14T09:37:38.928Z",
"shell.execute_reply": "2022-08-14T09:37:38.949Z"
}
}
},
{
"cell_type": "code",
"source": [
"grid_ii, grid_jj = np.mgrid[0:200, 0:200]\n",
"my_i = np.sin(grid_ii/130) + np.sin(grid_ii/10)\n",
"my_i /= my_i.max()\n",
"my_j = np.sin(grid_jj/100) + np.sin(grid_jj/50)+ np.sin(grid_jj/10)\n",
"my_j /= my_j.max()\n",
"#grid_jj\n",
"\n",
"fig, ax = plt.subplots(figsize=(10,10))\n",
"ax.matshow(my_j+my_i, cmap=\"Reds\")\n",
"ax = draw_grid(ax, 100)\n",
"#ax.scatter([7],[7], c=\"red\", s=100)\n",
"fig.savefig(\"walk7.png\", transparent=True)\n",
"\n"
],
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 720x720 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 227,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-14T09:43:00.706Z",
"iopub.execute_input": "2022-08-14T09:43:00.723Z",
"iopub.status.idle": "2022-08-14T09:43:00.972Z",
"shell.execute_reply": "2022-08-14T09:43:00.998Z"
}
}
},
{
"cell_type": "markdown",
"source": [
"# Simulating some data"
],
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
}
},
{
"cell_type": "code",
"source": [
"parameters = {\"sigma_i\" : 2,\n",
" \"sigma_j\" : 3}"
],
"outputs": [],
"execution_count": 2,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:41:44.483Z",
"iopub.execute_input": "2022-08-08T19:41:44.491Z",
"iopub.status.idle": "2022-08-08T19:41:44.503Z",
"shell.execute_reply": "2022-08-08T19:41:44.569Z"
}
}
},
{
"cell_type": "markdown",
"source": [
"## in a maze"
],
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
}
},
{
"cell_type": "code",
"source": [
"initial_act = np.ones((200, 200))\n",
"initial_act[50:100, 50:60] = 0\n",
"initial_act[20:89, 80:90] = 0\n",
"initial_act[90:120, 0:10] = 0\n",
"initial_act[120:200, 30:40] = 0\n",
"initial_act[180:190, 50:60] = 0\n",
"\n",
"initial_act[50:60, 50:200] = 0\n",
"initial_act[179:189, 80:130] = 0\n",
"initial_act[110:120, 0:190] = 0\n",
"initial_act[120:200, 30:40] = 0\n",
"initial_act[180:190, 50:60] = 0"
],
"outputs": [],
"execution_count": 3,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:41:44.514Z",
"iopub.execute_input": "2022-08-08T19:41:44.521Z",
"iopub.status.idle": "2022-08-08T19:41:44.533Z",
"shell.execute_reply": "2022-08-08T19:41:44.573Z"
}
}
},
{
"cell_type": "code",
"source": [
"plt.matshow(initial_act)\n",
"plt.colorbar()"
],
"outputs": [
{
"output_type": "execute_result",
"execution_count": 4,
"data": {
"text/plain": "<matplotlib.colorbar.Colorbar at 0x114cd65f0>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 345.6x345.6 with 2 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAATAAAAEkCAYAAACovG1+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAATUElEQVR4nO3df4yd113n8fcnbtOI0IW2LiG1XRoVV8KF1hTLRQJBqnaxkz9iEKvIRoiAIsIfCUJid7WpQG2VFRKwYishpQUjogSk1phK3VrCW9PNtqq0oq1dYULskjKkKbGTxuQHFSJqUo+/+8d9nN6ZOzP3x8z1nXP9fkmP5j7PPffc83jGX51znvMjVYUkteiaWRdAkiZlAJPULAOYpGYZwCQ1ywAmqVkGMEnNMoBJmrokDyS5kOTRVd5Pkj9MspDkkSTvGiVfA5ikK+FBYP8a798C7OyOu4CPjpKpAUzS1FXV54Hn10hyAPiz6vkC8L1JbhyWrwFM0mawDXiy7/xcd21Nr5pacSQ1ad97rq/nnl8c6zNffuSlM8C3+i4drqrDG1qwFRjAJC3x7POLfPHE9rE+8+ob/+lbVbVnHV97HtjRd769u7Ymm5CSlikW69JYxwY4BvxS9zTyx4FvVtXTwz5kDUzSEgVcYmNXqUnyceBmYGuSc8AHgVcDVNUfAceBW4EF4EXgV0bJ1wAmacAlNqRW9YqqOjTk/QLuHjdfA5ikJYpisZF1Ag1gkgZsdBNyWgxgkpYoYNEAJqlV1sAkNamgmT6wmY8DS7I/yWPdLPR7Z12e9UjyRJK/T3I6yanu2uuTfCbJP3Y/Xzfrcg6z0soBq93HpKsIXGmr3NOHkpzvfl+nk9za9977u3t6LMm+2ZR6di6NeczKTANYki3A/fRmou8CDiXZNcsybYD3VNXuvlHJ9wIPV9VO4OHufLN7kMGVA1a7j4lWEZiBB1l5NYQPd7+v3VV1HKD7GzwIvL37zEe6v9WrQlEsjnnMyqxrYHuBhap6vKpeBo7Qm5U+Tw4AD3WvHwJ+dnZFGc0qKwesdh8TrSJwpY2wGkK/A8CRqnqpqr5Gb3Dl3qkVThObdQCbaAb6JlbAXyf5cpK7ums39E2J+AZww2yKtm6r3Ufrv8N7uqbvA33N+9bvaX0KFsc8ZmXWAWze/GRVvYtes+ruJD/V/2Y32riN3tE1zMt90GvuvhXYDTwN/MFMS7NJ9KYS2Qc2iolmoG9WVXW++3kB+CS9Zsczl5tU3c8Lsyvhuqx2H83+DqvqmaparKpLwJ/wnWZis/e0McLimMeszDqAnQR2JrkpybX0Ok6PzbhME0lyfZLXXn4N/AzwKL37uaNLdgfwqdmUcN1Wu4+JVhHYDJb11f0cvd8X9O7pYJLXJLmJ3gOKL13p8s1KAZdqvGNWZjoOrKouJrkHOAFsAR6oqjOzLNM63AB8Mgn0/l0/VlWfTnISOJrkTuDrwO0zLONIVlk54HdZ+T4mWkXgSlvlnm5Ospve/9kngF8DqKozSY4CZ4GLwN1VNd4Kf42bZa1qHKlGBqxJujLe/o5r68hffd9Yn3nHm89/eZ0LGk7EkfiSBlyqNmpgBjBJS/QmcxvAJDWoCIszf743GgOYpAE2ISU1qaUm5NTqieOuMtE39WZuzOM9wXze1zze0+TCYl0z1jErU/nmCVeZmMc/oHm8J5jP+5rHe5pIbyrRNWMdszKtJuQrq0wAJLm8ysTZKX2fpA3UShNyWgFspdn87+5P0FXZ7wK4/rvyY2/e9ir2vPO6uRpVO4/3BPN5X/N4T088+W2efX5x7EhUlZk2C8cxs078qjoMHAbY887r6ksndgz5hKRx7N335PBEq7h0ldfArvLZ/FK7ek8hr+4a2CurTNALXAeBX5jSd0naUFd5E3LOVpmQriqXn0K2YGp9YN0GCcenlb+k6Vl0JL6kFjkXUlLTLjXSB9ZGKSVpBdbAJC3hMApJzSpiJ76kdl31wygktamKq3sgq6SW5aqfCympUYU1MEkN8ymkpCYVcVMPSe2yBiapSUU7U4kMYJKWyVW/Jr42gX1v2j1y2hNPnZ5aOdQWa2CSmmYNTFKTqtJMDayNUkq6oqaxM3eS/UkeS7KQ5N4V3n9zks8m+dskjyS5dVieBjBJS/TWxM9YxzBJtgD3A7cAu4BDSXYtS/bbwNGq+lF6GwF9ZFi+NiElLTOVXYn2AgtV9ThAkiPAAeBsX5oC/kP3+nuAp4ZlagCTtETvKeSGd+JvA/p32j0HvHtZmg8Bf53k14HrgfcNy9QmpKQBi1wz1gFsTXKq77hrgq89BDxYVduBW4E/T7JmjLIGJmmJCedCPltVe9Z4/zywo+98e3et353AfoCq+psk1wFbgQurZWoNTNKAS1wz1jGCk8DOJDcluZZeJ/2xZWn+GXgvQJIfAq4D/mWtTA1gkqauqi4C9wAngK/Qe9p4Jsl9SW7rkv1n4FeT/B3wceCXq6rWytcmpKQlektKb/xI/Ko6Dhxfdu0Dfa/PAj8xTp4GMEkDXA9MUpN6nfht9C4ZwCQNcDK3pCZNaSDrVBjAJC1jE1JSw9wXUlKTpjWMYhoMYJIG2ISU1CT3hZTUNPvAJDXJYRSSmmYfmKQ2lX1gkhp1eVOPFhjAJA2wBiapSXbiS2qaAUxSk66agaxJngD+DVgELlbVniSvB/4CeAvwBHB7Vb2wvmJKupJa6cTfiMEe76mq3X1bKt0LPFxVO4GHu3NJraheE3KcY1amMVrtAPBQ9/oh4Gen8B2SpuRyJ34LAWy9fWBFbyvwAv64qg4DN1TV09373wBuWOd3NGvfm3bPuggja6msGs1X67lZF2Hq1hvAfrKqzif5PuAzSf6h/82qqi64Dei2Hr8L4M3bfJYgbSatdOKvqwlZVee7nxeATwJ7gWeS3AjQ/VxxW/CqOlxVe6pqzxvfsGU9xZC0gS4/hWyhCTlxAEtyfZLXXn4N/AzwKL3twu/okt0BfGq9hZR0ZVVlrGNW1tN2uwH4ZJLL+Xysqj6d5CRwNMmdwNeB29dfTElXUivDKCYOYFX1OPDOFa4/B7x3PYWSNDtV7fSB2XsuacAsm4XjMIBJWuYqmUokaT5ZA5PUJJfT0VhOPHV6KvmOM7p+WmXQ7Ozd9+JkH6xeR34LDGCSBsz9MApJ86mwD0xSs3wKKalh9oFJapZNSElNqjKASWqYfWCSmmUfmKRm2YSU1KRitosUjsMAJmlAIy1IA5ikZRp6CjmNfSElaUCS/UkeS7KQZMUNr5PcnuRskjNJPjYsT2tgkgZtcBsyyRbgfuA/AueAk0mOVdXZvjQ7gfcDP1FVL3TbNa7JGpikAVPYlWgvsFBVj1fVy8AR4MCyNL8K3F9VL/TKUCtuydjPACZpQNV4xwi2AU/2nZ/rrvV7G/C2JP8vyReS7B+WqU1ISUtMuJzO1iSn+s4PV9XhMfN4FbATuBnYDnw+yY9U1b+u9QFJ+o4Cxg9gz1bVnjXePw/s6Dvf3l3rdw74YlV9G/hakq/SC2gnV8vUJqSkAVNoQp4Edia5Kcm1wEHg2LI0/4te7YskW+k1KR9fK1MDmKRBNeYxLLuqi8A9wAngK8DRqjqT5L4kt3XJTgDPJTkLfBb4r91G2auyCSlpmelMJaqq48DxZdc+0Pe6gN/sjpEYwCQNamQukQFM0lINTSUygEkaZA1MUrusgUlqlTUwSc0ygElq0mQj8WfCACZpgJt6SGqXAUxSs2xCatZOPHV61kVQo2INbHRffeS72Pem3SOl9T+lNGUjTtDeDDZFAJO0maSZJqTL6UhqljUwSYNsQkpqlgFMUrMMYJKa5FQiSS1rZRzY0KeQSR5IciHJo33XXp/kM0n+sfv5uu56kvxhkoUkjyR51zQLL2lKNnhTj2kZZRjFg8DyHXLvBR6uqp3Aw905wC309nHbCdwFfHRjiilJg4Y2Iavq80nesuzyAbr924CHgM8B/627/mfd7iJfSPK9SW6sqqc3rMQNcdaAWjU3TchV3NAXlL4B3NC93gY82ZfuXHdtQJK7kpxKcurbvDRhMSRNRWW8Y0bWPRK/q22NH
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 4,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:41:44.545Z",
"iopub.execute_input": "2022-08-08T19:41:44.553Z",
"iopub.status.idle": "2022-08-08T19:41:44.686Z",
"shell.execute_reply": "2022-08-08T19:41:44.703Z"
}
}
},
{
"cell_type": "code",
"source": [
"rw = random_walk_model(parameters, seed=42)"
],
"outputs": [],
"execution_count": 5,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:41:45.281Z",
"iopub.execute_input": "2022-08-08T19:41:45.289Z",
"iopub.status.idle": "2022-08-08T19:41:45.301Z",
"shell.execute_reply": "2022-08-08T19:41:45.308Z"
}
}
},
{
"cell_type": "code",
"source": [
"rw.set_activation_map(initial_act)"
],
"outputs": [],
"execution_count": 6,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:41:45.979Z",
"iopub.execute_input": "2022-08-08T19:41:46.005Z",
"iopub.status.idle": "2022-08-08T19:41:46.016Z",
"shell.execute_reply": "2022-08-08T19:41:46.023Z"
}
}
},
{
"cell_type": "code",
"source": [
"TIME=2000\n",
"for t in range(TIME):\n",
" rw.evolve_step()"
],
"outputs": [],
"execution_count": 9,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:41:48.383Z",
"iopub.execute_input": "2022-08-08T19:41:48.390Z",
"iopub.status.idle": "2022-08-08T19:41:50.279Z",
"shell.execute_reply": "2022-08-08T19:41:50.286Z"
}
}
},
{
"cell_type": "code",
"source": [
"plt.matshow(initial_act)\n",
"plt.plot(rw.trajectory[:TIME,1], rw.trajectory[:TIME,0])\n",
"plt.xlim(0,200)\n",
"plt.ylim(0,200)"
],
"outputs": [
{
"output_type": "execute_result",
"execution_count": 11,
"data": {
"text/plain": "(0.0, 200.0)"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 288x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 11,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:42:08.182Z",
"iopub.execute_input": "2022-08-08T19:42:08.191Z",
"iopub.status.idle": "2022-08-08T19:42:08.277Z",
"shell.execute_reply": "2022-08-08T19:42:08.285Z"
}
}
},
{
"cell_type": "markdown",
"source": [
"## in a mountain area"
],
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
}
},
{
"cell_type": "code",
"source": [
"grid_ii, grid_jj = np.mgrid[0:200, 0:200]\n",
"my_i = np.sin(grid_ii/130) + np.sin(grid_ii/10)\n",
"my_i /= my_i.max()\n",
"my_j = np.sin(grid_jj/100) + np.sin(grid_jj/50)+ np.sin(grid_jj/10)\n",
"my_j /= my_j.max()\n",
"#grid_jj\n",
"plt.matshow(my_j+my_i)"
],
"outputs": [
{
"output_type": "execute_result",
"execution_count": 56,
"data": {
"text/plain": "<matplotlib.image.AxesImage at 0x128660100>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 288x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 56,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:52:23.771Z",
"iopub.execute_input": "2022-08-08T19:52:23.779Z",
"iopub.status.idle": "2022-08-08T19:52:23.896Z",
"shell.execute_reply": "2022-08-08T19:52:23.919Z"
}
}
},
{
"cell_type": "code",
"source": [
"rw = random_walk_model(parameters, seed=45)\n",
"rw.set_activation_map(my_j+my_i)"
],
"outputs": [],
"execution_count": 68,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:34.095Z",
"iopub.execute_input": "2022-08-08T19:53:34.103Z",
"iopub.status.idle": "2022-08-08T19:53:34.116Z",
"shell.execute_reply": "2022-08-08T19:53:34.126Z"
}
}
},
{
"cell_type": "code",
"source": [
"TIME=2000\n",
"for t in range(TIME):\n",
" rw.evolve_step()"
],
"outputs": [],
"execution_count": 69,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:34.295Z",
"iopub.execute_input": "2022-08-08T19:53:34.304Z",
"iopub.status.idle": "2022-08-08T19:53:36.480Z",
"shell.execute_reply": "2022-08-08T19:53:36.517Z"
}
}
},
{
"cell_type": "code",
"source": [
"plt.matshow(rw.activation_map)\n",
"plt.plot(rw.trajectory[:TIME,1], rw.trajectory[:TIME,0])\n",
"plt.xlim(0,200)\n",
"plt.ylim(0,200)"
],
"outputs": [
{
"output_type": "execute_result",
"execution_count": 70,
"data": {
"text/plain": "(0.0, 200.0)"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 288x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"execution_count": 70,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:36.492Z",
"iopub.execute_input": "2022-08-08T19:53:36.500Z",
"iopub.status.idle": "2022-08-08T19:53:36.634Z",
"shell.execute_reply": "2022-08-08T19:53:36.651Z"
}
}
},
{
"cell_type": "markdown",
"source": [
"# Evaluating some data\n",
"\n",
"The parameters should still be recoverable even with background \"noise\""
],
"metadata": {
"nteract": {
"transient": {
"deleting": false
}
}
}
},
{
"cell_type": "code",
"source": [
"rw_eval = random_walk_model(parameters)"
],
"outputs": [],
"execution_count": 71,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:51.309Z",
"iopub.execute_input": "2022-08-08T19:53:51.320Z",
"iopub.status.idle": "2022-08-08T19:53:51.335Z",
"shell.execute_reply": "2022-08-08T19:53:51.346Z"
}
}
},
{
"cell_type": "code",
"source": [
"TIME=2000\n",
"lik = 0\n",
"for t in range(TIME):\n",
" lik += rw_eval.evolve_step(sim=False, dat=rw.trajectory[t,:])\n",
"lik\n",
" "
],
"outputs": [
{
"output_type": "execute_result",
"execution_count": 72,
"data": {
"text/plain": "-9306.592515719194"
},
"metadata": {}
}
],
"execution_count": 72,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:51.445Z",
"iopub.execute_input": "2022-08-08T19:53:51.456Z",
"iopub.status.idle": "2022-08-08T19:53:52.935Z",
"shell.execute_reply": "2022-08-08T19:53:53.166Z"
}
}
},
{
"cell_type": "code",
"source": [
"class gridsearch_dat():\n",
" def __init__(self, ps, actual, grid):\n",
" self.name = ps\n",
" self.actual = actual\n",
" self.grid = grid\n",
" self.res = None"
],
"outputs": [],
"execution_count": 73,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:52.952Z",
"iopub.execute_input": "2022-08-08T19:53:52.962Z",
"iopub.status.idle": "2022-08-08T19:53:52.976Z",
"shell.execute_reply": "2022-08-08T19:53:53.172Z"
}
}
},
{
"cell_type": "code",
"source": [
"sigma_i = gridsearch_dat(\"sigma_i\", 2, [1.4,1.6,1.8,2, 2.2, 2.4])\n",
"sigma_j = gridsearch_dat(\"sigma_j\", 3, [2.4,2.6,2.8,3, 3.2, 3.4])\n",
"gs_list = [sigma_i, sigma_j]"
],
"outputs": [],
"execution_count": 74,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:52.990Z",
"iopub.execute_input": "2022-08-08T19:53:52.999Z",
"iopub.status.idle": "2022-08-08T19:53:53.013Z",
"shell.execute_reply": "2022-08-08T19:53:53.177Z"
}
}
},
{
"cell_type": "code",
"source": [
"#just to be safe\n",
"pdict = parameters.copy()"
],
"outputs": [],
"execution_count": 75,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:53.026Z",
"iopub.execute_input": "2022-08-08T19:53:53.034Z",
"iopub.status.idle": "2022-08-08T19:53:53.049Z",
"shell.execute_reply": "2022-08-08T19:53:53.182Z"
}
}
},
{
"cell_type": "code",
"source": [
"sim_dat = rw.trajectory[:TIME,:]"
],
"outputs": [],
"execution_count": 76,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:53.062Z",
"iopub.execute_input": "2022-08-08T19:53:53.071Z",
"iopub.status.idle": "2022-08-08T19:53:53.085Z",
"shell.execute_reply": "2022-08-08T19:53:53.188Z"
}
}
},
{
"cell_type": "code",
"source": [
"sim_dat = np.expand_dims(sim_dat, axis=0)"
],
"outputs": [],
"execution_count": 77,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:53.098Z",
"iopub.execute_input": "2022-08-08T19:53:53.108Z",
"iopub.status.idle": "2022-08-08T19:53:53.122Z",
"shell.execute_reply": "2022-08-08T19:53:53.194Z"
}
}
},
{
"cell_type": "code",
"source": [
"for p in gs_list:\n",
" res = rec.grid_search(p.grid, p.name, sim_dat, pdict)\n",
" p.res = res"
],
"outputs": [],
"execution_count": 78,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:53:53.140Z",
"iopub.execute_input": "2022-08-08T19:53:53.148Z",
"shell.execute_reply": "2022-08-08T19:54:09.614Z",
"iopub.status.idle": "2022-08-08T19:54:09.541Z"
}
}
},
{
"cell_type": "code",
"source": [
"def plot_gs(P):\n",
" fig, ax = plt.subplots(figsize= (35,10))\n",
" for tr in range(3):\n",
" ax.axvline(P.actual, c=\"red\", lw=5)\n",
" ax.plot(P.grid, P.res, \".-\", c=\"black\")\n",
" fpname = P.name\n",
" ax.set_title(f\"{fpname}\", fontsize=35)\n",
" ax.set_xlabel(f\"Parameter Value\", fontsize=20, color=\"grey\")\n",
" ax.set_ylabel(f\"Likelihood\", fontsize=20, color=\"grey\")\n",
" ax.tick_params(axis='both', labelsize=20,labelcolor=\"grey\", color=\"grey\")\n",
" ax.annotate(f\"actual={P.actual}\", (P.actual, np.median(P.res)), size=30, color=\"red\")\n",
" return fig, ax\n",
"\n",
"mpl.rcParams[\"axes.prop_cycle\"]=mpl.cycler(color=[\"slateblue\",\"rebeccapurple\",\"orchid\"])\n",
"mpl.rc('axes',edgecolor='grey')"
],
"outputs": [],
"execution_count": 79,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:54:09.556Z",
"iopub.execute_input": "2022-08-08T19:54:09.565Z",
"iopub.status.idle": "2022-08-08T19:54:09.580Z",
"shell.execute_reply": "2022-08-08T19:54:09.620Z"
}
}
},
{
"cell_type": "code",
"source": [
"with PdfPages('param_rec2.pdf') as pdf:\n",
" for P in gs_list:\n",
" print(P.name)\n",
" fig, ax = plot_gs(P)\n",
" pdf.savefig(fig)"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"sigma_i\n",
"sigma_j\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 2520x720 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "dark"
}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 2520x720 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "dark"
}
}
],
"execution_count": 80,
"metadata": {
"collapsed": false,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
},
"execution": {
"iopub.status.busy": "2022-08-08T19:54:09.595Z",
"iopub.execute_input": "2022-08-08T19:54:09.605Z",
"iopub.status.idle": "2022-08-08T19:54:10.184Z",
"shell.execute_reply": "2022-08-08T19:54:10.201Z"
}
}
},
{
"cell_type": "code",
"source": [],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
}
},
{
"cell_type": "code",
"source": [],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
}
},
{
"cell_type": "code",
"source": [],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": true,
"jupyter": {
"source_hidden": false,
"outputs_hidden": false
},
"nteract": {
"transient": {
"deleting": false
}
}
}
}
],
"metadata": {
"kernel_info": {
"name": "sawenv"
},
"language_info": {
"name": "python",
"version": "3.10.3",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"kernelspec": {
"argv": [
"/Users/lisa/Documents/virtual_envs/sawenv/bin/python3",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "sawenv",
"language": "python",
"metadata": {
"debugger": true
},
"name": "sawenv"
},
"nteract": {
"version": "0.28.0"
}
},
"nbformat": 4,
"nbformat_minor": 0
}