commit a99c70932d6727a80e96241cbb9ba2f25b0856da
parent 2c6277817331f74f6bd25f3ff2822ef9de9d3572
Author: miksa <milutin@popovic.xyz>
Date: Thu, 1 Jul 2021 17:57:50 +0200
done
Diffstat:
17 files changed, 926 insertions(+), 1467 deletions(-)
diff --git a/sesh6/calc/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/sesh6/calc/.ipynb_checkpoints/Untitled-checkpoint.ipynb
@@ -1,400 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": 4,
- "id": "72f8e84d",
- "metadata": {},
- "outputs": [],
- "source": [
- "import numpy as np\n",
- "import matplotlib.pyplot as plt\n",
- "from sympy import *\n",
- "\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "id": "bb9b1221",
- "metadata": {},
- "outputs": [],
- "source": [
- "w_00 = 2\n",
- "gamma = w_00/20\n",
- "G_np = lambda w: 1/(-w**2 - 1j*gamma*w + w_00**2)\n",
- "w_np = np.linspace(w_00-2*gamma, w_00+2*gamma, 200)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "id": "0829358d",
- "metadata": {},
- "outputs": [],
- "source": [
- "w = Symbol('w', real=True)\n",
- "z = Symbol('z')\n",
- "g = Symbol('g', real=True)\n",
- "w_0 = Symbol('w_0', real=True)\n",
- "\n",
- "G = 1/(-w**2 - 1j*g*w + w_0**2)\n",
- "G_n = np.abs(G.subs([(w, w_00), (w_0, w_00), (g, gamma)]))**2\n",
- "\n",
- "#equation for half maximum solve for w\n",
- "solutions = solve(Eq(1/2*G.subs(w, w_0)**2, re(G)**2 + im(G)**2), w)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 25,
- "id": "27652162",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/latex": [
- "$\\displaystyle 3.34695259659415$"
- ],
- "text/plain": [
- "3.34695259659415"
- ]
- },
- "execution_count": 25,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "a_1 = solutions[1].subs([(w_0, w_00), (g, gamma)])\n",
- "f_1 = G.subs([(w, a_1), (g, gamma), (w_0, w_00)])\n",
- "f_1 = re(f_1)**1 + im(f_1)**1\n",
- "\n",
- "a_2 = solutions[3].subs([(w_0, w_00), (g, gamma)])\n",
- "f_2 = G.subs([(w, a_2), (g, gamma), (w_0, w_00)])\n",
- "f_2 = re(f_2)**2 + im(f_2)**2\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "id": "a02f8ad6",
- "metadata": {},
- "outputs": [
- {
- "ename": "RecursionError",
- "evalue": "maximum recursion depth exceeded in __instancecheck__",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mRecursionError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m<ipython-input-19-7dab2edc9c38>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscatter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgamma\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mw_00\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mG_n\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'r'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscatter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma_1\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mw_00\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf_1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mG_n\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'r'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscatter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma_2\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mw_00\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf_2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mG_n\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'r'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mw_00\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mgamma\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mw_00\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mgamma\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m20\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mw_00\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf_1\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mones\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m20\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mG_n\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/expr.py\u001b[0m in \u001b[0;36m__abs__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 190\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__abs__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 191\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msympy\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mAbs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 192\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mAbs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 193\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 194\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0msympify_return\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'other'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Expr'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mNotImplemented\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/cache.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 72\u001b[0;31m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 73\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/function.py\u001b[0m in \u001b[0;36m__new__\u001b[0;34m(cls, *args, **options)\u001b[0m\n\u001b[1;32m 471\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 472\u001b[0m \u001b[0mevaluate\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0moptions\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'evaluate'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mglobal_parameters\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevaluate\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 473\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__new__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 474\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mevaluate\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 475\u001b[0m \u001b[0mpr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_should_evalf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/cache.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 72\u001b[0;31m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 73\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/function.py\u001b[0m in \u001b[0;36m__new__\u001b[0;34m(cls, *args, **options)\u001b[0m\n\u001b[1;32m 283\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 284\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mevaluate\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 285\u001b[0;31m \u001b[0mevaluated\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0meval\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 286\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mevaluated\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 287\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mevaluated\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/functions/elementary/complexes.py\u001b[0m in \u001b[0;36meval\u001b[0;34m(cls, arg)\u001b[0m\n\u001b[1;32m 576\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlog\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbase\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mas_real_imag\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 577\u001b[0m \u001b[0mz\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0ma\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mI\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 578\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mexp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mre\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexponent\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mz\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 579\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mexp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 580\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mexp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mre\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/cache.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 72\u001b[0;31m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 73\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/function.py\u001b[0m in \u001b[0;36m__new__\u001b[0;34m(cls, *args, **options)\u001b[0m\n\u001b[1;32m 471\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 472\u001b[0m \u001b[0mevaluate\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0moptions\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'evaluate'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mglobal_parameters\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevaluate\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 473\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__new__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 474\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mevaluate\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 475\u001b[0m \u001b[0mpr2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_should_evalf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/cache.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 72\u001b[0;31m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 73\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/function.py\u001b[0m in \u001b[0;36m__new__\u001b[0;34m(cls, *args, **options)\u001b[0m\n\u001b[1;32m 283\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 284\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mevaluate\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 285\u001b[0;31m \u001b[0mevaluated\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0meval\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 286\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mevaluated\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 287\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mevaluated\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/functions/elementary/complexes.py\u001b[0m in \u001b[0;36meval\u001b[0;34m(cls, arg)\u001b[0m\n\u001b[1;32m 94\u001b[0m \u001b[0;31m# impossible, don't try to do re(arg) again\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 95\u001b[0m \u001b[0;31m# (because this is what we are trying to do now).\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 96\u001b[0;31m \u001b[0mreal_imag\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mterm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mas_real_imag\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mignore\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 97\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mreal_imag\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 98\u001b[0m \u001b[0mexcluded\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreal_imag\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/mul.py\u001b[0m in \u001b[0;36mas_real_imag\u001b[0;34m(self, deep, **hints)\u001b[0m\n\u001b[1;32m 796\u001b[0m \u001b[0maddterms\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mS\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mOne\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 797\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 798\u001b[0;31m \u001b[0mr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mi\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mas_real_imag\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 799\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_zero\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 800\u001b[0m \u001b[0mcoeffr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/functions/elementary/exponential.py\u001b[0m in \u001b[0;36mas_real_imag\u001b[0;34m(self, deep, **hints)\u001b[0m\n\u001b[1;32m 890\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdeep\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 891\u001b[0m \u001b[0msarg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexpand\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdeep\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mhints\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 892\u001b[0;31m \u001b[0mabs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mAbs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msarg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 893\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mabs\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0msarg\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 894\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mS\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mZero\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "... last 12 frames repeated, from the frame below ...\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/sympy/core/cache.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 72\u001b[0;31m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 73\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[0mretval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mRecursionError\u001b[0m: maximum recursion depth exceeded in __instancecheck__"
- ]
- },
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<Figure size 720x504 with 1 Axes>"
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
- "source": [
- "plt.figure(figsize=[10,7])\n",
- "#plt.plot(w_np/w_00, np.abs(G_np(w_np))**2/G_n)\n",
- "\n",
- "plt.plot(w_np/w_00, np.pi*np.angle(G_np(w_np))/G_n)\n",
- "\n",
- "plt.scatter(1, 1/(gamma*w_00)**2/G_n, c='r')\n",
- "plt.scatter(a_1/w_00, f_1/G_n, c='r')\n",
- "plt.scatter(a_2/w_00, f_2/G_n, c='r')\n",
- "plt.plot(np.linspace(w_00-gamma/2, w_00+gamma/2, 20)/w_00, f_1*np.ones(20)/G_n)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "a2d94145",
- "metadata": {},
- "outputs": [],
- "source": [
- "# KAPITEL 5\n",
- "M_rho = 0.77\n",
- "G_rho = 0.15\n",
- "M_pi = 0.14\n",
- "\n",
- "def F_BW(s):\n",
- " sigma = lambda x: np.sqrt(1- 4*M_pi**2/x)\n",
- " G = G_rho* s/M_rho**2* (sigma(s)/sigma(M_rho**2))**3 * np.heaviside(s- 4*M_pi**2, 0 )\n",
- " return M_rho**2 / (M_rho**2 - s - 1j*M_rho*G)\n",
- "\n",
- "delta = lambda x: np.arctan2(-np.imag(F_BW(x)), np.real(F_BW(x)))\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "04bd8956",
- "metadata": {},
- "outputs": [],
- "source": [
- "# P.V.\n",
- "from scipy.integrate import quad\n",
- "\n",
- "s_0 = 4*M_pi**2\n",
- "def integrand(s_, x):\n",
- " return (delta(s_) + delta(x))/(s_*(s_ - x))\n",
- "\n",
- "def integral(x):\n",
- " return quad(integrand, s_0, np.inf, args=(x))[0]\n",
- "\n",
- "s = np.linspace(0.1, 1, 100)\n",
- "\n",
- "I = np.vectorize(integral)\n",
- "first = s/np.pi * I(s)\n",
- "second = delta(s) * 1/np.pi * np.log(s_0/(s-s_0))\n",
- "\n",
- "F = np.exp(first + second + 1j * delta(s))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "f6550847",
- "metadata": {},
- "outputs": [],
- "source": [
- "plt.figure(figsize=[10, 7])\n",
- "plt.plot(s, np.abs(F_BW(s))**2)\n",
- "#plt.plot(s, np.abs(F)**2/10)\n",
- "#plt.plot(s, delta(s))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "143b3c10",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "a522a03a",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "388772b7",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "af0ee465",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "7fcf0bd2",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "5fabf901",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "317204c3",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "0407e1d7",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "7e87567a",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "9be10a28",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "6398184f",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "f5ba56fa",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "d2930adc",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "e937609d",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "b34c457e",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "fa165a35",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "7676cda5",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "7a2520af",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "14c923da",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "02d369b7",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "d41a4456",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": 188,
- "id": "31c70a79",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "154a6957",
- "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.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/sesh6/calc/.ipynb_checkpoints/plots-checkpoint.ipynb b/sesh6/calc/.ipynb_checkpoints/plots-checkpoint.ipynb
@@ -1,274 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {},
- "outputs": [],
- "source": [
- "\n",
- "import scipy as sp\n",
- "from scipy import integrate\n",
- "import numpy as np \n",
- "import matplotlib.pyplot as plt \n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {},
- "outputs": [],
- "source": [
- "\n",
- "global M_r; M_r = 0.77\n",
- "global G_r; G_r = 0.15\n",
- "global M_pi; M_pi = 0.14\n",
- "global s0; s0 = 4*M_pi\n",
- "\n",
- "s = np.linspace(0.01, 1, 1000, endpoint=True)\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {},
- "outputs": [],
- "source": [
- "\n",
- "def Fvpi(s):\n",
- " p1 = (M_r**2)\n",
- " p2 = (M_r**2 - s - M_r*G_fct(s)*1j)\n",
- " pf = p1/p2\n",
- " return pf\n",
- "\n",
- "def G_fct(s):\n",
- " p1 = (G_r*s)/(M_r**2)\n",
- " p2 = ((sig(s))/(sig(M_r**2)))**3\n",
- " p3 = np.heaviside(s - 4*M_pi**2, 0)\n",
- " pf = p1*p2*p3\n",
- " return pf\n",
- "\n",
- "def sig(a):\n",
- " p = np.sqrt(1 - 4*M_pi**2/a)\n",
- " return p\n",
- " "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {},
- "outputs": [],
- "source": [
- "\n",
- "def Omega(s):\n",
- " p1 = (s/np.pi)*int_del(s) \n",
- " p2 = del_pp(s)*1j\n",
- " p = np.exp(p1+p2)\n",
- " return p\n",
- "\n",
- "def del_pp(s):\n",
- " return np.angle( Fvpi(s) ) \n",
- "\n",
- "def int_del(s):\n",
- " return integrate.quad( integrand , s0, np.inf, args=(s) )\n",
- "\n",
- "def integrand(x, s):\n",
- " return del_pp(x)/(x*(x - s))\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {},
- "outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "<ipython-input-4-20fc573e6fdd>:15: RuntimeWarning: invalid value encountered in sqrt\n",
- " p = np.sqrt(1 - 4*M_pi**2/a)\n",
- "<ipython-input-4-20fc573e6fdd>:4: RuntimeWarning: invalid value encountered in true_divide\n",
- " pf = p1/p2\n"
- ]
- },
- {
- "ename": "TypeError",
- "evalue": "only size-1 arrays can be converted to Python scalars",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m<ipython-input-7-7824316803cc>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mfig\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10.24\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m7.68\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mFvpi\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"-b\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34mr'$| F_\\pi^V(s)_{BW} |$'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mabs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mOmega\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"-r\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34mr'$ |\\Omega(s)| $'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlegend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"best\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m<ipython-input-5-868dbe201a21>\u001b[0m in \u001b[0;36mOmega\u001b[0;34m(s)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mOmega\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mp1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mint_del\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mp2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdel_pp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;36m1j\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mp\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mp1\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mp2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m<ipython-input-5-868dbe201a21>\u001b[0m in \u001b[0;36mint_del\u001b[0;34m(s)\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mint_del\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mintegrate\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mquad\u001b[0m\u001b[0;34m(\u001b[0m \u001b[0mintegrand\u001b[0m \u001b[0;34m,\u001b[0m \u001b[0ms0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 12\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mintegrand\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/scipy/integrate/quadpack.py\u001b[0m in \u001b[0;36mquad\u001b[0;34m(func, a, b, args, full_output, epsabs, epsrel, limit, points, weight, wvar, wopts, maxp1, limlst)\u001b[0m\n\u001b[1;32m 349\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 350\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mweight\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 351\u001b[0;31m retval = _quad(func, a, b, args, full_output, epsabs, epsrel, limit,\n\u001b[0m\u001b[1;32m 352\u001b[0m points)\n\u001b[1;32m 353\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m~/.local/lib/python3.9/site-packages/scipy/integrate/quadpack.py\u001b[0m in \u001b[0;36m_quad\u001b[0;34m(func, a, b, args, full_output, epsabs, epsrel, limit, points)\u001b[0m\n\u001b[1;32m 463\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_quadpack\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_qagse\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mfull_output\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mepsabs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mepsrel\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mlimit\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 464\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 465\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_quadpack\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_qagie\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mbound\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0minfbounds\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mfull_output\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mepsabs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mepsrel\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mlimit\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 466\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 467\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0minfbounds\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mTypeError\u001b[0m: only size-1 arrays can be converted to Python scalars"
- ]
- },
- {
- "data": {
- "image/png": "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LLMM7LVX6iQLZ5ttYI014snykqqH5UpSWfrii3iUwYEHxrVLeRRCHL16/nkYPTp1GkmlYrmSVJb694eZM+Ggg1InqZ8//CHeN9i3b+okkkrFciWp7GRZvD5myy1hrbVSp6mfZZaJ517deSdMmZI6jaRSsFxJKjsvvQTvvAM9e6ZOUhi9esE338ADD6ROIqkULFeSyk6/frDootClS+okhfHb38Kqq8Ktt6ZOIqkULFeSysrkyXDPPbFY5eVE9vlp0AB69Igntn/ySeo0korNciWprAweDJMmwcEHp05SWD16xLVkd92VOomkYrNcSSor/frFs6G22ip1ksJq2xa23hruuCOWLEmVy3IlqWx8+CE8+2w8fiGE1GkKr0ePuFB/+PDUSSQVk+VKUtmYPWXWrVvaHMXSpQs0bRqPZZBUuSxXkspClsVLjrfZBlZaKXWa4lh8cdhjDxg4EKZNS51GUrFYriSVhREj4L33KnfUarYePeKZV48/njqJpGKxXEkqCwMGxDsEO3dOnaS4OnaEZZeNC9slVSbLlaTkZsyIU2WdOsESS6ROU1yNGsEBB8RLqb/5JnUaScVguZKU3FNPwZdfxtJRDXr0gOnT42GpkiqP5UpScnfdFUesdt01dZLS2GADWG89uPvu1EkkFYPlSlJSkybB/ff/dExBtejaFV58EcaNS51EUqFZriQl9dBD8OOPlb9L8L/tt19879SgVHksV5KSGjAAVlml8q67mZ9VV4UttogL+SVVFsuVpGT+9S948knYf39oUIW/jbp2hX/+E95+O3USSYVUhb/OJJWLe++FmTOrb0pwti5dYql09EqqLJYrScncey+svz6ss07qJGkstxxst10sV1mWOo2kQrFcSUri00/jbrkuXVInSatrVxgzJl7/I6kyWK4kJTF4cHy/zz5pc6S2117QuLFTg1IlsVxJSmLQoHiYZrt2qZOkteSSsMsucYq0tjZ1GkmFYLmSVHKffBKnBKt91Gq2rl1h/Hh47rnUSSQVguVKUsndd198b7mKOnWCRRd1alCqFJYrSSVXU+OU4M81bw677x6nSqdPT51GUn1ZriSV1CefwLBh7hL8b127woQJ8PTTqZNIqi/LlaSScpfgnHXsCC1bxtErSflmuZJUUoMGwYYbwhprpE5SXpo2jVODDzzg1KCUd5YrSSUze0rQUas522cf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\n",
- "text/plain": [
- "<Figure size 737.28x552.96 with 1 Axes>"
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
- "source": [
- "fig = plt.figure(figsize=(10.24, 7.68))\n",
- "plt.plot(s, np.abs(Fvpi(s)), \"-b\", label=r'$| F_\\pi^V(s)_{BW} |$')\n",
- "plt.plot(s, np.abs(Omega(s), \"-r\", label=r'$ |\\Omega(s)| $') )\n",
- "plt.legend(loc=\"best\")\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "interpreter": {
- "hash": "3aff35d366b980e568cc03d2d00c83eac08dd05ed9a824e247edc85e357eb300"
- },
- "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.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}
diff --git a/sesh6/calc/omnes_bw.png b/sesh6/calc/omnes_bw.png
Binary files differ.
diff --git a/sesh6/calc/plots.py b/sesh6/calc/plots.py
@@ -1,104 +0,0 @@
-import numpy as np
-import matplotlib.pyplot as plt
-import matplotlib
-from sympy import *
-from scipy.integrate import quad
-
-font = {'family' : 'sans',
- 'weight' : 'bold',
- 'size' : 18}
-
-matplotlib.rc('font', **font)
-matplotlib.matplotlib_fname()
-
-def main():
- # numpy representation
- w_00 = 1
- gamma = w_00/20
- G_np = lambda w: 1/(-w**2 - 1j*gamma*w + w_00**2)
- w_np = np.linspace(w_00-2*gamma, w_00+2*gamma, 200)
-
- # sympy representation
- w = Symbol('w', real=True)
- z = Symbol('z')
- g = Symbol('g', real=True)
- w_0 = Symbol('w_0', real=True)
-
- G = 1/(-w**2 - 1j*g*w + w_0**2)
- G_n = np.abs(G.subs([(w, w_00), (w_0, w_00), (g, gamma)]))**2
-
- #equation for half maximum solve for w
- solutions = solve(Eq(1/2*1/(g*w_0)**2, abs(G)**2), w)
-
- so = solve(Eq(0, 1/G.subs(w, z)), z)
-
- a_1 = solutions[1].subs([(w_0, w_00), (g, gamma)])
- f_1 = abs(G.subs([(w, a_1), (g, gamma), (w_0, w_00)]))**2
-
- a_2 = solutions[3].subs([(w_0, w_00), (g, gamma)])
- f_2 = abs(G.subs([(w, a_2), (g, gamma), (w_0, w_00)]))**2
- fig, ax= plt.subplots(1, 2, figsize=[17,7])
-
- # Plots for |G(w)|^2 and arg(G(w))
- for i in range(len(ax)):
- ax[i].spines['right'].set_visible(False)
- ax[i].spines['top'].set_visible(False)
- ax[i].yaxis.set_ticks_position('left')
- ax[i].xaxis.set_ticks_position('bottom')
-
- ax[0].plot(w_np/w_00, np.abs(G_np(w_np))**2/G_n, c='black')
- ax[0].set_xlabel(r'$\frac{\omega}{\omega_0}$')
- ax[0].set_ylabel(r'$\frac{|G(\omega)|^2}{|G(\omega_0)|^2}$')
- ax[0].scatter(1, 1/(gamma*w_00)**2/G_n, c='r')
- ax[0].scatter(a_1/w_00, f_1/G_n, c='r')
- ax[0].scatter(a_2/w_00, f_2/G_n, c='r')
- ax[0].plot(np.linspace(w_00-gamma/2, w_00+gamma/2, 20)/w_00, f_1*np.ones(20)/G_n)
-
- ax[1].plot(w_np/w_00, np.angle(G_np(w_np))/np.pi, c='black')
- ax[1].set_xlabel(r'$\frac{\omega}{\omega_0}$')
- ax[1].set_ylabel(r'$arg(G(\omega)\frac{1}{\pi}$')
-
- fig.tight_layout()
-
- fig.savefig('section2.png')
-
-
- # CHAPTER 5
- M_rho = 0.77
- G_rho = 0.15
- M_pi = 0.14
-
- def F_BW(s):
- sigma = lambda x: np.sqrt(1 - 4*M_pi**2/x)
- G = G_rho* s/M_rho**2* (sigma(s)/sigma(M_rho**2))**3 * np.heaviside(s- 4*M_pi**2, 0 )
- return M_rho**2 / (M_rho**2 - s - 1j*M_rho*G)
-
- s = np.linspace(0.1, 1, 200)
- delta = lambda x: np.angle(F_BW(x))
-
- # P.V.
- s_0 = 4*M_pi**2
- def integrand(s_, x):
- return (delta(s_) - delta(x))/(s_*(s_ - x))
- def integral(x):
- return quad(integrand, s_0, np.inf, args=(x))[0]
-
- I = np.vectorize(integral)
-
- first = s/np.pi * I(s) # first integral
- second = delta(s) * 1/np.pi * np.log(s_0/(s-s_0)) # second integral
-
- F = np.exp(first + second + 1j * delta(s))
-
- # BW - Omnes representations
- plt.figure(figsize=[10, 7])
- plt.plot(s, np.abs(F), label='Omnes', c='black')
- plt.plot(s, np.abs(F_BW(s)), label='Breit-Wigner', c='red')
- plt.legend(loc='best', fontsize=12)
- plt.xlabel(r'$s\ [GeV^2]$')
- plt.ylabel(r'$|F_\pi^V(s)|$')
- plt.savefig('omnes_bw.png')
-
-
-if __name__ == '__main__':
- main()
diff --git a/sesh6/calc/section2.png b/sesh6/calc/section2.png
Binary files differ.
diff --git a/sesh6/src/main.pdf b/sesh6/src/main.pdf
Binary files differ.
diff --git a/sesh6/src/main.tex b/sesh6/src/main.tex
@@ -1,659 +0,0 @@
-\documentclass[a4paper]{article}
-
-\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
-
-\usepackage{mathptmx}
-
-\usepackage[a4paper, total={6in, 8in}]{geometry}
-\usepackage{subcaption}
-\usepackage[shortlabels]{enumitem}
-\usepackage{amssymb}
-\usepackage{amsthm}
-\usepackage{mathtools}
-\usepackage{braket}
-\usepackage{bbm}
-\usepackage{graphicx}
-\usepackage{float}
-\usepackage{yhmath}
-\usepackage{tikz}
-\usetikzlibrary{calc,decorations.markings}
-\usepackage[colorlinks=true,naturalnames=true,plainpages=false,pdfpagelabels=true]{hyperref}
-\usepackage[parfill]{parskip}
-\usepackage[backend=biber, sorting=none]{biblatex}
-\newcommand{\hbbar}{{\raisebox{0.05ex}{$\mathchar '26$}\mkern -9mu\raisebox{-0.15ex}{$\mathchar '26$}\mkern -9muh}}
-\addbibresource{uni.bib}
-\pagestyle{myheadings}
-\markright{Popovic, Vogel\hfill Dispertion relations \hfill}
-
-
-\title{Universität Wien\\ Fakultät für Physik\\
-\vspace{1.25cm}Laborpraktikum Theoretische Physik 2021S \\ Dispertion relations
-}
-\author{Milutin Popovic \& Tim Vogel \vspace{1cm}\\ Betreuer: Peter Stoffer}
-\date{30. Juni, 2021}
-
-\begin{document}
-\maketitle
-\noindent\rule[0.5ex]{\linewidth}{1pt}
-\begin{abstract}
-\end{abstract}
-\noindent\rule[0.5ex]{\linewidth}{1pt}
-\newcommand{\PV}{\mathop{\mathrlap{\pushR}}\!\int}
-\newcommand{\pushR}{\mathchoice
- {\mkern2.5mu P}
- {\scriptstyle P}
- {\scriptscriptstyle P}
- {\scriptscriptstyle P}
-}
-
-\tableofcontents
-
-\section{Introduction}
-Within the tools of complex analysis, there exists the possibility, to form
-relations between observable quantities of physicals systems, for example
-dispersion in a dielectric medium. This can be taken even further, by using the
-same methods within particle-physical problems, where the now more popular
-methods of qauntum chromodynamics do not apply, which would be low energy
-hadronic processes. We will firstly apply these concepts to the simple example
-of the harmonic oscillator and finally work out more complex problems,
-regarding the pion vector form factor. The reader is expected to be familiar
-with the subject of complex analysis, especially analyticity/holomorphicity of
-a function, integration of complex functions, the residue theorem and the
-Schwartz reflection principle.
-
-
-
-
-
-
-
-
-
-
-\section{Damped harmonic oscillator}
-Considering a free harmonic oscillator, the equation of motion accounts to:
-\begin{equation}
- \Ddot{x}(t)+\gamma\Dot{x}(t)+\omega_0^2x(t)=0
-\end{equation}
-where $\gamma > 0$ is the damping coefficient, and $\omega_0$ the angular frequency
-of the oscillator. Using the exponential ansatz we can arrive at an general
-solution to this ordinary differential equation
-\begin{align}
- &x(t) = a e^{-i\omega_1 t} + b e^{-i\omega_2 t} \\
- &\nonumber \\
- \text{with:} \nonumber\\
- &\omega_{1/2} = \pm \sqrt{\omega_0^2 - (\frac{\gamma}{2})^2} -
- i\frac{\gamma}{2}
-\end{align}
-where $a$ and $b$ are calculated based on the Couchy boundary conditions.
-
-For the case $\omega_0 > \frac{\gamma}{2}$ we can rewrite the solution
-\begin{align}
- &x(t) = \left(a e^{-i\tilde{\omega}_0 t} + b e^{-i\tilde{\omega}_0
- t}\right) e^{-\frac{\gamma}{2}t}\\
- &\nonumber \\
- \text{with:} \nonumber\\
- &\tilde{\omega}_{0} = \sqrt{\omega_0^2 - \left(\frac{\gamma}{2}\right)^2}
-\end{align}
-\subsection{External Force}
-
-Now consider a harmonic oscillator with an external force $F(t)$ driving it
-\begin{align}\label{eq:force}
- \Ddot{x}(t)+\gamma\Dot{x}(t)+\omega_0^2x(t)=\frac{F(t)}{m} =: f(t).
-\end{align}
-By Fourier transforming the equation we can arrive at an equation for the
-greens function in Fourier space. Note that the Fourier transform of
-$x(t)$ is
-\begin{align}
- \hat{x}(t) &= \frac{1}{2\pi}\int_\infty^\infty d\omega
- X(\omega) e^{-i\omega t}
-\end{align}
-so the Fourier transforms of $\dot{x}$ and $\Ddot{x}$ are
-\begin{align}
- \mathcal{F}(\dot{x}) &= -i\omega X(\omega)\\
- \mathcal{F}(\Ddot{x}) &= -\omega^2 X(\omega)\\
-\end{align}
-and the equation \ref{eq:force} turns into
-\begin{align}
- (-\omega^2 - i\gamma \omega + \omega_0^2) X(\omega) = F(\omega)
-\end{align}
-
-The Green's function can be represented in Fourier space like the following
-\begin{align}
- G(\omega)= \frac{1}{-\omega^2 - i\gamma \omega + \omega_0^2}
-\end{align}
-
-The Maximum of the squared modulus $|G(\omega)|^2$ for $\gamma \ll \omega_0$ is
-roughly at $\omega_0$, thus the width at half maximum can be calculated by
-looking for two $\omega$'s that satisfy
-\begin{align}
- \frac{1}{2}|G(\omega_0)|^2 &= |G(\omega)|^2\\
- \frac{1}{2} \frac{1}{\omega_0^2\gamma^2} &= |G(\omega)|^2
-\end{align}
-
-The exact solutions are
-\begin{align}
- \tilde{\omega}_1 &= \omega_0\sqrt{-0.5\left(\frac{\gamma}{\omega_0}\right)^2
- - 1.0\frac{\gamma}{\omega_0}(0.25\left(\frac{\gamma}{\omega_0}\right)^2
- + 1)^{\frac{1}{2}} + 1}\\
- \tilde{\omega}_2 &= \omega_0\sqrt{-0.5\left(\frac{\gamma}{\omega_0}\right)^2
- + 1.0\frac{\gamma}{\omega_0}(0.25\left(\frac{\gamma}{\omega_0}\right)^2
- + 1)^{\frac{1}{2}} + 1}
-\end{align}
-With help of Taylor expansion in the linear order in $\frac{\gamma}{\omega_0}$
-gives us the approximation for the with at half maximum
-\begin{align}
- \tilde{\omega}_2 - \tilde{\omega}_1 \simeq \gamma
-\end{align}
-
-In the figure below we plotted the squared modulus of $|G(\omega)|^2$
-\begin{figure}[H]
- \centering
- \includegraphics[width=\textwidth]{plots_sec2.png}
- \caption{On the left the squared modulus $|G(\omega)|^2$ in $\omega
-\in [\omega_0 - 2\gamma, w_0 + w\gamma]$ for $\gamma \ll \omega_0$, precisely
-$\gamma = \omega_0/20$ for $\omega_0 = 1$ and on the right $arg(G(\omega))$}
-\end{figure}
-
-
-Next we want calculate the Green's function in terms of time
-\begin{align}
- g(t) = \frac{1}{2\pi} \int^\infty_\infty d\omega G(\omega)e^{-i\omega t}.
-\end{align}
-Furthermore we can transform this to the complex integral where we have two singularities
-at We have two singularities at $z_{1/2} = - \frac{i\gamma}{2} \pm
-\tilde{\omega}_{0}$. We have the following integral
-path
-
-\begin{center}
-\begin{tikzpicture}[decoration={markings,
-mark=at position 13cm with {\arrow[line width=2pt]{>}}
-}
-]
-% The axes
-\draw[help lines,->] (-4,0) -- (4,0) coordinate (xaxis);
-\draw[help lines,->] (0,-3.5) -- (0,1) coordinate (yaxis);
-
-% The path
-\path[draw,line width=0.8pt,postaction=decorate]
- (3,0) node[above right] {} arc (0:-180:3) -- (-3, 0)
- node[above left] {} -- (-3, 0) -- (3, 0);
-
-% The labels
- \draw[thick, ->] (0,0) -- (2.1, -2.1) node[midway, fill=white] {$R$};
- \node[below] at (xaxis) {$\text{Re}$};
- \node[left] at (yaxis) {$\text{Im}$};
- \node at (0.2,-1.5) {$\nu$};
- \node at (1, -3.2) {$C(R)$};
-\end{tikzpicture}
-\end{center}
-
-The complex integral representation is
-\begin{align}
- \oint_\nu dz G(z) e^{-izt} &=
- \lim_{R \rightarrow \infty }
- \bigg(
- \int_{C(R)} + \int_{-R}^{R}
- \bigg)
- dz\ G(z) e^{-izt}\\
- &= 2\pi i\sum_j \text{I}(C_j, z_j) \text{Res}_j
-\end{align}
-Keep in mind that the integral from $R$ to $-R$ is the integral we are
-trying to solve, that is pulling the limit we have one integral over the real
-axis. Because of Jordan's lemma, the integral over the complex curve vanishes
-\begin{align}
- \big| \int_{C(R)} dz G(z) e^{-izt}\big| \leq \frac{\pi}{t}M_R
-\end{align}
-where $M_R:= \max_{C(R)}\{G(Re^{i\varphi})\}$.It can easily be seen that $M_R$
-converges to $0$ as $R$ goes to infinity. Thus the only value the integral can
-take is $0$ and we can calculate the real integral with the residues
-\begin{align}
- \text{Res}_1 &= \frac{e^{i z t}}{(z - z_1)(z - z_2)} (z - z_1)\bigg|_{z=z_1}
- \\
- &= -\frac{e^{-iz_1t}}{z_1 - z_2} = \frac{e^{-\frac{\gamma}{2}t}
- e^{i\tilde{\omega}_0 t}}{2\tilde{\omega}_0}\\
- \nonumber \\
- \text{Res}_2 &= \frac{e^{i z t}}{(z - z_1)(z - z_2)} (z - z_2)\bigg|_{z=z_2}
- \\
- &= -\frac{e^{-iz_1t}}{z_2 - z_1} = -\frac{e^{-\frac{\gamma}{2}t}
- e^{-i\tilde{\omega}_0 t}}{2\tilde{\omega}_0}\\
-\end{align}
-with the index $\text{I}(C_R, z_i)$ being $1$, because the curve goes around the
-singularities once.
-
-The integral evolves to
-\begin{align}
- \frac{1}{2\pi} \int_{-\infty}^{\infty} d\omega G(\omega) e^{-i\omega t}=
- \frac{\sin(\tilde{\omega}_0t)}{\tilde{\omega}_0} e^{-\frac{\gamma}{2}t}.
-\end{align}
-Treating the cases $t<0$ and $t>0$ separately we can join them with the
-Heaviside-theta function $\theta(t)$, the Green's function for the damped
-harmonic oscillator is
-\begin{align}
- g(t) = \frac{\sin(\tilde{\omega}_0t}{\tilde{\omega}_0}
- e^{-\frac{\gamma}{2}t} \theta(t)
-\end{align}
-With convolution we can arrive at a solution for the damped harmonic oscillator
-for an arbitrary driving force $f(t)$
-\begin{align}
- x(t) = \int_{-\infty}^{t} dt'
- \frac{\sin(\tilde{\omega}_0 (t-t'))}{\tilde{\omega}_0}
- e^{-\frac{\gamma}{2}(t-t')} f(t').
-\end{align}
-
-\subsection{Green's Function and dispersion relations}
-Next we want to compute the following integral
-\begin{align}
- 0 = \oint_C d\omega' \frac{G(\omega')}{\omega - \omega'}, \;\;\;\;
- \text{with} \;\;\; \omega' = \omega_r + i\omega_i
-\end{align}
-along the following contour
-
-\begin{center}
-\begin{tikzpicture}[decoration={markings,
-mark=at position 0.5cm with {\arrow[line width=2pt]{>}},
-mark=at position 5cm with {\arrow[line width=2pt]{>}},
-mark=at position 13cm with {\arrow[line width=2pt]{>}},
-mark=at position 15cm with {\arrow[line width=2pt]{>}}
-}
-]
-% The axes
-\draw[help lines,->] (-3.5,0) -- (3.5,0) coordinate (xaxis);
-\draw[help lines,->] (0,-0.5) -- (0,3.5) coordinate (yaxis);
-
-% The path
-\path[draw,line width=0.8pt,postaction=decorate]
- (2,0) -- (3, 0) node[below right] {} arc (0:180:3) -- (0.5, 0)
- arc (180:0:0.75);
-
-% The labels
- \draw[thick, ->] (0,0) -- (-2.1, 2.1) node[midway, fill=white] {$R$};
- \draw[thick, ->] (1.25,0) -- (1.75, 0.5) node[midway, above] {$\varrho$};
- \node[below] at (xaxis) {$\text{Re}$};
- \node[left] at (yaxis) {$\text{Im}$};
- \node[circle,inner sep=1pt,label=below:{$\omega$}, fill=black] at (1.25,0) {};
-\end{tikzpicture}
-\end{center}
-so the integral representation is
-\begin{align}
- \oint_C d\omega' \frac{G(\omega')}{\omega - \omega'} =
- \lim_{\substack{R\rightarrow \infty \\ \varrho \rightarrow 0^+}}
- \bigg( \int_{C(R)} + \int_{(C(\rho)} + \int_{-R}^{\omega -
- \varrho} + \int_{\omega +\varrho}^R
- \bigg)
- \;d\omega'\ \frac{G(\omega')}{\omega - \omega'}
-\end{align}
-We need show that the integral over the big circle goes to $0$. We know that for
-$\omega' \neq \omega$ we have
-\begin{align}
- \big|\frac{G(\omega')}{\omega' - \omega}\big| &=
- \big|\frac{1}{\omega'^3}\frac{1}{(1-\frac{\omega_1}{\omega'})(1-\frac{\omega_2}{\omega'})
- (1 - \frac{\omega}{\omega'})}\big|
- \leq \frac{1}{R^3}
-\end{align}
-thus
-\begin{align}
- \bigg|
- \int_{C(R)} d\omega' \frac{G(\omega')}{\omega - \omega'}
- \bigg| \leq \frac{2\pi R}{R^3} = \frac{2\pi}{R^2}
- \xrightarrow[R\rightarrow \infty]{} 0.
-\end{align}
-The small circle can be calculated with the Residue theorem with the pole at
-$\omega$
-\begin{align}
-\int_{C(\varrho)}d\omega' \frac{G(\omega')}{\omega - \omega'} = 2\pi i
- \text{I}(C(\varrho), \omega) \text{Res}(\frac{G(\omega')}{\omega - \omega'},
- \omega) = i\pi G(\omega).
-\end{align}
-Note that we go around $\omega$ only $1/2$ times. Reconstructing the integral
-equation we get
-\begin{align}
- -i\pi G(\omega) = \lim_{\varrho \rightarrow 0^+}
- \big(
- \int_{-R}^{\omega -\varrho} + \int_{\omega +\varrho}^R
- \big) \;d\omega'\ \frac{G(\omega')}{\omega' - \omega}
-\end{align}
-which is exactly the Cauchy Principal Value. Furthermore we can rewrite
-$G(\omega)$ into real and imaginary parts
-\begin{align}
- \text{Re} (G(\omega)) = \frac{1}{\pi} \PV d\omega' \frac{\text{Im}
- (G(\omega'))}{\omega' - \omega}\\
- \text{Im} (G(\omega)) = \frac{1}{\pi} \PV d\omega' \frac{\text{Re}
- (G(\omega'))}{\omega' - \omega}\\
-\end{align}
-which are Hilbert transforms of each other, the equations are also known
-as ``dispersion relations''. It should be noted that these equations also allow
-negative frequencies. Let us derrive an representation for only positive
-frequencies. We start off by a simple statement
-\begin{align}
- G(-\omega^*) = G(\omega)^*.
-\end{align}
-In our case this is obviously true
-\begin{align}
- &G(-\omega^*) = \frac{1}{-(\omega^*)^2 + i\gamma \omega^* + \omega_0^2}\\
- \nonumber \\
- &G(\omega)^* = \frac{1}{-(\omega^2)^* + i\gamma \omega^* + \omega_0^2} =
- G(-\omega^*)
-\end{align}
-Now we choose $\omega \in \mathbb{R}^+$, our relation then becomes
-$G(-\omega) = G(\omega)^*$. Then we get
-\begin{align}
- \text{Re} (G(\omega)) &= \frac{1}{\pi} \PV_0^\infty d\omega' \frac{2\omega'\text{Im}
- (G(\omega'))}{\omega'^2 - \omega^2}\\
- \text{Im} (G(\omega)) &= -\frac{1}{\pi} \PV_0^\infty d\omega' \frac{2\omega'\text{Re}
- (G(\omega'))}{\omega'^2 - \omega^2}
-\end{align}
-
-To round this chapter up we would like to show one last identity in the sense
-of distributions
-\begin{align}
- \lim_{\varepsilon \rightarrow 0^+} \frac{1}{\omega' -\omega \mp
- i\varepsilon} = \text{P}(\frac{1}{\omega' - \omega}) \pm i\pi\delta(\omega'
- - \omega).
-\end{align}
-Let us extend the fraction with $\omega' - \omega \pm i\varepsilon$.
-\begin{align}
-\frac{\omega' - \omega \pm i\varepsilon}{(\omega' -\omega \mp
- i\varepsilon)(\omega' - \omega \pm i\varepsilon)} = \frac{\omega' - \omega
- \pm i\varepsilon}{(\omega' - \omega)^2 + \varepsilon^2}.
-\end{align}
-That means for a test function $f(\omega')$ we have
-\begin{align}
- \lim_{\varepsilon \rightarrow 0^+} \int_{-\infty}^\infty d\omega'
- \frac{f(\omega')}{\omega' - \omega \mp i\varepsilon} &=
- \lim_{\varepsilon \rightarrow 0^+}
- \int_{-\infty}^\infty d\omega'
- \frac{(\omega' - \omega \pm i\varepsilon) f(\omega')}{(\omega' - \omega)^2
- + \varepsilon^2}\\
- & =
- \lim_{\varepsilon \rightarrow 0^+}\bigg(
- \int_{-\infty}^\infty d\omega'
- \frac{f(\omega')(\omega' - \omega )}{(\omega' - \omega)^2 + \varepsilon^2}
- \pm i\varepsilon
- \int_{-\infty}^\infty d\omega'\frac{f(\omega')}{(\omega' - \omega)^2 + \varepsilon^2}
- \bigg)\label{eq:id}.
-\end{align}
-Let us look into the first integral in equation \ref{eq:id}, we can rewrite it
-\begin{align}
- \lim_{\varepsilon \rightarrow 0^+}\int_{-\infty}^\infty
- d\omega'\frac{f(\omega')(\omega' - \omega )}{(\omega' - \omega)^2 + \varepsilon^2}
- &= \lim_{\varepsilon,\varrho \rightarrow 0^+}
- \bigg(
- \int_{-\infty}^{\omega - \varrho}d\omega'\frac{f(\omega')(\omega' -
- \omega )}{(\omega' - \omega)^2 + \varepsilon^2}
- + \int_{\omega
- \varrho}^{\infty}d\omega'\frac{f(\omega')(\omega' - \omega )}{(\omega'
- - \omega)^2 + \varepsilon^2} + \\
- &+\int_{\omega -\varrho}^{\omega+
- \varrho}d\omega'\frac{f(\omega')(\omega' - \omega )}{(\omega' -
- \omega)^2 + \varepsilon^2}
- \bigg)
- \\
- &= \PV_{-\infty}^{\infty}d\omega' \frac{f(\omega')}{(\omega' - \omega)}
-\end{align}
-The integral from $\omega - \varrho$ to $\omega + \varrho$ can be calculated by
-pulling out $f(\omega)$ out of the integral and directly computing it, which
-gives then vanishes. In second integral we approximate $f(\omega')$ to
-$f(\omega)$ in the region $\omega' \simeq \omega$
-\begin{align}
- \varepsilon \int_{-\infty}^{\infty}d\omega' \frac{f(\omega')}{(\omega' -
- \omega)^2 + \varepsilon^2} &\simeq \varepsilon f(\omega) \int_{-\infty}^{\infty}
- \frac{1}{(\omega' -\omega)^2 + \varepsilon^2}\\
- &= \pi f(\omega).
-\end{align}
-Which means the identity is
-\begin{align}
- \lim_{\varepsilon \rightarrow 0^+} \int_{-\infty}^{\infty} d\omega'
- \frac{f(\omega')}{\omega' -\omega \mp i\varepsilon} =
- \PV_{-\infty}^{\infty} d\omega' \frac{f(\omega')}{\omega' -\omega} \pm
- i\pi f(\omega)\label{eq:pv}
-\end{align}
-\section{Potential scattering in quantum mechanics}
-If we consider elastic scattering of a spinless particle off a
-time-independent, spherically symmetric potential of finite range, we look for
-stationary solutions $\psi$ of the Schrödinger equation
-\begin{equation}
- -\frac{\hbbar^2}{2m}\Vec{\nabla^2}\psi(\Vec{x})+V(r)\psi(\Vec{x})=E\psi(\Vec{x})
-\end{equation}
-Since the potential is spherically symmetric, it only depends on $r$ and for
-large values of $r$, it can be shown, that the asymptotic form of $\psi$ looks
-like:
-\begin{equation}
- \psi(r,\theta)\approx A[e^{ikz}+f(E,\theta)\frac{e^{ikr}}{r}]
-\end{equation}
-Where $kr\gg 1$, and k given by
-\begin{equation}
- k=\frac{\sqrt{2mE}}{\hbbar}
-\end{equation}
-We also define the scattering angle $\theta$ by $z=r\cos{\theta}$, and since
-there is no dependence on the azimuthal angle $\phi$. we can define the
-incoming and outgoing parts of the wave function as follows:
-\begin{equation}
- \psi_{in}=Ae^{ikz}
-\end{equation}
-and
-\begin{equation}
- \psi_{out}=Af(E,\theta)\frac{e^{ikr}}{r}
-\end{equation}
-Where the factor $\frac{1}{r}$ is carried, to conserve probability. The complex
-function $f(E,\theta)$ is the so called scattering amplitude. We are now
-interested in the differential cross section $\frac{d\sigma}{d\Omega}$, which
-is defined as the ratio of number of particles per unit time, that are
-scattered into the surface element $dS=r^2d\Omega(\theta,\phi)$ and the number
-of incoming particles per unit time, per are orthogonal to the beam direction.
-Expressed via probability currents, we thus obtain:
-\begin{equation}
- \frac{d\sigma}{d\Omega}=\frac{\Vec{j}_{out}\cdot \Vec{e}_rr^2}{|\Vec{j}_{in}|}
-\end{equation}
-With $\Vec{e}_r$ being a unit vector in direction of the radius, and the currents given as:
-\begin{equation}
-\Vec{j}=\frac{i\hbbar}{2m}(\psi\Vec{\nabla}\psi^*-\psi^*\Vec{\nabla}\psi)
-\end{equation}
-By applying these equations, we obtain the differential crosssection as:
-\begin{equation}
- \frac{d\sigma}{d\Omega}=|f(E,\theta)|^2
-\end{equation}
-With the scattering amplitude, being given as:
-\begin{equation}
- f(E,\theta)=\sum_{l=0}^\infty(2l+1)f_l(E)P_l(cos\theta)
-\end{equation}
-where $l$ denotes the magnitude of orbital angular momentum, and
-$P_l(cos\theta)$ are the Legendre polynomials.
-We can now work out the total crosssection $\sigma$ via the integral:
-\begin{equation}
- \sigma=\int{d\Omega\frac{d\sigma}{d\Omega}}
-\end{equation}
-We do this, by applying the orthogonality relation
-\begin{equation}
- \int{d\Omega P_l(cos\theta)P_{l'}(cos\theta)}=\frac{4\pi}{(2l+1)}\delta_{ll'}
-\end{equation}
-Thus, we obtain:
-\begin{equation}
- \sigma=\sum_{l,l'}(2l+1)(2l'+1)f^*_l(E)f_{l'}(E)\int{d\Omega P_l(cos\theta)P_{l'}(cos\theta)}
-\end{equation}
-Which, finally leads to:
-\begin{equation}
- \sigma=4\pi\sum_l(2l+1)|f(E)|^2
-\end{equation}
-
-
-
-\section{The pion vector from factor and the Omn\`es Problem}
-Insert Text
-\subsection{Unitarity of the scattering matrix}
-Insert Text
-\begin{align}
- \label{eq:rec}
- \text{Im}(F^V_\pi(s) = F^V_\pi(s) e^{-i\delta_{\pi\pi}(s)}\sin\delta_{\pi\pi}(s)
-\end{align}
-\subsection{The Omn\`es Problem}
-The equations \ref{eq:rec} allow us to carefully reconstruct the pion Vector Form
-Factor, based on strictly formulated conditions. This is known as the Omn\`es
-Problem. First of all the equation tells us that $F_\pi^V(s)$ is a complex
-valued function, as $s$ is an analytic variable in the complex plane, apart
-from a cut complex s-plane $\Gamma = [s_0, \infty) \subset \mathbb{R}$, where
-$s = 4M_\pi^2 > 0$. To summerize the conditions are
-\begin{itemize}
- \item $F_\pi^V(s)$ is analytic on the cut complex s-plane
- $\mathbb{C}\backslash \Gamma$
- \item $F_\pi^V(s)\in \mathbb{R} \;\;\; \forall\; s \in
- \mathbb{R}\backslash \Gamma$
- \item $\lim_{\varepsilon \rightarrow 0}(F_\pi^V(s+i\varepsilon)
- e^{-i\delta_{\pi\pi}(s)}) \in \mathbb{R}$ on $\Gamma$ for a real
- bounded fucntion $\delta_{\pi\pi}(s)$
- \item We assume $F_\pi^V(0) = 1$ and $F_\pi^V(s)$ has no zeros.
-\end{itemize}
-We start off with the Couchy Integral
-\begin{align}
- \ln(F(s)) = \frac{1}{2\pi i}\oint_C ds' \frac{\ln(F(s'))}{s'-s}
-\end{align}
-over the following contour
-\begin{center}
-\begin{tikzpicture}[decoration={markings,
-mark=at position 0.5cm with {\arrow[line width=2pt]{>}},
-mark=at position 5cm with {\arrow[line width=2pt]{>}},
-mark=at position 13cm with {\arrow[line width=2pt]{>}},
-mark=at position 21cm with {\arrow[line width=2pt]{>}},
-mark=at position 23cm with {\arrow[line width=2pt]{>}}
-}
-]
-% The axes
-\draw[help lines,->] (-3.5,0) -- (3.5,0) coordinate (xaxis);
-\draw[help lines,->] (0,-3.5) -- (0,3.5) coordinate (yaxis);
-
-% The path
-\path[draw,line width=0.8pt,postaction=decorate]
- (1.5,0.1) -- (3, 0.1) node[below right] {} arc (4:360:3) -- (1.5, -0.1)
- node[below right] {} arc(345:15:0.4);
-
-% The labels
- \draw[thick, ->] (0,0) -- (-2, 2) node[midway, fill=white] {$R$};
- \draw[thick, ->] (1.1,0) -- (1.1, 0.4) node[above] {$\varrho$};
- \node[below] at (xaxis) {$\text{Re}$};
- \node[left] at (yaxis) {$\text{Im}$};
- \node[circle,inner sep=1pt,label=below:{$s_0$}, fill=black] at (1.1,0) {};
-\end{tikzpicture}
-\end{center}
-This means the integral can be separated into
-\begin{align}
- \oint_C ds' \frac{\ln(F(s'))}{s'-s} =
- \lim_{\substack{\varepsilon \rightarrow 0}}
- \bigg(
- \int_{C(R)} + \int_{C(\varrho)} + \int_{s_0+i\varepsilon}^{\infty
- +i\varepsilon} + \int^{s_0-i\varepsilon}_{\infty
- -i\varepsilon}
- \bigg) ds' \frac{\ln(F(s'))}{s'-s}
-\end{align}
-The integrals over $C(R)$ and $C(\varrho)$ dissapear. For the last two
-integrals we can use the Schwarz reflection principle and then we get
-\begin{align}
- \oint_C ds' \frac{\ln(F(s'))}{s'-s} = \frac{1}{\pi} \int_{s_0}^{\infty}ds'
- \text{Im}\left(
- \frac{\ln(F(s'))}{s'-s}\right)
-\end{align}
-where we used $\text{Im}(z) = \frac{z - z^*}{2i}$ to write the imaginary part
-here. We look now at equation \ref{eq:rec} and refactor it
-\begin{align}
- &\frac{F_\pi^V(s)-F_\pi^V(s)^*}{2i} = F_\pi^V e^{i\delta_{\pi\pi}}(s)
- \sin(\delta_{\pi\pi}(s)) \\
- &F_\pi^V(s) = F_\pi^V(s)^* e^{2i \delta_{\pi\pi}(s)}\\
- &\ln(F_\pi^V(s)) = \ln((F_\pi^V e^{-i\delta_{\pi\pi}})^*)+
- i\delta_{\pi\pi}(s).\label{eq:use}
-\end{align}
-Now we use this equation to compute the integral with variation in $s
-\rightarrow s+i\varepsilon$ as $\varepsilon$ goes to infinity.
-\begin{align}
- \ln(F_\pi^V(s)) &= \lim_{\substack{\varepsilon \rightarrow \infty}}
- \ln(F_\pi^V(s+i\varepsilon)) = \\
- &= \lim_{\substack{\varepsilon \rightarrow \infty}}\frac{1}{\pi}
- \int_{s_0}^{\infty}
- \text{Im}\left(\frac{F_\pi^V(s')}{s'-s-i\varepsilon}\right)=\\
- &=\lim_{\substack{\varepsilon \rightarrow \infty}}\frac{1}{\pi}
- \int_{s_0}^{\infty}
- \text{Im}\left(\frac{\ln((F_\pi^V e^{-i\delta_{\pi\pi}})^*)+
- i\delta_{\pi\pi}}{s'-s-i\varepsilon}\right)
-\end{align}
-the part $F_\pi^V e^{-i\delta_{\pi\pi}}$ needs to be real that means
-\begin{align}
- \ln(F_\pi^V(s)) &= \lim_{\substack{\varepsilon \rightarrow \infty}}\frac{1}{\pi}
- \int_{s_0}^{\infty}
- \frac{\delta_{\pi\pi}(s')}{s'-s-i\varepsilon} =\\
- &= \ln(F_\pi^V(0)) + \lim_{\substack{\varepsilon \rightarrow \infty}}
- \frac{s}{\pi}
- \int_{s_0}^{\infty}
- \frac{\delta_{\pi\pi}(s')}{s'(s'-s-i\varepsilon)}
-\end{align}
-with the condition $F_\pi^V(0) = 1$ and the relation from \ref{eq:pv} we get
-\begin{align}
- F_\pi^V(s) = \exp
- \bigg(
- \frac{s}{\pi}\PV_{s_0}^\infty ds' \frac{\delta_{\pi\pi}(s')}{s'(s'-s)}
- + i\delta_{\pi\pi}(s)
- \bigg).
-\end{align}
-To compute the principal value integral we use the following trick
-\begin{align}
- \frac{s}{\pi}\PV_{s_0}^\infty ds' \frac{\delta_{\pi\pi}(s')}{s'(s'-s)} =
- \frac{2}{\pi} \int_{s_0}^\infty ds' \frac{\delta_{\pi\pi}(s')
- -\delta_{\pi\pi}(s)}{s'(s'-s)}+
- \delta_{\pi\pi}\frac{s}{\pi}\PV_{s_0}^\infty \frac{1}{s'(s'-s)}.
-\end{align}
-The first integral can be computed numerically, the second one has an analytic
-solution for $s > s_0$. We use the definition of the principal value and circle
-around $s$ in a small half circle with the radius $r$.
-\begin{align}
- \PV_{s_0}^\infty \frac{1}{s'(s'-s)} = \lim_{\substack{r\rightarrow0}}
- \bigg(
- \int_{s_0}^{s-r}ds' + \int_{s+r}^{\infty} ds'
- \bigg)\frac{1}{s'(s'-s)}
-\end{align}
-then we simply integrate and plug in
-\begin{align}
- \PV_{s_0}^\infty \frac{1}{s'(s'-s)} &= \lim_{\substack{r\rightarrow 0}}
- \bigg(
- \frac{\ln(s'-s) - \ln(s')}{s}\big|_{s'= s_0}^{s'= s-r}
- \frac{\ln(s'-s)-\ln(s')}{s}\big|_{s'=s+r}^{s'=\infty}
- \bigg) =\\
- &=\frac{1}{s}\ln\left(\frac{s_0}{s_0-s}\right)
-\end{align}
-that means the second integral is
-\begin{align}
- \delta_{\pi\pi}\frac{s}{\pi}\PV_{s_0}^\infty \frac{1}{s'(s'-s)}
- =\delta_{\pi\pi}(s)\frac{1}{\pi} \ln\left(\frac{s_0}{s_0 -s }\right)
-\end{align}
-
-Lastly we would like to plot the modulus of the Omn\`es representation of the
-pion vector form
-factor. For the phase we would usually use experimentall value, but in our case
-we will use the Breit-Wigner representation of the pion VVF to compute the
-phase $\delta_{\pi\pi}$. A reminder the Breit-Wigner representation is the
-following
-\begin{align}
- F^V_\pi(s)_{BW} = \frac{M_\varrho^2}{M_\varrho^2 - s - iM_\varrho
- \Gamma_\varrho(s)}
-\end{align}
-where
-\begin{align}
- \Gamma_\varrho(s) := \Gamma_\varrho\frac{s}{M_\varrho^2} \left(
- \frac{\sigma_\pi(s)}{\sigma_\pi(M_\varrho^2)}
- \right)^3 \theta(s-4M_\pi^2), \;\;\;\;\;\; \sigma_\pi(s) :=
- \sqrt{1-\frac{4M_\pi^2}{s}}.
-\end{align}
-Thus our phase shift will be
-\begin{align}
- \delta_{\pi\pi}(s) := \arg\left(F_\pi^V(s)_{BW}\right)
-\end{align}
-where we will use numerical values for $M_\varrho = 0.77\ \text{GeV}$,
-$\Gamma_\varrho = 0.15\ \text{GeV}$, $M_\pi = 0.14 \text{GeV}$.
-\begin{figure}[H]
- \centering
- \includegraphics[width=0.9\textwidth]{./omnes_bw.png}
- \caption{Plot of the modulus of the Breit-Wigner(red) and the Omn\`es
- representation(black) of the pion Vector From Factor for $s \in [0, 1]$ in $GeV^2$}
-\end{figure}
-\nocite{mathe}
-\nocite{stoffer}
-\nocite{omnes}
-\printbibliography
-\end{document}
diff --git a/sesh6/src/omnes_bw.png b/sesh6/src/omnes_bw.png
Binary files differ.
diff --git a/sesh6/src/plots.py b/sesh6/src/plots.py
@@ -0,0 +1,111 @@
+import numpy as np
+import matplotlib.pyplot as plt
+import matplotlib
+from sympy import *
+from scipy.integrate import quad
+
+font = {'family' : 'sans',
+ 'weight' : 'bold',
+ 'size' : 18}
+
+matplotlib.rc('font', **font)
+matplotlib.matplotlib_fname()
+
+def main():
+ # numpy representation
+ w_00 = 1
+ gamma = w_00/20
+ G_np = lambda w: 1/(-w**2 - 1j*gamma*w + w_00**2)
+ w_np = np.linspace(w_00-2*gamma, w_00+2*gamma, 200)
+
+ # sympy representation
+ w = Symbol('w', real=True)
+ z = Symbol('z')
+ g = Symbol('g', real=True)
+ w_0 = Symbol('w_0', real=True)
+
+ G = 1/(-w**2 - 1j*g*w + w_0**2)
+ G_n = np.abs(G.subs([(w, w_00), (w_0, w_00), (g, gamma)]))**2
+
+ #equation for half maximum solve for w
+ solutions = solve(Eq(1/2*1/(g*w_0)**2, abs(G)**2), w)
+
+ so = solve(Eq(0, 1/G.subs(w, z)), z)
+
+ a_1 = solutions[1].subs([(w_0, w_00), (g, gamma)])
+ f_1 = abs(G.subs([(w, a_1), (g, gamma), (w_0, w_00)]))**2
+
+ a_2 = solutions[3].subs([(w_0, w_00), (g, gamma)])
+ f_2 = abs(G.subs([(w, a_2), (g, gamma), (w_0, w_00)]))**2
+ fig, ax= plt.subplots(1, 2, figsize=[17,7])
+
+ # Plots for |G(w)|^2 and arg(G(w))
+ for i in range(len(ax)):
+ ax[i].spines['right'].set_visible(False)
+ ax[i].spines['top'].set_visible(False)
+ ax[i].yaxis.set_ticks_position('left')
+ ax[i].xaxis.set_ticks_position('bottom')
+ ax[i].xaxis.set_ticks(np.arange(0.9,1.1,0.05))
+
+ ax[0].plot(w_np/w_00, np.abs(G_np(w_np))**2/G_n, c='black')
+ ax[0].set_xlabel(r'$\frac{\omega}{\omega_0}$')
+ ax[0].set_ylabel(r'$\frac{|G(\omega)|^2}{|G(\omega_0)|^2}$')
+ ax[0].scatter(1, 1/(gamma*w_00)**2/G_n, c='r')
+ ax[0].scatter(a_1/w_00, f_1/G_n, c='r')
+ ax[0].scatter(a_2/w_00, f_2/G_n, c='r')
+ ax[0].plot(np.linspace(w_00-gamma/2, w_00+gamma/2, 20)/w_00, f_1*np.ones(20)/G_n)
+
+ ax[1].plot(w_np/w_00, np.angle(G_np(w_np))/np.pi, c='black')
+ ax[1].set_xlabel(r'$\frac{\omega}{\omega_0}$')
+ ax[1].set_ylabel(r'$arg(G(\omega)\frac{1}{\pi}$')
+
+ fig.tight_layout()
+
+ fig.savefig('section2.png')
+
+
+ # CHAPTER 5
+ M_rho = 0.77
+ G_rho = 0.15
+ M_pi = 0.14
+
+ def F_BW(s):
+ sigma = lambda x: np.sqrt(1 - 4*M_pi**2/x)
+ G = G_rho* s/M_rho**2* (sigma(s)/sigma(M_rho**2))**3 * np.heaviside(s- 4*M_pi**2, 0 )
+ return M_rho**2 / (M_rho**2 - s - 1j*M_rho*G)
+
+ s = np.linspace(0.1, 1, 200)
+ delta = lambda x: np.angle(F_BW(x))
+
+ # P.V.
+ s_0 = 4*M_pi**2
+ def integrand(s_, x):
+ return (delta(s_) - delta(x))/(s_*(s_ - x))
+ def integral(x):
+ return quad(integrand, s_0, np.inf, args=(x))[0]
+
+ I = np.vectorize(integral)
+
+ first = s/np.pi * I(s) # first integral
+ second = delta(s) * 1/np.pi * np.log(s_0/(s-s_0)) # second integral
+
+ F = np.exp(first + second + 1j * delta(s))
+
+ # BW - Omnès representations
+
+ fig, ax = plt.subplots(figsize=[10, 7])
+ ax.spines['right'].set_visible(False)
+ ax.spines['top'].set_visible(False)
+ ax.yaxis.set_ticks_position('left')
+ ax.xaxis.set_ticks_position('bottom')
+
+ ax.plot(s, np.abs(F), label='Omnès', c='black')
+ ax.plot(s, np.abs(F_BW(s)), label='Breit-Wigner', c='red')
+ ax.legend(loc='best', fontsize=12)
+ ax.set_xlabel(r'$s\ [GeV^2]$')
+ ax.set_ylabel(r'$|F_\pi^V(s)|$')
+ fig.savefig('omnes_bw.png')
+
+
+if __name__ == '__main__':
+ main()
diff --git a/sesh6/src/plots_sec2.png b/sesh6/src/plots_sec2.png
Binary files differ.
diff --git a/sesh6/src/section2.png b/sesh6/src/section2.png
Binary files differ.
diff --git a/sesh6/src/uni.bib b/sesh6/src/uni.bib
@@ -1,30 +0,0 @@
-@book{mathe,
- title={Mathematik für Physiker},
- publisher={Springer-Verlag},
- author={Kerner, von Wahl},
- year={2005}
-}
-
-@article{stoffer,
- title={Two-pion contribution to hadronic vacuum polarization},
- volume={2019},
- ISSN={1029-8479},
- url={http://dx.doi.org/10.1007/JHEP02(2019)006},
- DOI={10.1007/jhep02(2019)006},
- number={2},
- journal={Journal of High Energy Physics},
- publisher={Springer Science and Business Media LLC},
- author={Colangelo, Gilberto and Hoferichter, Martin and Stoffer, Peter},
- year={2019},
- month={Feb}
-}
-
-@article{omnes,
- author = "Omnes, R.",
- title = "{On the Solution of certain singular integral equations of quantum field theory}",
- doi = "10.1007/BF02747746",
- journal = "Nuovo Cim.",
- volume = "8",
- pages = "316--326",
- year = "1958"
-}
diff --git a/sesh6/tex/main.pdf b/sesh6/tex/main.pdf
Binary files differ.
diff --git a/sesh6/tex/main.tex b/sesh6/tex/main.tex
@@ -0,0 +1,775 @@
+\documentclass[a4paper]{article}
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+
+\usepackage{mathptmx}
+
+\usepackage[a4paper, total={6in, 8in}]{geometry}
+\usepackage{subcaption}
+\usepackage[shortlabels]{enumitem}
+\usepackage{amssymb}
+\usepackage{amsthm}
+\usepackage{mathtools}
+\usepackage{braket}
+\usepackage{bbm}
+\usepackage{graphicx}
+\usepackage{float}
+\usepackage{yhmath}
+\usepackage{tikz}
+\usetikzlibrary{calc,decorations.markings}
+\usepackage[colorlinks=true,naturalnames=true,plainpages=false,pdfpagelabels=true]{hyperref}
+\usepackage[parfill]{parskip}
+\usepackage[backend=biber, sorting=none]{biblatex}
+\newcommand{\hbbar}{{\raisebox{0.05ex}{$\mathchar '26$}\mkern -9mu\raisebox{-0.15ex}{$\mathchar '26$}\mkern -9muh}}
+\addbibresource{uni.bib}
+\pagestyle{myheadings}
+\markright{Popovic, Vogel\hfill Dispertion relations \hfill}
+
+
+\title{Universität Wien\\ Fakultät für Physik\\
+\vspace{1.25cm}Laborpraktikum Theoretische Physik 2021S \\ Dispersion relations
+}
+\author{Milutin Popovic \& Tim Vogel \vspace{1cm}\\ Betreuer: Peter Stoffer}
+\date{30. Juni, 2021}
+
+\begin{document}
+\maketitle
+\noindent\rule[0.5ex]{\linewidth}{1pt}
+\begin{abstract}
+This protocol will provide a first look at dispersion relations. We will show
+some trivial examples in the harmonic oscillator, where the mathematical basics
+are provided and applied. From this we will dive into more complex topics,
+derive a few equations within scattering processes in quantum dynamics and
+after that, show, that dispersion do not only work in the quantum physical
+world, but also find application in particle physics, where they can be used to
+obtain results in areas, where quantum chromodynamics fail. We explicitly
+calculate solutions to the so called Omnés-problem, and finally apply some
+numerical values to the found solutions.
+\end{abstract}
+\noindent\rule[0.5ex]{\linewidth}{1pt}
+\newcommand{\PV}{\mathop{\mathrlap{\pushR}}\!\int}
+\newcommand{\pushR}{\mathchoice
+ {\mkern2.5mu P}
+ {\scriptstyle P}
+ {\scriptscriptstyle P}
+ {\scriptscriptstyle P}
+}
+
+\tableofcontents
+\section{Introduction}
+Within the tools of complex analysis, there exists the possibility, to form
+relations between observable quantities of physicals systems, for example
+dispersion in a dielectric medium. This can be taken even further, by using the
+same methods within particle-physical problems, where the now more popular
+methods of quantum chromodynamics do not apply, which would be low energy
+hadronic processes. We will firstly apply these concepts to the simple example
+of the harmonic oscillator and finally work out more complex problems,
+regarding the pion vector form factor. The reader is expected to be familiar
+with the subject of complex analysis, especially analyticity/holomorphicity of
+a function, integration of complex functions, the residue theorem and the
+Schwartz reflection principle.
+
+\section{Damped harmonic oscillator}
+Considering a free harmonic oscillator, the equation of motion accounts to:
+\begin{equation}
+ \Ddot{x}(t)+\gamma\Dot{x}(t)+\omega_0^2x(t)=0
+\end{equation}
+where $\gamma > 0$ is the damping coefficient, and $\omega_0$ the angular frequency
+of the oscillator. Using the exponential ansatz we can arrive at an general
+solution to this ordinary differential equation
+\begin{align}
+ &x(t) = a e^{-i\omega_1 t} + b e^{-i\omega_2 t} \\
+ &\nonumber \\
+ \text{with:} \nonumber\\
+ &\omega_{1/2} = \pm \sqrt{\omega_0^2 - (\frac{\gamma}{2})^2} -
+ i\frac{\gamma}{2}
+\end{align}
+where $a$ and $b$ are calculated based on the Couchy boundary conditions.
+
+For the case $\omega_0 > \frac{\gamma}{2}$ we can rewrite the solution
+\begin{align}
+ &x(t) = \left(a e^{-i\tilde{\omega}_0 t} + b e^{-i\tilde{\omega}_0
+ t}\right) e^{-\frac{\gamma}{2}t}\\
+ &\nonumber \\
+ \text{with:} \nonumber\\
+ &\tilde{\omega}_{0} = \sqrt{\omega_0^2 - \left(\frac{\gamma}{2}\right)^2}
+\end{align}
+\subsection{External Force}
+
+Now consider a harmonic oscillator with an external force $F(t)$ driving it
+\begin{align}\label{eq:force}
+ \Ddot{x}(t)+\gamma\Dot{x}(t)+\omega_0^2x(t)=\frac{F(t)}{m} =: f(t).
+\end{align}
+By Fourier transforming the equation we can arrive at an equation for the
+greens function in Fourier space. Note that the Fourier transform of
+$x(t)$ is
+\begin{align}
+ \hat{x}(t) &= \frac{1}{2\pi}\int_\infty^\infty d\omega
+ X(\omega) e^{-i\omega t}
+\end{align}
+so the Fourier transforms of $\dot{x}$ and $\Ddot{x}$ are
+\begin{align}
+ \mathcal{F}(\dot{x}) &= -i\omega X(\omega)\\
+ \mathcal{F}(\Ddot{x}) &= -\omega^2 X(\omega)\\
+\end{align}
+and the equation \ref{eq:force} turns into
+\begin{align}
+ (-\omega^2 - i\gamma \omega + \omega_0^2) X(\omega) = F(\omega)
+\end{align}
+
+The Green's function can be represented in Fourier space like the following
+\begin{align}
+ G(\omega)= \frac{1}{-\omega^2 - i\gamma \omega + \omega_0^2}
+\end{align}
+
+The Maximum of the squared modulus $|G(\omega)|^2$ for $\gamma \ll \omega_0$ is
+roughly at $\omega_0$, thus the width at half maximum can be calculated by
+looking for two $\omega$'s that satisfy
+\begin{align}
+ \frac{1}{2}|G(\omega_0)|^2 &= |G(\omega)|^2\\
+ \frac{1}{2} \frac{1}{\omega_0^2\gamma^2} &= |G(\omega)|^2
+\end{align}
+
+The exact solutions are
+\begin{align}
+ \tilde{\omega}_1 &= \omega_0\sqrt{-0.5\left(\frac{\gamma}{\omega_0}\right)^2
+ - 1.0\frac{\gamma}{\omega_0}(0.25\left(\frac{\gamma}{\omega_0}\right)^2
+ + 1)^{\frac{1}{2}} + 1}\\
+ \tilde{\omega}_2 &= \omega_0\sqrt{-0.5\left(\frac{\gamma}{\omega_0}\right)^2
+ + 1.0\frac{\gamma}{\omega_0}(0.25\left(\frac{\gamma}{\omega_0}\right)^2
+ + 1)^{\frac{1}{2}} + 1}
+\end{align}
+With help of Taylor expansion in the linear order in $\frac{\gamma}{\omega_0}$
+gives us the approximation for the with at half maximum
+\begin{align}
+ \tilde{\omega}_2 - \tilde{\omega}_1 \simeq \gamma
+\end{align}
+
+In the figure below we plotted the squared modulus of $|G(\omega)|^2$
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=\textwidth]{section2.png}
+ \caption{On the left the squared modulus $|G(\omega)|^2$ in $\omega
+\in [\omega_0 - 2\gamma, w_0 + w\gamma]$ for $\gamma \ll \omega_0$, precisely
+$\gamma = \omega_0/20$ for $\omega_0 = 1$ and on the right $arg(G(\omega))$}
+\end{figure}
+
+
+Next we want calculate the Green's function in terms of time
+\begin{align}
+ g(t) = \frac{1}{2\pi} \int^\infty_\infty d\omega G(\omega)e^{-i\omega t}.
+\end{align}
+Furthermore we can transform this to the complex integral where we have two singularities
+at We have two singularities at $z_{1/2} = - \frac{i\gamma}{2} \pm
+\tilde{\omega}_{0}$. We have the following integral
+path
+
+\begin{center}
+\begin{tikzpicture}[decoration={markings,
+mark=at position 13cm with {\arrow[line width=2pt]{>}}
+}
+]
+% The axes
+\draw[help lines,->] (-4,0) -- (4,0) coordinate (xaxis);
+\draw[help lines,->] (0,-3.5) -- (0,1) coordinate (yaxis);
+
+% The path
+\path[draw,line width=0.8pt,postaction=decorate]
+ (3,0) node[above right] {} arc (0:-180:3) -- (-3, 0)
+ node[above left] {} -- (-3, 0) -- (3, 0);
+
+% The labels
+ \draw[thick, ->] (0,0) -- (2.1, -2.1) node[midway, fill=white] {$R$};
+ \node[below] at (xaxis) {$\text{Re}$};
+ \node[left] at (yaxis) {$\text{Im}$};
+ \node at (0.2,-1.5) {$\nu$};
+ \node at (1, -3.2) {$C(R)$};
+\end{tikzpicture}
+\end{center}
+
+The complex integral representation is
+\begin{align}
+ \oint_\nu dz G(z) e^{-izt} &=
+ \lim_{R \rightarrow \infty }
+ \bigg(
+ \int_{C(R)} + \int_{-R}^{R}
+ \bigg)
+ dz\ G(z) e^{-izt}\\
+ &= 2\pi i\sum_j \text{I}(C_j, z_j) \text{Res}_j
+\end{align}
+Keep in mind that the integral from $R$ to $-R$ is the integral we are
+trying to solve, that is pulling the limit we have one integral over the real
+axis. Because of Jordan's lemma, the integral over the complex curve vanishes
+\begin{align}
+ \big| \int_{C(R)} dz G(z) e^{-izt}\big| \leq \frac{\pi}{t}M_R
+\end{align}
+where $M_R:= \max_{C(R)}\{G(Re^{i\varphi})\}$.It can easily be seen that $M_R$
+converges to $0$ as $R$ goes to infinity. Thus the only value the integral can
+take is $0$ and we can calculate the real integral with the residues
+\begin{align}
+ \text{Res}_1 &= \frac{e^{i z t}}{(z - z_1)(z - z_2)} (z - z_1)\bigg|_{z=z_1}
+ \\
+ &= -\frac{e^{-iz_1t}}{z_1 - z_2} = \frac{e^{-\frac{\gamma}{2}t}
+ e^{i\tilde{\omega}_0 t}}{2\tilde{\omega}_0}\\
+ \nonumber \\
+ \text{Res}_2 &= \frac{e^{i z t}}{(z - z_1)(z - z_2)} (z - z_2)\bigg|_{z=z_2}
+ \\
+ &= -\frac{e^{-iz_1t}}{z_2 - z_1} = -\frac{e^{-\frac{\gamma}{2}t}
+ e^{-i\tilde{\omega}_0 t}}{2\tilde{\omega}_0}\\
+\end{align}
+with the index $\text{I}(C_R, z_i)$ being $1$, because the curve goes around the
+singularities once.
+
+The integral evolves to
+\begin{align}
+ \frac{1}{2\pi} \int_{-\infty}^{\infty} d\omega G(\omega) e^{-i\omega t}=
+ \frac{\sin(\tilde{\omega}_0t)}{\tilde{\omega}_0} e^{-\frac{\gamma}{2}t}.
+\end{align}
+Treating the cases $t<0$ and $t>0$ separately we can join them with the
+Heaviside-theta function $\theta(t)$, the Green's function for the damped
+harmonic oscillator is
+\begin{align}
+ g(t) = \frac{\sin(\tilde{\omega}_0t)}{\tilde{\omega}_0}
+ e^{-\frac{\gamma}{2}t} \theta(t)
+\end{align}
+With convolution we can arrive at a solution for the damped harmonic oscillator
+for an arbitrary driving force $f(t)$
+\begin{align}
+ x(t) = \int_{-\infty}^{t} dt'
+ \frac{\sin(\tilde{\omega}_0 (t-t'))}{\tilde{\omega}_0}
+ e^{-\frac{\gamma}{2}(t-t')} f(t').
+\end{align}
+
+\subsection{Green's Function and dispersion relations}
+Next we want to compute the following integral
+\begin{align}
+ 0 = \oint_C d\omega' \frac{G(\omega')}{\omega - \omega'}, \;\;\;\;
+ \text{with} \;\;\; \omega' = \omega_r + i\omega_i
+\end{align}
+along the following contour
+
+\begin{center}
+\begin{tikzpicture}[decoration={markings,
+mark=at position 0.5cm with {\arrow[line width=2pt]{>}},
+mark=at position 5cm with {\arrow[line width=2pt]{>}},
+mark=at position 13cm with {\arrow[line width=2pt]{>}},
+mark=at position 15cm with {\arrow[line width=2pt]{>}}
+}
+]
+% The axes
+\draw[help lines,->] (-3.5,0) -- (3.5,0) coordinate (xaxis);
+\draw[help lines,->] (0,-0.5) -- (0,3.5) coordinate (yaxis);
+
+% The path
+\path[draw,line width=0.8pt,postaction=decorate]
+ (2,0) -- (3, 0) node[below right] {} arc (0:180:3) -- (0.5, 0)
+ arc (180:0:0.75);
+
+% The labels
+ \draw[thick, ->] (0,0) -- (-2.1, 2.1) node[midway, fill=white] {$R$};
+ \draw[thick, ->] (1.25,0) -- (1.75, 0.5) node[midway, above] {$\varrho$};
+ \node[below] at (xaxis) {$\text{Re}$};
+ \node[left] at (yaxis) {$\text{Im}$};
+ \node[circle,inner sep=1pt,label=below:{$\omega$}, fill=black] at (1.25,0) {};
+\end{tikzpicture}
+\end{center}
+so the integral representation is
+\begin{align}
+ \oint_C d\omega' \frac{G(\omega')}{\omega - \omega'} =
+ \lim_{\substack{R\rightarrow \infty \\ \varrho \rightarrow 0^+}}
+ \bigg( \int_{C(R)} + \int_{(C(\rho)} + \int_{-R}^{\omega -
+ \varrho} + \int_{\omega +\varrho}^R
+ \bigg)
+ \;d\omega'\ \frac{G(\omega')}{\omega - \omega'}
+\end{align}
+We need show that the integral over the big circle goes to $0$. We know that for
+$\omega' \neq \omega$ we have
+\begin{align}
+ \big|\frac{G(\omega')}{\omega' - \omega}\big| &=
+ \big|\frac{1}{\omega'^3}\frac{1}{(1-\frac{\omega_1}{\omega'})(1-\frac{\omega_2}{\omega'})
+ (1 - \frac{\omega}{\omega'})}\big|
+ \leq \frac{1}{R^3}
+\end{align}
+thus
+\begin{align}
+ \bigg|
+ \int_{C(R)} d\omega' \frac{G(\omega')}{\omega - \omega'}
+ \bigg| \leq \frac{2\pi R}{R^3} = \frac{2\pi}{R^2}
+ \xrightarrow[R\rightarrow \infty]{} 0.
+\end{align}
+The small circle can be calculated with the Residue theorem with the pole at
+$\omega$
+\begin{align}
+\int_{C(\varrho)}d\omega' \frac{G(\omega')}{\omega - \omega'} = 2\pi i
+ \text{I}(C(\varrho), \omega) \text{Res}(\frac{G(\omega')}{\omega - \omega'},
+ \omega) = i\pi G(\omega).
+\end{align}
+Note that we go around $\omega$ only $1/2$ times. Reconstructing the integral
+equation we get
+\begin{align}
+ -i\pi G(\omega) = \lim_{\varrho \rightarrow 0^+}
+ \big(
+ \int_{-R}^{\omega -\varrho} + \int_{\omega +\varrho}^R
+ \big) \;d\omega'\ \frac{G(\omega')}{\omega' - \omega}
+\end{align}
+which is exactly the Cauchy Principal Value. Furthermore we can rewrite
+$G(\omega)$ into real and imaginary parts
+\begin{align}
+ \text{Re} (G(\omega)) = \frac{1}{\pi} \PV d\omega' \frac{\text{Im}
+ (G(\omega'))}{\omega' - \omega}\\
+ \text{Im} (G(\omega)) = \frac{1}{\pi} \PV d\omega' \frac{\text{Re}
+ (G(\omega'))}{\omega' - \omega}\\
+\end{align}
+which are Hilbert transforms of each other, the equations are also known
+as ``dispersion relations''. It should be noted that these equations also allow
+negative frequencies. Let us derive an representation for only positive
+frequencies. We start off by a simple statement
+\begin{align}
+ G(-\omega^*) = G(\omega)^*.
+\end{align}
+In our case this is obviously true
+\begin{align}
+ &G(-\omega^*) = \frac{1}{-(\omega^*)^2 + i\gamma \omega^* + \omega_0^2}\\
+ \nonumber \\
+ &G(\omega)^* = \frac{1}{-(\omega^2)^* + i\gamma \omega^* + \omega_0^2} =
+ G(-\omega^*)
+\end{align}
+Now we choose $\omega \in \mathbb{R}^+$, our relation then becomes
+$G(-\omega) = G(\omega)^*$. Then we get
+\begin{align}
+ \text{Re} (G(\omega)) &= \frac{1}{\pi} \PV_0^\infty d\omega' \frac{2\omega'\text{Im}
+ (G(\omega'))}{\omega'^2 - \omega^2}\\
+ \text{Im} (G(\omega)) &= -\frac{1}{\pi} \PV_0^\infty d\omega' \frac{2\omega'\text{Re}
+ (G(\omega'))}{\omega'^2 - \omega^2}
+\end{align}
+
+To round this chapter up we would like to show one last identity in the sense
+of distributions
+\begin{align}
+ \lim_{\varepsilon \rightarrow 0^+} \frac{1}{\omega' -\omega \mp
+ i\varepsilon} = \text{P}(\frac{1}{\omega' - \omega}) \pm i\pi\delta(\omega'
+ - \omega).
+\end{align}
+Let us extend the fraction with $\omega' - \omega \pm i\varepsilon$.
+\begin{align}
+\frac{\omega' - \omega \pm i\varepsilon}{(\omega' -\omega \mp
+ i\varepsilon)(\omega' - \omega \pm i\varepsilon)} = \frac{\omega' - \omega
+ \pm i\varepsilon}{(\omega' - \omega)^2 + \varepsilon^2}.
+\end{align}
+That means for a test function $f(\omega')$ we have
+\begin{align}
+ \lim_{\varepsilon \rightarrow 0^+} \int_{-\infty}^\infty d\omega'
+ \frac{f(\omega')}{\omega' - \omega \mp i\varepsilon} &=
+ \lim_{\varepsilon \rightarrow 0^+}
+ \int_{-\infty}^\infty d\omega'
+ \frac{(\omega' - \omega \pm i\varepsilon) f(\omega')}{(\omega' - \omega)^2
+ + \varepsilon^2}\\
+ & =
+ \lim_{\varepsilon \rightarrow 0^+}\bigg(
+ \int_{-\infty}^\infty d\omega'
+ \frac{f(\omega')(\omega' - \omega )}{(\omega' - \omega)^2 + \varepsilon^2}
+ \pm i\varepsilon
+ \int_{-\infty}^\infty d\omega'\frac{f(\omega')}{(\omega' - \omega)^2 + \varepsilon^2}
+ \bigg)\label{eq:id}.
+\end{align}
+Let us look into the first integral in equation \ref{eq:id}, we can rewrite it
+\begin{align}
+ \lim_{\varepsilon \rightarrow 0^+}\int_{-\infty}^\infty
+ d\omega'\frac{f(\omega')(\omega' - \omega )}{(\omega' - \omega)^2 + \varepsilon^2}
+ &= \lim_{\varepsilon,\varrho \rightarrow 0^+}
+ \bigg(
+ \int_{-\infty}^{\omega - \varrho}d\omega'\frac{f(\omega')(\omega' -
+ \omega )}{(\omega' - \omega)^2 + \varepsilon^2}
+ + \int_{\omega
+ \varrho}^{\infty}d\omega'\frac{f(\omega')(\omega' - \omega )}{(\omega'
+ - \omega)^2 + \varepsilon^2} + \\
+ &+\int_{\omega -\varrho}^{\omega+
+ \varrho}d\omega'\frac{f(\omega')(\omega' - \omega )}{(\omega' -
+ \omega)^2 + \varepsilon^2}
+ \bigg)
+ \\
+ &= \PV_{-\infty}^{\infty}d\omega' \frac{f(\omega')}{(\omega' - \omega)}
+\end{align}
+The integral from $\omega - \varrho$ to $\omega + \varrho$ can be calculated by
+pulling out $f(\omega)$ out of the integral and directly computing it, which
+gives then vanishes. In second integral we approximate $f(\omega')$ to
+$f(\omega)$ in the region $\omega' \simeq \omega$
+\begin{align}
+ \varepsilon \int_{-\infty}^{\infty}d\omega' \frac{f(\omega')}{(\omega' -
+ \omega)^2 + \varepsilon^2} &\simeq \varepsilon f(\omega) \int_{-\infty}^{\infty}
+ \frac{1}{(\omega' -\omega)^2 + \varepsilon^2}\\
+ &= \pi f(\omega).
+\end{align}
+Which means the identity is
+\begin{align}
+ \lim_{\varepsilon \rightarrow 0^+} \int_{-\infty}^{\infty} d\omega'
+ \frac{f(\omega')}{\omega' -\omega \mp i\varepsilon} =
+ \PV_{-\infty}^{\infty} d\omega' \frac{f(\omega')}{\omega' -\omega} \pm
+ i\pi f(\omega)\label{eq:pv}
+\end{align}
+\section{Potential scattering in quantum mechanics}
+If we consider elastic scattering of a spineless particle off a
+time-independent, spherically symmetric potential of finite range, we look for
+stationary solutions $\psi$ of the Schrödinger equation
+\begin{equation}
+ -\frac{\hbbar^2}{2m}\Vec{\nabla^2}\psi(\Vec{x})+V(r)\psi(\Vec{x})=E\psi(\Vec{x})
+\end{equation}
+Since the potential is spherically symmetric, it only depends on $r$ and for
+large values of $r$, it can be shown, that the asymptotic form of $\psi$ looks
+like:
+\begin{equation}
+ \psi(r,\theta)\approx A[e^{ikz}+f(E,\theta)\frac{e^{ikr}}{r}]
+\end{equation}
+Where $kr\gg 1$, and k given by
+\begin{equation}
+ k=\frac{\sqrt{2mE}}{\hbbar}
+\end{equation}
+We also define the scattering angle $\theta$ by $z=r\cos{\theta}$, and since
+there is no dependence on the azimuthal angle $\phi$. we can define the
+incoming and outgoing parts of the wave function as follows:
+\begin{equation}
+ \psi_{in}=Ae^{ikz}
+\end{equation}
+and
+\begin{equation}
+ \psi_{out}=Af(E,\theta)\frac{e^{ikr}}{r}
+\end{equation}
+Where the factor $\frac{1}{r}$ is carried, to conserve probability. The complex
+function $f(E,\theta)$ is the so called scattering amplitude. We are now
+interested in the differential cross section $\frac{d\sigma}{d\Omega}$, which
+is defined as the ratio of number of particles per unit time, that are
+scattered into the surface element $dS=r^2d\Omega(\theta,\phi)$ and the number
+of incoming particles per unit time, per are orthogonal to the beam direction.
+Expressed via probability currents, we thus obtain:
+\begin{equation}
+ \frac{d\sigma}{d\Omega}=\frac{\Vec{j}_{out}\cdot \Vec{e}_rr^2}{|\Vec{j}_{in}|}
+\end{equation}
+With $\Vec{e}_r$ being a unit vector in direction of the radius, and the currents given as:
+\begin{equation}
+\Vec{j}=\frac{i\hbbar}{2m}(\psi\Vec{\nabla}\psi^*-\psi^*\Vec{\nabla}\psi)
+\end{equation}
+By applying these equations, we obtain the differential cross section as:
+\begin{equation}
+ \frac{d\sigma}{d\Omega}=|f(E,\theta)|^2
+\end{equation}
+With the scattering amplitude, being given as:
+\begin{equation}
+ f(E,\theta)=\sum_{l=0}^\infty(2l+1)f_l(E)P_l(cos\theta)
+\end{equation}
+where $l$ denotes the magnitude of orbital angular momentum, and
+$P_l(cos\theta)$ are the Legendre polynomials.
+We can now work out the total cross section $\sigma$ via the integral:
+\begin{equation}
+ \sigma=\int{d\Omega\frac{d\sigma}{d\Omega}}
+\end{equation}
+We do this, by applying the orthogonality relation
+\begin{equation}
+ \int{d\Omega P_l(cos\theta)P_{l'}(cos\theta)}=\frac{4\pi}{(2l+1)}\delta_{ll'}
+\end{equation}
+Thus, we obtain:
+\begin{equation}
+ \sigma=\sum_{l,l'}(2l+1)(2l'+1)f^*_l(E)f_{l'}(E)\int{d\Omega
+ P_l(cos\theta)P_{l'}(cos\theta)}
+\end{equation}
+Which, finally leads to:
+\begin{equation}
+ \sigma=4\pi\sum_l(2l+1)|f(E)|^2
+\end{equation}
+By now defining a phase shift of:
+\begin{equation}
+ S_l(k)=1+2ikf_l(E)
+\end{equation}
+where, $S_l(k)$ is the $l$-th matrix element of the scattering operator, and
+can also be written as:
+\begin{equation}
+ S_l=e^{2i\delta_l}
+\end{equation}
+Thus, one can see pretty quickly, that
+\begin{equation}
+ f_l(E)=\frac{e^{2i\delta_t}-1}{2ik}=\frac{e^{i\delta_l}\sin{\delta_l}}{k}
+\end{equation}
+With this result, we can now derive the optical theorem. We start, by plugging
+the result above into equation (66)
+\begin{equation}
+ \sigma=4\pi\sum_{l=0}^\infty
+ (2l+1)|\frac{1}{k}e^{i\delta_lE}\sin{\delta_l(E)}|^2
+ =\frac{4\pi}{k^2}\sum_l (2l+1)\sin^2{\delta_l}
+\end{equation}
+with
+\begin{equation}
+ Im\, f(E,0)=\sum_{l=0}^\infty
+ (2l+1)Im(\frac{e^{i\delta_l}}{k})\sin{\delta_l}=\frac{1}{k}\sum_l
+ (2l+1)\sin^2{\delta_l}
+\end{equation}
+Which, finally leads to:
+\begin{equation}
+ \sigma_{el}=\frac{4\pi}{k}Im\, f(E,0)
+\end{equation}
+We now consider a froward scattering amplitude, with the asymptotic behavior
+$[f(E,0)-f_\infty(0)]\rightarrow E^{}-1-\epsilon$ for $|E|\rightarrow\infty$,
+with $\epsilon>0$. We want to compute the integral, given by:
+\begin{equation}
+ \oint_\Gamma dE'\frac{f(E',0)-f_\infty(0)}{E'-E}=2\pi i\sum_i^N\frac{Res_{E'=E_i(f(E',0)-f_\infty(0)}}{E_i-E}
+\end{equation}
+From the optical theorem we know, that the forward scattering amplitude is real
+on the negative real axis, and we also assume that $F_\infty(0)$ is real, as
+well. For further calculations the integrand in equation (73) will be named
+$F(E')$, to improve readability, also the arguments of the functions $f(E,0)$
+and $f_\infty(0)$ will be left out, from this point forward. Firstly, we
+consider the parts of the curve, parallel to the real axis. We say $f(E,0)$ is
+analytical on the upper half plane, to the point E. By making use of the
+Schwarz reflection principle, we can write:
+\begin{equation}
+ \int_\leftarrow dE'F(E'^*)+\int_\rightarrow dE'F(E')=\int_\leftarrow
+ dE'F^*(E')+\int_\rightarrow dE'F(E')=2i\int\rightarrow dE'\, ImF(E')
+\end{equation}
+The imaginary part of $F(E')$ equates to:
+\begin{equation}
+ Im(F)=Im(\frac{f-f_\infty}{E'-E})=\frac{1}{|E'-E|^2}[Im(f)Re(E'-E)-Re(f)Im(E'-E)+f_\infty
+ Im(E'-E)]
+\end{equation}
+We can now calculate the residues of each term of equation (75) individually.
+To achieve this, we consider the point $E=E_r+\alpha iE_i$. We will start by
+calculating the residues for the second and third term first, since the first
+term will be used differently. So, for the second term, we obtain the residue
+as follows:
+\begin{equation}
+ Res_{E_2}=\lim\limits_{\alpha\rightarrow
+ 0}\frac{d}{dE'}(E'-E)^2\frac{Re(f)Im(E'-E)}{(E'-E)(E'-E)^*}|_{E'=E}
+\end{equation}
+\begin{equation}
+ =\lim\limits_{\alpha\rightarrow
+ 0}\frac{d}{dE'}\frac{Re(f)Im(E'-E)(E'-E)}{(E'-E)^*}|_{E'=E}
+\end{equation}
+The product rule leaves four terms to calculate from this equation, but three
+of which can be disregarded, since they vanish, if the limit is taken before
+the derivation. The last term comes to:
+\begin{equation}
+ \frac{d}{dE'}Im(E'-E)=-\frac{i}{2}
+\end{equation}
+Which leaves the residue as:
+\begin{equation}
+ Res_{E_2}=-\frac{i}{2}Ref(E)
+\end{equation}
+By the same procedure, the other residue amounts to:
+\begin{equation}
+ Res_{E_3}=-\frac{i}{2}f_\infty
+\end{equation}
+For the first term, we calculate the integral
+\begin{equation}
+ \lim\limits_{\alpha\rightarrow 0}\int_0^\infty dE'\frac{Imf(E',0)}{|E'-E|^2}=P\int_0^\infty dE'\frac{Imf(E',0)}{E'-E}+\int_{circle}dE'\frac{Imf(E',0)}{|E'-E|^2}
+\end{equation}
+Where $P\int$ denotes the principal value integral. With $E'=E_r-\rho e^{i\phi}$ and $E=E_r+i\alpha E_i$, the seconds integral in equation (81) can be written as
+\begin{equation}
+ \lim\limits_{\alpha\rightarrow 0}\lim\limits_{\rho\rightarrow 0}\int_\pi^{2\pi}d\phi\frac{Imf(E_r-\rho e^{i\phi},0)(\rho\cos{\phi})}{|(E_r-\rho e^{i\phi})-(E_r+i\alpha E_i)|^2}(-i\rho e^{i\phi})\rightarrow 0
+\end{equation}
+Thus, we finally obtain:
+\begin{equation}
+ \oint_\Gamma dE'\frac{f(E',0)-f_\infty(0)}{E'-E}=2i(-\pi Ref(E',0)+\pi f_\infty(0)+P\int_0^\infty dE'\frac{Imf(E',0)}{E'-E})
+\end{equation}
+Which is equal to
+\begin{equation}
+ Ref(E',0)=f_\infty(0)+\frac{1}{\pi}P\int_0^\infty dE'\frac{Imf(E',0)}{E'-E}-\sum_i^N\frac{Res_{E'=E_i}(f(E',0)-f_\infty(0))}{E_i-E}
+\end{equation}
+
+\section{The pion vector from factor and the Omn\`es Problem}
+Not only do the principles of unitarity and analyticity apply in quantum
+physical scattering processes, they also work very well within relativistic
+ones in quantum field theory. For processes involving the strong nuclear force,
+quantum chromodynamics describe the involved theory. While for high energies,
+the very usual way, of perturbative expansion works very well, the smaller the
+energy the more unreliable the perturbative schemes get. The advantage of
+dispersion relations is now, that they hold non-perturbatively and thus
+enabling us, to obtain results by plugging in experimental input and deriving
+relations between observables. One such application is the pion vector form
+factor, which describes the non-perturbative effects of the strong interaction,
+affecting the transition of the virtual photon into the pion pair, in a
+collision between an electron and its anti-particle. The so called Omnés
+problem describes a way to find the pion VFF, via the $\pi\pi$ - phase shift.
+\subsection{Unitarity of the scattering matrix}
+As in quantum mechanics, we also define a scattering matrix in particle
+physics. This S-matrix describes the transition of incoming particles into
+outgoing particles in a scattering experiment. The S-operator must be unitary,
+in order to preserve probability and not to change the norm of the state:
+\begin{equation}
+ SS^\dagger=S^\dagger S=1
+\end{equation}
+This can be used to obtain Watson's final state theorem:
+\begin{align}
+ \label{eq:rec}
+ \text{Im}(F^V_\pi(s) = F^V_\pi(s) e^{-i\delta_{\pi\pi}(s)}\sin\delta_{\pi\pi}(s)
+\end{align}
+\subsection{The Omn\`es Problem}
+The equations \ref{eq:rec} allow us to carefully reconstruct the pion Vector Form
+Factor, based on strictly formulated conditions. This is known as the Omn\`es
+Problem. First of all the equation tells us that $F_\pi^V(s)$ is a complex
+valued function, as $s$ is an analytic variable in the complex plane, apart
+from a cut complex s-plane $\Gamma = [s_0, \infty) \subset \mathbb{R}$, where
+$s_0 = 4M_\pi^2 > 0$. To summarize e the conditions are
+\begin{itemize}
+ \item $F_\pi^V(s)$ is analytic on the cut complex s-plane
+ $\mathbb{C}\backslash \Gamma$
+ \item $F_\pi^V(s)\in \mathbb{R} \;\;\; \forall\; s \in
+ \mathbb{R}\backslash \Gamma$
+ \item $\lim_{\varepsilon \rightarrow 0}(F_\pi^V(s+i\varepsilon)
+ e^{-i\delta_{\pi\pi}(s)}) \in \mathbb{R}$ on $\Gamma$ for a real
+ bounded function $\delta_{\pi\pi}(s)$
+ \item We assume $F_\pi^V(0) = 1$ and $F_\pi^V(s)$ has no zeros.
+\end{itemize}
+We start off with the Couchy Integral
+\begin{align}
+ \ln(F(s)) = \frac{1}{2\pi i}\oint_C ds' \frac{\ln(F(s'))}{s'-s}
+\end{align}
+over the following contour
+\begin{center}
+\begin{tikzpicture}[decoration={markings,
+mark=at position 0.5cm with {\arrow[line width=2pt]{>}},
+mark=at position 5cm with {\arrow[line width=2pt]{>}},
+mark=at position 13cm with {\arrow[line width=2pt]{>}},
+mark=at position 21cm with {\arrow[line width=2pt]{>}},
+mark=at position 23cm with {\arrow[line width=2pt]{>}}
+}
+]
+% The axes
+\draw[help lines,->] (-3.5,0) -- (3.5,0) coordinate (xaxis);
+\draw[help lines,->] (0,-3.5) -- (0,3.5) coordinate (yaxis);
+
+% The path
+\path[draw,line width=0.8pt,postaction=decorate]
+ (1.5,0.1) -- (3, 0.1) node[below right] {} arc (4:360:3) -- (1.5, -0.1)
+ node[below right] {} arc(345:15:0.4);
+
+% The labels
+ \draw[thick, ->] (0,0) -- (-2, 2) node[midway, fill=white] {$R$};
+ \draw[thick, ->] (1.1,0) -- (1.1, 0.4) node[above] {$\varrho$};
+ \node[below] at (xaxis) {$\text{Re}$};
+ \node[left] at (yaxis) {$\text{Im}$};
+ \node[circle,inner sep=1pt,label=below:{$s_0$}, fill=black] at (1.1,0) {};
+\end{tikzpicture}
+\end{center}
+This means the integral can be separated into
+\begin{align}
+ \oint_C ds' \frac{\ln(F(s'))}{s'-s} =
+ \lim_{\substack{\varepsilon \rightarrow 0}}
+ \bigg(
+ \int_{C(R)} + \int_{C(\varrho)} + \int_{s_0+i\varepsilon}^{\infty
+ +i\varepsilon} + \int^{s_0-i\varepsilon}_{\infty
+ -i\varepsilon}
+ \bigg) ds' \frac{\ln(F(s'))}{s'-s}
+\end{align}
+The integrals over $C(R)$ and $C(\varrho)$ disappear. For the last two
+integrals we can use the Schwarz reflection principle and then we get
+\begin{align}
+ \oint_C ds' \frac{\ln(F(s'))}{s'-s} = \frac{1}{\pi} \int_{s_0}^{\infty}ds'
+ \text{Im}\left(
+ \frac{\ln(F(s'))}{s'-s}\right)
+\end{align}
+where we used $\text{Im}(z) = \frac{z - z^*}{2i}$ to write the imaginary part
+here. We look now at equation \ref{eq:rec} and refactor it
+\begin{align}
+ &\frac{F_\pi^V(s)-F_\pi^V(s)^*}{2i} = F_\pi^V e^{i\delta_{\pi\pi}}(s)
+ \sin(\delta_{\pi\pi}(s)) \\
+ &F_\pi^V(s) = F_\pi^V(s)^* e^{2i \delta_{\pi\pi}(s)}\\
+ &\ln(F_\pi^V(s)) = \ln((F_\pi^V e^{-i\delta_{\pi\pi}})^*)+
+ i\delta_{\pi\pi}(s).\label{eq:use}
+\end{align}
+Now we use this equation to compute the integral with variation in $s
+\rightarrow s+i\varepsilon$ as $\varepsilon$ goes to infinity.
+\begin{align}
+ \ln(F_\pi^V(s)) &= \lim_{\substack{\varepsilon \rightarrow \infty}}
+ \ln(F_\pi^V(s+i\varepsilon)) = \\
+ &= \lim_{\substack{\varepsilon \rightarrow \infty}}\frac{1}{\pi}
+ \int_{s_0}^{\infty}
+ \text{Im}\left(\frac{F_\pi^V(s')}{s'-s-i\varepsilon}\right)=\\
+ &=\lim_{\substack{\varepsilon \rightarrow \infty}}\frac{1}{\pi}
+ \int_{s_0}^{\infty}
+ \text{Im}\left(\frac{\ln((F_\pi^V e^{-i\delta_{\pi\pi}})^*)+
+ i\delta_{\pi\pi}}{s'-s-i\varepsilon}\right)
+\end{align}
+the part $F_\pi^V e^{-i\delta_{\pi\pi}}$ needs to be real that means
+\begin{align}
+ \ln(F_\pi^V(s)) &= \lim_{\substack{\varepsilon \rightarrow \infty}}\frac{1}{\pi}
+ \int_{s_0}^{\infty}
+ \frac{\delta_{\pi\pi}(s')}{s'-s-i\varepsilon} =\\
+ &= \ln(F_\pi^V(0)) + \lim_{\substack{\varepsilon \rightarrow \infty}}
+ \frac{s}{\pi}
+ \int_{s_0}^{\infty}
+ \frac{\delta_{\pi\pi}(s')}{s'(s'-s-i\varepsilon)}
+\end{align}
+with the condition $F_\pi^V(0) = 1$ and the relation from \ref{eq:pv} we get
+\begin{align}
+ F_\pi^V(s) = \exp
+ \bigg(
+ \frac{s}{\pi}\PV_{s_0}^\infty ds' \frac{\delta_{\pi\pi}(s')}{s'(s'-s)}
+ + i\delta_{\pi\pi}(s)
+ \bigg).
+\end{align}
+To compute the principal value integral we use the following trick
+\begin{align}
+ \frac{s}{\pi}\PV_{s_0}^\infty ds' \frac{\delta_{\pi\pi}(s')}{s'(s'-s)} =
+ \frac{s}{\pi} \int_{s_0}^\infty ds' \frac{\delta_{\pi\pi}(s')
+ -\delta_{\pi\pi}(s)}{s'(s'-s)}+
+ \delta_{\pi\pi}\frac{s}{\pi}\PV_{s_0}^\infty \frac{1}{s'(s'-s)}.
+\end{align}
+The first integral can be computed numerically, the second one has an analytic
+solution for $s > s_0$. We use the definition of the principal value and circle
+around $s$ in a small half circle with the radius $r$.
+\begin{align}
+ \PV_{s_0}^\infty \frac{1}{s'(s'-s)} = \lim_{\substack{r\rightarrow0}}
+ \bigg(
+ \int_{s_0}^{s-r}ds' + \int_{s+r}^{\infty} ds'
+ \bigg)\frac{1}{s'(s'-s)}
+\end{align}
+then we simply integrate and plug in
+\begin{align}
+ \PV_{s_0}^\infty \frac{1}{s'(s'-s)} &= \lim_{\substack{r\rightarrow 0}}
+ \bigg(
+ \frac{\ln(s'-s) - \ln(s')}{s}\big|_{s'= s_0}^{s'= s-r}
+ \frac{\ln(s'-s)-\ln(s')}{s}\big|_{s'=s+r}^{s'=\infty}
+ \bigg) =\\
+ &=\frac{1}{s}\ln\left(\frac{s_0}{s_0-s}\right)
+\end{align}
+that means the second integral is
+\begin{align}
+ \delta_{\pi\pi}\frac{s}{\pi}\PV_{s_0}^\infty \frac{1}{s'(s'-s)}
+ =\delta_{\pi\pi}(s)\frac{1}{\pi} \ln\left(\frac{s_0}{s_0 -s }\right)
+\end{align}
+
+Lastly we would like to plot the modulus of the Omn\`es representation of the
+pion vector form
+factor. For the phase we would usually use experimental values, but in our case
+we will use the Breit-Wigner representation of the pion VVF to compute the
+phase $\delta_{\pi\pi}$. A reminder the Breit-Wigner representation is the
+following
+\begin{align}
+ F^V_\pi(s)_{BW} = \frac{M_\varrho^2}{M_\varrho^2 - s - iM_\varrho
+ \Gamma_\varrho(s)}
+\end{align}
+where
+\begin{align}
+ \Gamma_\varrho(s) := \Gamma_\varrho\frac{s}{M_\varrho^2} \left(
+ \frac{\sigma_\pi(s)}{\sigma_\pi(M_\varrho^2)}
+ \right)^3 \theta(s-4M_\pi^2), \;\;\;\;\;\; \sigma_\pi(s) :=
+ \sqrt{1-\frac{4M_\pi^2}{s}}.
+\end{align}
+Thus our phase shift will be
+\begin{align}
+ \delta_{\pi\pi}(s) := \arg\left(F_\pi^V(s)_{BW}\right)
+\end{align}
+where we will use numerical values for $M_\varrho = 0.77\ \text{GeV}$,
+$\Gamma_\varrho = 0.15\ \text{GeV}$, $M_\pi = 0.14 \text{GeV}$.
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.9\textwidth]{./omnes_bw.png}
+ \caption{Plot of the modulus of the Breit-Wigner(red) and the Omn\`es
+ representation(black) of the pion Vector From Factor for $s \in [0, 1]$ in $GeV^2$}
+\end{figure}
+The code for the plots and some minor calculations e.g. numerical integration
+can be found in \cite{code}.
+
+\nocite{mathe}
+\nocite{stoffer}
+\nocite{omnes}
+\printbibliography
+\end{document}
diff --git a/sesh6/tex/omnes_bw.png b/sesh6/tex/omnes_bw.png
Binary files differ.
diff --git a/sesh6/tex/section2.png b/sesh6/tex/section2.png
Binary files differ.
diff --git a/sesh6/tex/uni.bib b/sesh6/tex/uni.bib
@@ -0,0 +1,40 @@
+@book{mathe,
+ title={Mathematik für Physiker},
+ publisher={Springer-Verlag},
+ author={Kerner, von Wahl},
+ year={2005}
+}
+
+@article{stoffer,
+ title={Two-pion contribution to hadronic vacuum polarization},
+ volume={2019},
+ ISSN={1029-8479},
+ url={http://dx.doi.org/10.1007/JHEP02(2019)006},
+ DOI={10.1007/jhep02(2019)006},
+ number={2},
+ journal={Journal of High Energy Physics},
+ publisher={Springer Science and Business Media LLC},
+ author={Colangelo, Gilberto and Hoferichter, Martin and Stoffer, Peter},
+ year={2019},
+ month={02}
+}
+
+@article{omnes,
+ author = "Omnes, R.",
+ title = "{On the Solution of certain singular integral equations of quantum field theory}",
+ doi = "10.1007/BF02747746",
+ journal = "Nuovo Cim.",
+ volume = "8",
+ pages = "316--326",
+ year = "1958"
+}
+
+@online{code,
+ author = {},
+ title = {Git Instance, Plots and Calculations},
+ date = {2021},
+ urldate = {2021-07-01},
+ url = {git://popovic.xyz/tprak.git},
+}
+
+