diff --git a/week4/nmap4.ipynb b/week4/nmap4.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..97a40ce424006590b3eefaccb796c013bfd8c877
--- /dev/null
+++ b/week4/nmap4.ipynb
@@ -0,0 +1,183 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "incomplete-medline",
+   "metadata": {},
+   "source": [
+    "<h1 style=\"text-align: center; vertical-align: middle;\">Numerical Methods in Accelerator Physics</h1>\n",
+    "<h2 style=\"text-align: center; vertical-align: middle;\">Python examples -- Week 4</h2>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "atlantic-france",
+   "metadata": {},
+   "source": [
+    "<h2>Run this first!</h2>\n",
+    "\n",
+    "Imports and modules:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "weighted-binary",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from config4 import np, plt, plot_rfwave\n",
+    "from scipy.constants import m_p, e, c\n",
+    "%matplotlib inline"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "normal-gasoline",
+   "metadata": {},
+   "source": [
+    "<h3>Numerical artefacts: drastic example of truncation error (slide 13)</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "supported-aggregate",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import mpmath as mp\n",
+    "\n",
+    "with mp.workdps(7):\n",
+    "    x = mp.mpf(10) / 9   # == 1.11...\n",
+    "    \n",
+    "    for _ in range(30):\n",
+    "        print (x)\n",
+    "        x = (x - 1) * 10"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "crude-zoning",
+   "metadata": {},
+   "source": [
+    "<h3>RF cavity (slide 26)</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "dependent-alaska",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "plot_rfwave();"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "lonely-practitioner",
+   "metadata": {},
+   "source": [
+    "<h3>Transition energy (slide 39)</h3>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "worthy-teacher",
+   "metadata": {},
+   "source": [
+    "|  || $\\gamma<\\gamma_\\text{t}$ || $\\gamma>\\gamma_\\text{t}$ |\n",
+    "| :- || :-: || :-: |\n",
+    "| $\\varphi>\\varphi_s$ || $\\color{blue}{\\delta < 0}$ || $\\color{orange}{\\delta > 0}$ |\n",
+    "| $\\varphi<\\varphi_s$ || $\\color{orange}{\\delta > 0}$ || $\\color{blue}{\\delta < 0}$ |"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "harmful-substitute",
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [],
+   "source": [
+    "plot_rfwave(phi_s=0.5, regime='classical');"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "coral-sympathy",
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [],
+   "source": [
+    "plot_rfwave(phi_s=np.pi-0.5, regime='classical');"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "unlike-assets",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "plot_rfwave(phi_s=0.5, regime='relativistic');"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "stone-quantity",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "plot_rfwave(phi_s=np.pi-0.5, regime='relativistic');"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "developed-canadian",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "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.9.18"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}