diff --git a/assignment.ipynb b/assignment.ipynb index efe521b..e08c8ab 100644 --- a/assignment.ipynb +++ b/assignment.ipynb @@ -19,14 +19,13 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import scipy.signal\n", - "import matplotlib.pyplot as plt\n", - "import sympy as sp" + "import matplotlib.pyplot as plt" ] }, { @@ -39,85 +38,21 @@ }, { "cell_type": "code", - "execution_count": 163, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "wavelength = 0.7e-3 # mm\n", "focus = 110 # mm\n", "\n", - "x = sp.symbols('x')\n", - "triangle = sp.Piecewise((1 - sp.Abs(x), sp.Abs(x) <= 1), (0, True))\n", - "rect = sp.Piecewise((1, sp.Abs(x) <= 0.5), (0, True))\n", + "def triangle(x):\n", + " return np.where(np.abs(x) <= 1, 1 - np.abs(x), 0)\n", "\n", - "pupil = triangle.subs(x, (x - 3) / 3) * rect.subs(x, (x - 1.5) / 3)\n", - "pupil_fun = sp.lambdify(x, pupil, 'numpy')\n", + "def rect(x):\n", + " return np.where(np.abs(x) <= 0.5, 1, 0)\n", "\n", - "def autoconvolve(f, t, lower=-sp.oo, upper=sp.oo):\n", - " tau = sp.Symbol('tau', real=True)\n", - " return sp.integrate(f.subs(t, tau) * f.subs(t, t - tau), (tau, lower, upper))" - ] - }, - { - "cell_type": "code", - "execution_count": 174, - "metadata": {}, - "outputs": [ - { - "ename": "KeyboardInterrupt", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[174], line 3\u001b[0m\n\u001b[0;32m 1\u001b[0m conv \u001b[39m=\u001b[39m autoconvolve(pupil, x, \u001b[39m-\u001b[39m\u001b[39m300\u001b[39m, \u001b[39m300\u001b[39m)\n\u001b[0;32m 2\u001b[0m xx \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39mlinspace(\u001b[39m-\u001b[39m\u001b[39m300\u001b[39m, \u001b[39m300\u001b[39m, \u001b[39m1000\u001b[39m)\n\u001b[1;32m----> 3\u001b[0m h \u001b[39m=\u001b[39m [conv\u001b[39m.\u001b[39msubs(x, t)\u001b[39m.\u001b[39mdoit() \u001b[39mfor\u001b[39;00m t \u001b[39min\u001b[39;00m xx]\n", - "Cell \u001b[1;32mIn[174], line 3\u001b[0m, in \u001b[0;36m\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m 1\u001b[0m conv \u001b[39m=\u001b[39m autoconvolve(pupil, x, \u001b[39m-\u001b[39m\u001b[39m300\u001b[39m, \u001b[39m300\u001b[39m)\n\u001b[0;32m 2\u001b[0m xx \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39mlinspace(\u001b[39m-\u001b[39m\u001b[39m300\u001b[39m, \u001b[39m300\u001b[39m, \u001b[39m1000\u001b[39m)\n\u001b[1;32m----> 3\u001b[0m h \u001b[39m=\u001b[39m [conv\u001b[39m.\u001b[39;49msubs(x, t)\u001b[39m.\u001b[39;49mdoit() \u001b[39mfor\u001b[39;00m t \u001b[39min\u001b[39;00m xx]\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\integrals\\integrals.py:711\u001b[0m, in \u001b[0;36mIntegral.doit\u001b[1;34m(self, **hints)\u001b[0m\n\u001b[0;32m 709\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m 710\u001b[0m evalued \u001b[39m=\u001b[39m Add(\u001b[39m*\u001b[39mothers)\u001b[39m.\u001b[39m_eval_interval(x, a, b)\n\u001b[1;32m--> 711\u001b[0m evalued_pw \u001b[39m=\u001b[39m piecewise_fold(Add(\u001b[39m*\u001b[39;49mpiecewises))\u001b[39m.\u001b[39;49m_eval_interval(x, a, b)\n\u001b[0;32m 712\u001b[0m function \u001b[39m=\u001b[39m uneval \u001b[39m+\u001b[39m evalued \u001b[39m+\u001b[39m evalued_pw\n\u001b[0;32m 713\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mNotImplementedError\u001b[39;00m:\n\u001b[0;32m 714\u001b[0m \u001b[39m# This can happen if _eval_interval depends in a\u001b[39;00m\n\u001b[0;32m 715\u001b[0m \u001b[39m# complicated way on limits that cannot be computed\u001b[39;00m\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\functions\\elementary\\piecewise.py:616\u001b[0m, in \u001b[0;36mPiecewise._eval_interval\u001b[1;34m(self, sym, a, b, _first)\u001b[0m\n\u001b[0;32m 612\u001b[0m \u001b[39mreturn\u001b[39;00m rv\n\u001b[0;32m 614\u001b[0m \u001b[39m# handle a Piecewise with lo <= hi and no x-independent relationals\u001b[39;00m\n\u001b[0;32m 615\u001b[0m \u001b[39m# -----------------------------------------------------------------\u001b[39;00m\n\u001b[1;32m--> 616\u001b[0m ok, abei \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_intervals(x)\n\u001b[0;32m 617\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m ok:\n\u001b[0;32m 618\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39msympy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mintegrals\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mintegrals\u001b[39;00m \u001b[39mimport\u001b[39;00m Integral\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\functions\\elementary\\piecewise.py:741\u001b[0m, in \u001b[0;36mPiecewise._intervals\u001b[1;34m(self, sym, err_on_Eq)\u001b[0m\n\u001b[0;32m 739\u001b[0m cond \u001b[39m=\u001b[39m to_cnf(cond)\n\u001b[0;32m 740\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39misinstance\u001b[39m(cond, And):\n\u001b[1;32m--> 741\u001b[0m cond \u001b[39m=\u001b[39m distribute_or_over_and(cond)\n\u001b[0;32m 743\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39misinstance\u001b[39m(cond, Or):\n\u001b[0;32m 744\u001b[0m expr_cond\u001b[39m.\u001b[39mextend(\n\u001b[0;32m 745\u001b[0m [(i, expr, o) \u001b[39mfor\u001b[39;00m o \u001b[39min\u001b[39;00m cond\u001b[39m.\u001b[39margs\n\u001b[0;32m 746\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39misinstance\u001b[39m(o, Eq)])\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\logic\\boolalg.py:1563\u001b[0m, in \u001b[0;36mdistribute_or_over_and\u001b[1;34m(expr)\u001b[0m\n\u001b[0;32m 1547\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mdistribute_or_over_and\u001b[39m(expr):\n\u001b[0;32m 1548\u001b[0m \u001b[39m\"\"\"\u001b[39;00m\n\u001b[0;32m 1549\u001b[0m \u001b[39m Given a sentence ``expr`` consisting of conjunctions and disjunctions\u001b[39;00m\n\u001b[0;32m 1550\u001b[0m \u001b[39m of literals, return an equivalent sentence in DNF.\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 1561\u001b[0m \n\u001b[0;32m 1562\u001b[0m \u001b[39m \"\"\"\u001b[39;00m\n\u001b[1;32m-> 1563\u001b[0m \u001b[39mreturn\u001b[39;00m _distribute((expr, Or, And))\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\logic\\boolalg.py:1597\u001b[0m, in \u001b[0;36m_distribute\u001b[1;34m(info)\u001b[0m\n\u001b[0;32m 1595\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m0\u001b[39m]\n\u001b[0;32m 1596\u001b[0m rest \u001b[39m=\u001b[39m info[\u001b[39m2\u001b[39m](\u001b[39m*\u001b[39m[a \u001b[39mfor\u001b[39;00m a \u001b[39min\u001b[39;00m info[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39margs \u001b[39mif\u001b[39;00m a \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m conj])\n\u001b[1;32m-> 1597\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m1\u001b[39m](\u001b[39m*\u001b[39m\u001b[39mlist\u001b[39;49m(\u001b[39mmap\u001b[39;49m(_distribute,\n\u001b[0;32m 1598\u001b[0m [(info[\u001b[39m2\u001b[39;49m](c, rest), info[\u001b[39m1\u001b[39;49m], info[\u001b[39m2\u001b[39;49m])\n\u001b[0;32m 1599\u001b[0m \u001b[39mfor\u001b[39;49;00m c \u001b[39min\u001b[39;49;00m conj\u001b[39m.\u001b[39;49margs])), remove_true\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n\u001b[0;32m 1600\u001b[0m \u001b[39melif\u001b[39;00m \u001b[39misinstance\u001b[39m(info[\u001b[39m0\u001b[39m], info[\u001b[39m1\u001b[39m]):\n\u001b[0;32m 1601\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m1\u001b[39m](\u001b[39m*\u001b[39m\u001b[39mlist\u001b[39m(\u001b[39mmap\u001b[39m(_distribute,\n\u001b[0;32m 1602\u001b[0m [(x, info[\u001b[39m1\u001b[39m], info[\u001b[39m2\u001b[39m])\n\u001b[0;32m 1603\u001b[0m \u001b[39mfor\u001b[39;00m x \u001b[39min\u001b[39;00m info[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39margs])),\n\u001b[0;32m 1604\u001b[0m remove_true\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\logic\\boolalg.py:1597\u001b[0m, in \u001b[0;36m_distribute\u001b[1;34m(info)\u001b[0m\n\u001b[0;32m 1595\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m0\u001b[39m]\n\u001b[0;32m 1596\u001b[0m rest \u001b[39m=\u001b[39m info[\u001b[39m2\u001b[39m](\u001b[39m*\u001b[39m[a \u001b[39mfor\u001b[39;00m a \u001b[39min\u001b[39;00m info[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39margs \u001b[39mif\u001b[39;00m a \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m conj])\n\u001b[1;32m-> 1597\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m1\u001b[39m](\u001b[39m*\u001b[39m\u001b[39mlist\u001b[39;49m(\u001b[39mmap\u001b[39;49m(_distribute,\n\u001b[0;32m 1598\u001b[0m [(info[\u001b[39m2\u001b[39;49m](c, rest), info[\u001b[39m1\u001b[39;49m], info[\u001b[39m2\u001b[39;49m])\n\u001b[0;32m 1599\u001b[0m \u001b[39mfor\u001b[39;49;00m c \u001b[39min\u001b[39;49;00m conj\u001b[39m.\u001b[39;49margs])), remove_true\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n\u001b[0;32m 1600\u001b[0m \u001b[39melif\u001b[39;00m \u001b[39misinstance\u001b[39m(info[\u001b[39m0\u001b[39m], info[\u001b[39m1\u001b[39m]):\n\u001b[0;32m 1601\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m1\u001b[39m](\u001b[39m*\u001b[39m\u001b[39mlist\u001b[39m(\u001b[39mmap\u001b[39m(_distribute,\n\u001b[0;32m 1602\u001b[0m [(x, info[\u001b[39m1\u001b[39m], info[\u001b[39m2\u001b[39m])\n\u001b[0;32m 1603\u001b[0m \u001b[39mfor\u001b[39;00m x \u001b[39min\u001b[39;00m info[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39margs])),\n\u001b[0;32m 1604\u001b[0m remove_true\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n", - " \u001b[1;31m[... skipping similar frames: _distribute at line 1597 (23 times)]\u001b[0m\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\logic\\boolalg.py:1597\u001b[0m, in \u001b[0;36m_distribute\u001b[1;34m(info)\u001b[0m\n\u001b[0;32m 1595\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m0\u001b[39m]\n\u001b[0;32m 1596\u001b[0m rest \u001b[39m=\u001b[39m info[\u001b[39m2\u001b[39m](\u001b[39m*\u001b[39m[a \u001b[39mfor\u001b[39;00m a \u001b[39min\u001b[39;00m info[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39margs \u001b[39mif\u001b[39;00m a \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m conj])\n\u001b[1;32m-> 1597\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m1\u001b[39m](\u001b[39m*\u001b[39m\u001b[39mlist\u001b[39;49m(\u001b[39mmap\u001b[39;49m(_distribute,\n\u001b[0;32m 1598\u001b[0m [(info[\u001b[39m2\u001b[39;49m](c, rest), info[\u001b[39m1\u001b[39;49m], info[\u001b[39m2\u001b[39;49m])\n\u001b[0;32m 1599\u001b[0m \u001b[39mfor\u001b[39;49;00m c \u001b[39min\u001b[39;49;00m conj\u001b[39m.\u001b[39;49margs])), remove_true\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n\u001b[0;32m 1600\u001b[0m \u001b[39melif\u001b[39;00m \u001b[39misinstance\u001b[39m(info[\u001b[39m0\u001b[39m], info[\u001b[39m1\u001b[39m]):\n\u001b[0;32m 1601\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m1\u001b[39m](\u001b[39m*\u001b[39m\u001b[39mlist\u001b[39m(\u001b[39mmap\u001b[39m(_distribute,\n\u001b[0;32m 1602\u001b[0m [(x, info[\u001b[39m1\u001b[39m], info[\u001b[39m2\u001b[39m])\n\u001b[0;32m 1603\u001b[0m \u001b[39mfor\u001b[39;00m x \u001b[39min\u001b[39;00m info[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39margs])),\n\u001b[0;32m 1604\u001b[0m remove_true\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\logic\\boolalg.py:1598\u001b[0m, in \u001b[0;36m_distribute\u001b[1;34m(info)\u001b[0m\n\u001b[0;32m 1595\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m0\u001b[39m]\n\u001b[0;32m 1596\u001b[0m rest \u001b[39m=\u001b[39m info[\u001b[39m2\u001b[39m](\u001b[39m*\u001b[39m[a \u001b[39mfor\u001b[39;00m a \u001b[39min\u001b[39;00m info[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39margs \u001b[39mif\u001b[39;00m a \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m conj])\n\u001b[0;32m 1597\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m1\u001b[39m](\u001b[39m*\u001b[39m\u001b[39mlist\u001b[39m(\u001b[39mmap\u001b[39m(_distribute,\n\u001b[1;32m-> 1598\u001b[0m [(info[\u001b[39m2\u001b[39m](c, rest), info[\u001b[39m1\u001b[39m], info[\u001b[39m2\u001b[39m])\n\u001b[0;32m 1599\u001b[0m \u001b[39mfor\u001b[39;00m c \u001b[39min\u001b[39;00m conj\u001b[39m.\u001b[39margs])), remove_true\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n\u001b[0;32m 1600\u001b[0m \u001b[39melif\u001b[39;00m \u001b[39misinstance\u001b[39m(info[\u001b[39m0\u001b[39m], info[\u001b[39m1\u001b[39m]):\n\u001b[0;32m 1601\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m1\u001b[39m](\u001b[39m*\u001b[39m\u001b[39mlist\u001b[39m(\u001b[39mmap\u001b[39m(_distribute,\n\u001b[0;32m 1602\u001b[0m [(x, info[\u001b[39m1\u001b[39m], info[\u001b[39m2\u001b[39m])\n\u001b[0;32m 1603\u001b[0m \u001b[39mfor\u001b[39;00m x \u001b[39min\u001b[39;00m info[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39margs])),\n\u001b[0;32m 1604\u001b[0m remove_true\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\logic\\boolalg.py:1598\u001b[0m, in \u001b[0;36m\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m 1595\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m0\u001b[39m]\n\u001b[0;32m 1596\u001b[0m rest \u001b[39m=\u001b[39m info[\u001b[39m2\u001b[39m](\u001b[39m*\u001b[39m[a \u001b[39mfor\u001b[39;00m a \u001b[39min\u001b[39;00m info[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39margs \u001b[39mif\u001b[39;00m a \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m conj])\n\u001b[0;32m 1597\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m1\u001b[39m](\u001b[39m*\u001b[39m\u001b[39mlist\u001b[39m(\u001b[39mmap\u001b[39m(_distribute,\n\u001b[1;32m-> 1598\u001b[0m [(info[\u001b[39m2\u001b[39;49m](c, rest), info[\u001b[39m1\u001b[39m], info[\u001b[39m2\u001b[39m])\n\u001b[0;32m 1599\u001b[0m \u001b[39mfor\u001b[39;00m c \u001b[39min\u001b[39;00m conj\u001b[39m.\u001b[39margs])), remove_true\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n\u001b[0;32m 1600\u001b[0m \u001b[39melif\u001b[39;00m \u001b[39misinstance\u001b[39m(info[\u001b[39m0\u001b[39m], info[\u001b[39m1\u001b[39m]):\n\u001b[0;32m 1601\u001b[0m \u001b[39mreturn\u001b[39;00m info[\u001b[39m1\u001b[39m](\u001b[39m*\u001b[39m\u001b[39mlist\u001b[39m(\u001b[39mmap\u001b[39m(_distribute,\n\u001b[0;32m 1602\u001b[0m [(x, info[\u001b[39m1\u001b[39m], info[\u001b[39m2\u001b[39m])\n\u001b[0;32m 1603\u001b[0m \u001b[39mfor\u001b[39;00m x \u001b[39min\u001b[39;00m info[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39margs])),\n\u001b[0;32m 1604\u001b[0m remove_true\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m)\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\core\\operations.py:512\u001b[0m, in \u001b[0;36mLatticeOp.__new__\u001b[1;34m(cls, *args, **options)\u001b[0m\n\u001b[0;32m 505\u001b[0m args \u001b[39m=\u001b[39m (_sympify_(arg) \u001b[39mfor\u001b[39;00m arg \u001b[39min\u001b[39;00m args)\n\u001b[0;32m 507\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m 508\u001b[0m \u001b[39m# /!\\ args is a generator and _new_args_filter\u001b[39;00m\n\u001b[0;32m 509\u001b[0m \u001b[39m# must be careful to handle as such; this\u001b[39;00m\n\u001b[0;32m 510\u001b[0m \u001b[39m# is done so short-circuiting can be done\u001b[39;00m\n\u001b[0;32m 511\u001b[0m \u001b[39m# without having to sympify all values\u001b[39;00m\n\u001b[1;32m--> 512\u001b[0m _args \u001b[39m=\u001b[39m \u001b[39mfrozenset\u001b[39m(\u001b[39mcls\u001b[39;49m\u001b[39m.\u001b[39;49m_new_args_filter(args))\n\u001b[0;32m 513\u001b[0m \u001b[39mexcept\u001b[39;00m ShortCircuit:\n\u001b[0;32m 514\u001b[0m \u001b[39mreturn\u001b[39;00m sympify(\u001b[39mcls\u001b[39m\u001b[39m.\u001b[39mzero)\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\logic\\boolalg.py:606\u001b[0m, in \u001b[0;36mAnd._new_args_filter\u001b[1;34m(cls, args)\u001b[0m\n\u001b[0;32m 604\u001b[0m \u001b[39m@classmethod\u001b[39m\n\u001b[0;32m 605\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m_new_args_filter\u001b[39m(\u001b[39mcls\u001b[39m, args):\n\u001b[1;32m--> 606\u001b[0m args \u001b[39m=\u001b[39m BooleanFunction\u001b[39m.\u001b[39;49mbinary_check_and_simplify(\u001b[39m*\u001b[39;49margs)\n\u001b[0;32m 607\u001b[0m args \u001b[39m=\u001b[39m LatticeOp\u001b[39m.\u001b[39m_new_args_filter(args, And)\n\u001b[0;32m 608\u001b[0m newargs \u001b[39m=\u001b[39m []\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\logic\\boolalg.py:494\u001b[0m, in \u001b[0;36mBooleanFunction.binary_check_and_simplify\u001b[1;34m(self, *args)\u001b[0m\n\u001b[0;32m 491\u001b[0m \u001b[39m@classmethod\u001b[39m\n\u001b[0;32m 492\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mbinary_check_and_simplify\u001b[39m(\u001b[39mself\u001b[39m, \u001b[39m*\u001b[39margs):\n\u001b[0;32m 493\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39msympy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcore\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mrelational\u001b[39;00m \u001b[39mimport\u001b[39;00m Relational, Eq, Ne\n\u001b[1;32m--> 494\u001b[0m args \u001b[39m=\u001b[39m [as_Boolean(i) \u001b[39mfor\u001b[39;00m i \u001b[39min\u001b[39;00m args]\n\u001b[0;32m 495\u001b[0m bin_syms \u001b[39m=\u001b[39m \u001b[39mset\u001b[39m()\u001b[39m.\u001b[39munion(\u001b[39m*\u001b[39m[i\u001b[39m.\u001b[39mbinary_symbols \u001b[39mfor\u001b[39;00m i \u001b[39min\u001b[39;00m args])\n\u001b[0;32m 496\u001b[0m rel \u001b[39m=\u001b[39m \u001b[39mset\u001b[39m()\u001b[39m.\u001b[39munion(\u001b[39m*\u001b[39m[i\u001b[39m.\u001b[39matoms(Relational) \u001b[39mfor\u001b[39;00m i \u001b[39min\u001b[39;00m args])\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\logic\\boolalg.py:494\u001b[0m, in \u001b[0;36m\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m 491\u001b[0m \u001b[39m@classmethod\u001b[39m\n\u001b[0;32m 492\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mbinary_check_and_simplify\u001b[39m(\u001b[39mself\u001b[39m, \u001b[39m*\u001b[39margs):\n\u001b[0;32m 493\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39msympy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcore\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mrelational\u001b[39;00m \u001b[39mimport\u001b[39;00m Relational, Eq, Ne\n\u001b[1;32m--> 494\u001b[0m args \u001b[39m=\u001b[39m [as_Boolean(i) \u001b[39mfor\u001b[39;00m i \u001b[39min\u001b[39;00m args]\n\u001b[0;32m 495\u001b[0m bin_syms \u001b[39m=\u001b[39m \u001b[39mset\u001b[39m()\u001b[39m.\u001b[39munion(\u001b[39m*\u001b[39m[i\u001b[39m.\u001b[39mbinary_symbols \u001b[39mfor\u001b[39;00m i \u001b[39min\u001b[39;00m args])\n\u001b[0;32m 496\u001b[0m rel \u001b[39m=\u001b[39m \u001b[39mset\u001b[39m()\u001b[39m.\u001b[39munion(\u001b[39m*\u001b[39m[i\u001b[39m.\u001b[39matoms(Relational) \u001b[39mfor\u001b[39;00m i \u001b[39min\u001b[39;00m args])\n", - "File \u001b[1;32mc:\\Python310\\lib\\site-packages\\sympy\\logic\\boolalg.py:23\u001b[0m, in \u001b[0;36mas_Boolean\u001b[1;34m(e)\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39msympy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mutilities\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39miterables\u001b[39;00m \u001b[39mimport\u001b[39;00m sift, ibin\n\u001b[0;32m 20\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39msympy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mutilities\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mmisc\u001b[39;00m \u001b[39mimport\u001b[39;00m filldedent\n\u001b[1;32m---> 23\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mas_Boolean\u001b[39m(e):\n\u001b[0;32m 24\u001b[0m \u001b[39m\"\"\"Like ``bool``, return the Boolean value of an expression, e,\u001b[39;00m\n\u001b[0;32m 25\u001b[0m \u001b[39m which can be any instance of :py:class:`~.Boolean` or ``bool``.\u001b[39;00m\n\u001b[0;32m 26\u001b[0m \n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 47\u001b[0m \n\u001b[0;32m 48\u001b[0m \u001b[39m \"\"\"\u001b[39;00m\n\u001b[0;32m 49\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39msympy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcore\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39msymbol\u001b[39;00m \u001b[39mimport\u001b[39;00m Symbol\n", - "\u001b[1;31mKeyboardInterrupt\u001b[0m: " - ] - } - ], - "source": [ - "conv = autoconvolve(pupil, x, -300, 300)\n", - "xx = np.linspace(-300, 300, 1000)\n", - "h = [conv.subs(x, t).doit() for t in xx]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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Xr3Ms88+a9577z0zb968uLt19sCBA2bYsGFm0qRJ5sCBA+azzz4L/+lErb7yySefmJ07d5r58+ebvn37mp07d5qdO3eao0ePGmO+ulWvoKDA7Nq1y6xfv95ceeWVZ7zNeNasWea9994zlZWVrrrN2Ov1mhUrVpj6+nrz0EMPmfT09Ig7B9zg6NGj4XNHklm0aJHZuXOn+eSTT4wxX95mnJ6ebtasWWPeffddc+edd57xNuOxY8earVu3mt/+9rfm2muvjbvbjEtLS01aWpp56623Iv5uOnHiRLjNww8/bHJycswbb7xhduzY0eWREk5+J+PBk08+aTZt2mT2799v3n33XfPkk0+ahIQEU1VVZYyxs06uDCjvvvuuufXWW01GRobxer3mqquuMg8//LA5cOBARLvf/e535pZbbjFer9d87WtfM88880yXvn7961+b6667ziQnJ5sbbrjBvPrqq5fqMC6J5cuXG0ln/HMqavWlkpKSM9aqc2bOGGM+/vhjM2XKFNO7d28zYMAA8/jjj5tQKBTRz5tvvmnGjBljkpOTzdVXX22WL19+aQ8khhYvXmxycnJMcnKyufnmm01tbW2sh3TJvfnmm2c8j0pKSowxX84c/PCHPzR+v994vV4zadIks2/fvog+Pv/8czN16lTTt29f4/P5zAMPPBAOyvHibH83nfr78sUXX5i/+7u/M1dccYVJTU013/ve9yL+A8sYZ7+Tl7u//du/NUOGDDHJycnmyiuvNJMmTQqHE2PsrFOCMS5ZFQoAAC4bcXUXDwAAiA8EFAAAYB0CCgAAsA4BBQAAWIeAAgAArENAAQAA1iGgAAAA6xBQAACAdQgoAADAOgQUAABgHQIKAACwDgEFAABY5/8Dxowb4MYAK/oAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.figure()\n", - "plt.plot(xx, h)\n", - "plt.grid()\n", - "plt.show()" + "def pupil(x):\n", + " return triangle((x - 3) / 3) * rect((x - 1.5) / 3)" ] }, { @@ -130,12 +65,12 @@ }, { "cell_type": "code", - "execution_count": 136, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAABAy0lEQVR4nO3deXwU9f3H8fcm5CBCOATCFQnKfZ8J8ahaORRLpbaWS44AoSq0YH5VwVYQbYs9RNpKRW7l9qjaCgIxClYhHAlRQA65z4SbhASSze78/lgSQQJks7uZ3cnr+Xjw8LGTmdnPJ5NN3n6/c9gMwzAEAABgkiCzCwAAABUbYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYKpKZhdQGk6nU8eOHVPVqlVls9nMLgcAAJSCYRjKyclR/fr1FRR0/fGPgAgjx44dU3R0tNllAACAMjh8+LAaNmx43a8HRBipWrWqJFczkZGRXtuv3W7X6tWr1bNnT4WEhHhtv/7E6j3SX+Czeo/0F/is3qMv+8vOzlZ0dHTx3/HrCYgwUjQ1ExkZ6fUwEhERocjISEv+gEnW75H+Ap/Ve6S/wGf1Hsujv5udYsEJrAAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVG6HkS+++EJ9+vRR/fr1ZbPZ9OGHH950mzVr1qhTp04KCwtTkyZNNH/+/DKUCgAArMjtMJKbm6v27dtr+vTppVp///79evjhh3X//fcrIyND48aN08iRI7Vq1Sq3iwUAANbj9rNpHnroIT300EOlXn/GjBlq3LixXn31VUlSy5Yt9eWXX+q1115Tr1693H17AABgMT5/UN769evVvXv3q5b16tVL48aNu+42+fn5ys/PL36dnZ0tyfUwH7vd7rXaivblzX36G6v3SH+Bz+o9Wr2/b4+e1WfHbLon75KqRphdjW9Y/Rj6sr/S7tPnYSQzM1NRUVFXLYuKilJ2drYuXryoypUrX7PNlClTNHny5GuWr169WhER3v9pT05O9vo+/Y3Ve6S/wGf1Hq3Y3/4c6Y0dwcp3BKvG+5+r462G2SX5lBWP4ZV80V9eXl6p1vN5GCmLCRMmKCkpqfh1dna2oqOj1bNnT0VGRnrtfex2u5KTk9WjRw9LPhZasn6P9Bf4rN6jVftLO3hWz7+drnyHQ5LUpEVr9e56m8lV+YZVj2ERX/ZXNLNxMz4PI3Xr1lVWVtZVy7KyshQZGVniqIgkhYWFKSws7JrlISEhPvlB8NV+/YnVe6S/wGf1Hq3U36YDZzTi7XTlFjiKlwUHB1umv+ux0jEsiS/6K+3+fH6fkfj4eKWkpFy1LDk5WfHx8b5+awCAl23cf0ZD525UboFDdzeppW6Na0iSDGvP0MDH3A4jFy5cUEZGhjIyMiS5Lt3NyMjQoUOHJLmmWIYMGVK8/hNPPKF9+/bp2Wef1c6dO/Wvf/1L77zzjp5++mnvdAAAKBcb9p3WsHkblVfg0D1Na2n20C4KDwk2uyxYgNthZPPmzerYsaM6duwoSUpKSlLHjh01ceJESdLx48eLg4kkNW7cWMuXL1dycrLat2+vV199VbNnz+ayXgAIIKn7TmvYvE3FQWTWEIIIvMftc0buu+8+GTcYjyvp7qr33XeftmzZ4u5bAQD8wPq9pzV8/iZdtDv0o2a1NXNw5+IgYrMVrcU8DcrOL6+mAQD4h3V7Tmn4W5t0ye7Uvc1q680rggjgLTwoDwBQoq+uCCL3NSeIwHcYGQEAXOPL705pxFublF/o1I9b1NEbj3dSWKVrg4hNrnkarqaBJxgZAQBc5X/fnSwOIg/cIIgA3kIYAQAU+2L3SY18a7PyC53q3rKO/kUQQTlgmgYAIElau/ukEt/erIJCp7q3jNK/BnVSaKUb/z9r0dU0zNLAE4QRAIDW7DqhUQvSVFDoVI9WUZo+8OZBBPAWftIAoIL7fOcJjXrbFUR6tSaIoPwxMgIAFdhnO7P0xIJ0FTicerB1Xf1zYEeFBJc+iBTd84yraeAJoi8AVFApO74PIg+1cT+IAN7CyAgAVECffpulJxelye4w9HDbeprWv4NHQcTgFFZ4gAgMABVM8pVBpJ1nQcT2/cNpgDJjZAQAKpDV2zM1enG67A5DP2lXT9P6dVAlpmZgMsIIAFQQK7dlaszidBU6DfVpX1+v/bK914IIJ7DCE8RhAKgAVm47XhxEHung3SACeIqfRACwuE+2HtfoxVtU6DTUt0N9vfoYQQT+hWkaALCw5d8c12+WbpHDaejRjg3018faKzjI+yedMksDTxBGAMCiPv7mmMYuzXAFkU4N9NdfeD+IcDENvIFxOgCwoP9+/X0Q+Xmnhj4JIoC3MDICABbzn6+PadzSLXIa0mOdG+qVn7fzfRDhchp4gDACABbyUcZRPb0sQ05D+mWXhnrl0XYK8mEQYawF3sA0DQBYxIdbvg8i/btG+zyIAN5CGAEAC/hgyxElveMKIgNio/Wnn7Ut1yDCJA08wTQNAAS499OO6LfvfS3DkAbE3qY/9m1TbkGEZ9PAGxgZAYAA9t4VQWRQXPkGEcBbGBkBgAD17ubDevb9b2QY0uPdbtNLPy3/IFL0blxMA08QRgAgAL2z6bCe+7criAzu1kgvPdKaKRMELMIIAASYZZsO6bn3t0qShsY30os/JYggsBFGACCALNl4SBP+7Qoiw+6M0aQ+rUwNIkVvzSwNPEEYAYAAsXjDIT3/gSuIJNwVo4k/MTeIAN5CGAGAALBow0H97oNtkqThdzXWCz9pSRCBZRBGAMDPLUg9qBc+dAWRkXc31u8e9p8gYrt8PY3B5TTwAGEEAPzYgvUH9MJH2yVJifc01vO9/SeIAN5CGAEAP/XWugOa9B9XEPnVj27X+IdaEERgSYQRAPBD87/arxf/+60k6Vf33q7xD/ppEOFqGngBYQQA/MzcL/frpY9dQeTJ++7Qs72a+2cQAbyEMAIAfmTOl/v18uUgMvr+O/TbngQRWB9hBAD8xOz/7dMflu+QJI25v4n+r2czvw8iPJsG3kAYAQA/MOuLffrjClcQ+c2Pm+jpHv4fRABvIYwAgMlmfrFXf1qxU5L0mwea6unuTQkiqFAIIwBgohlr9+qVT1xBZOwDTfV0j2YmV+QeMhO8gTACACb515o9+svKXZKkcd2balz3wAoigLcQRgDABNM/36O/rnIFkaQezfSbB5qaXJFnuB08PEEYAYBy9vpn3+lvq3dLkn7bs5nG/Dhwg4hNzNPAc4QRAChH/0z5Tq8mu4LIM72aa/T9TUyuCDAfYQQAysnfP/1Or33qCiLPPthcT91nnSDCJA08QRgBgHLwz8/26h+f75UkPfdgCz153x0mV+QdXE0DbyCMAIAPGYahFYeDtOqIK4hMeKiFfnWvNYII4C2EEQDwEcMw9PfP9mrVkSBJ0u96t1Tij243uSrf4GIaeCLI7AIAwIoMw9DU5N2avmafJGnCg80sGUSYpYE3MDICAF5mGIb+tnqXpl8+R6RvI4eG3xVjblGAHyOMAIAXGYahv67apX+tcQWR3/Vurjpnt5tcle8ZXE8DDzBNAwBeYhiG/rzy+yAyqU8rDYtvZHJVvsXVNPAGwggAeIFhGHrlk52asdYVRCb/tLUS7mpsclVAYGCaBgA8ZBiGpnyyUzO/cJ2s+tIjrTUkPsbcosrL5aERrqaBJwgjAOABwzD0x+U7NPvL/ZKkl/u20eBu1p6aAbytTNM006dPV0xMjMLDwxUXF6eNGzfecP1p06apefPmqly5sqKjo/X000/r0qVLZSoYAPyFYRj6wxVB5A8EEaBM3A4jy5YtU1JSkiZNmqT09HS1b99evXr10okTJ0pcf/HixRo/frwmTZqkHTt2aM6cOVq2bJmef/55j4sHALMYhqGXPv5Wcy4HkT/9rK0er4BBpOj8VaZp4Am3w8jUqVOVmJiohIQEtWrVSjNmzFBERITmzp1b4vrr1q3TXXfdpYEDByomJkY9e/bUgAEDbjqaAgD+yjAMTf7vt5r31QFJ0pRH22pg3G3mFgUEMLfCSEFBgdLS0tS9e/fvdxAUpO7du2v9+vUlbnPnnXcqLS2tOHzs27dPK1asUO/evT0oGwDMYRiGXvzPds1fd0CS9MqjbTUgliACeMKtE1hPnTolh8OhqKioq5ZHRUVp586dJW4zcOBAnTp1SnfffbcMw1BhYaGeeOKJG07T5OfnKz8/v/h1dna2JMlut8tut7tT8g0V7cub+/Q3Vu+R/gJfIPVoGIZeWr5TCzccls0m/fGR1vp5x3o3rD2Q+isLw3BKkhwOh2V7tPox9GV/pd2nzTBKP9N37NgxNWjQQOvWrVN8fHzx8meffVZr167Vhg0brtlmzZo16t+/v/7whz8oLi5Oe/bs0dixY5WYmKgXXnihxPd58cUXNXny5GuWL168WBEREaUtFwC8xmlI7+0P0ldZQbLJUP87nOpWhxMlFu8J0oaTQfrJbQ71aMD3A1fLy8vTwIEDdf78eUVGRl53PbdGRmrVqqXg4GBlZWVdtTwrK0t169YtcZsXXnhBgwcP1siRIyVJbdu2VW5urkaNGqXf/e53Cgq6dqZowoQJSkpKKn6dnZ2t6Oho9ezZ84bNuMtutys5OVk9evRQSEiI1/brT6zeI/0FvkDo0ek09OLHO/RV1hHZbNIrP2ujRzs2KNW2gdCfJ9a8/410MlNNmzRV7/ubmF2OT1j9GPqyv6KZjZtxK4yEhoaqc+fOSklJUd++fSVJTqdTKSkpGjNmTInb5OXlXRM4goODJbmGPEsSFhamsLCwa5aHhIT45AfBV/v1J1bvkf4Cn7/26HQamvTxNi3Z5Aoif/tFe/28c0O39+Ov/XkqOMj1+zwoKMiS/V3JqsewiC/6K+3+3L7pWVJSkoYOHaouXbooNjZW06ZNU25urhISEiRJQ4YMUYMGDTRlyhRJUp8+fTR16lR17NixeJrmhRdeUJ8+fYpDCQD4I6fT0O8+3KolG13niLz6WHs92sn9IALgxtwOI/369dPJkyc1ceJEZWZmqkOHDlq5cmXxSa2HDh26aiTk97//vWw2m37/+9/r6NGjql27tvr06aM//vGP3usCALzM6TT0/AdbtXTTYQXZpFd/2V4/60gQAXyhTLeDHzNmzHWnZdasWXP1G1SqpEmTJmnSpElleSsAKHdOp6Hx//5G72w+oiCb9Fq/DnqkQ+nOEaloip7ay6mr8ATPpgGAKzidhp57/xu9m0YQAcoLYQQALnNcDiLvpR1RcJBN0/p1UJ/29c0uC7A8wggAyBVEnnnva/07/aiCg2z6e/8O+kk7gsjN8GwaeANhBECF53Aaeubdr/XvLa4g8o/+HfVwu3pmlwVUGIQRABWaw2not+9+rQ8uB5F/Duio3m0JIkB5IowAqLAKHU7937tf66OMY6p0OYg8RBBxC1fTwBsIIwAqpEKHU0nvfK3/fO0KIq8P7KQH25T8WAsAvkUYAVDhFDqcevqdr/Xfy0Fk+qBO6tWaIAKYhTACoEIpdDg1dlmGln9zXCHBNk0f2Ek9CSIecM3TuPEAeOAahBEAFYbd4dS4pRlavtUVRN4Y1FndW0WZXRZQ4RFGAFQIdodTY5du0YqtmQoNDtIbj3fSAy0JIt7CuAg8QRgBYHl2h1O/XrxFK7e7gsiMwZ304xYEEW8oupoG8ARhBIClFRQ69esl6Vq1PUuhwUF6c3Bn3d+ijtllAbgCYQSAZRUUOjVmcbpWf5ul0EpBmjm4s+5rThDxCeZp4AHCCABLKih0avTidCVfDiKzhnTRvc1qm12W5TBLA28gjACwnPxCh0YvStenO04o7HIQ+RFBBPBbhBEAlpJf6NBTC9OVstMVRGYP7aJ7mhJEfOX728EzT4OyI4wAsIz8QoeeXJiuzy4HkTlDu+ruprXMLgvATRBGAFjCJbtDTy5M0+e7Tio8xBVE7mpCEAECAWEEQMC7ZHfoVwvStHa3K4jMHdpVdxJEyoWt+HbwJheCgEYYARDQLtkdGrUgTV/sPqnKIcGaO6yr4u+41eyyALiBMAIgYF2yO5T49mb977tTqhwSrHkJXdXtdoIIEGgIIwAC0pVBJCI0WPOGdVUcQaTcfX81DVB2hBEAAedigSuIfLnHFUTmJ8QqtnFNs8sCUEaEEQAB5WKBQyPf3qSv9pzWLaHBmj88Vl1jCCJAICOMAAgYeQWFGjF/s9bvcwWRt4bHqgtBxFRFt4Pnahp4gjACICDkFRRq+PxNSt13RlXCKumt4V3VuRFBBLACwggAv5dXUKiEeZu0YX9REIlV50Y1zC4LgJcQRgD4tdz8QiXM36SN+8+oalglvTUiVp1uI4j4jcuX0/BsGniCMALAb+Xmu0ZENh5wBZG3R8SqI0EEsBzCCAC/dCG/UAnzNmrTgbOqGl5JC0bEqUN0dbPLAuADhBEAfudCfqGGzd2ozQddQWThiDi1J4j4paKraZilgScIIwD8Ss4lu4bN26S0g2cVGV5JC0fGqV3D6maXBcCHCCMA/EbOJbuGzt2o9EPnVK1yiBaOiFPbhtXMLguAjxFGAPiFnEt2jViwRVsuB5FFI+PUpgFBxN/xbBp4A2EEgOkuFkoJb6Xr6yPnVT3CNSJCEAEqDsIIAFNlX7TrjR3BOnjBFUQWjYxT6/oEEaAiIYwAMM35PLuGvZWmgxdsqhERokUju6lV/Uizy4IbeDYNvCHI7AIAVEzn8+x6fM4GbT2arVsqGXo7oQtBBKigGBkBUO7O5RXo8TkbtO1otmpEhGhUk4tqUbeq2WUBMAkjIwDK1bm8Ag2a7Qoit94SqoXDu6j+LWZXhbKy8WwaeAFhBEC5OZtboIGzNmj7sWzVqhKqJaO6qVkUIyJARUcYAVAuzua6RkS+PX45iCQSRKyEE1jhCc4ZAeBzZy4HkR3Hs1WrSpiWJMapKUHEEmw3XwW4KcIIAJ86fSFfg2Zv0M7MHNWqEqalo+LUpA5BBMD3CCMAfObKIFK7apiWJHZTkzpVzC4LXsTt4OENhBEAPnHqQr4GzdqgXVk5qlM1TEtGddMdtQkiAK5FGAHgdacu5GvgrFTtzrqgqEjXiMjtBBEA10EYAeBVJ3NcQeS7ExdUNzJcS0Z1U+Na3EjE6gwup4EHCCMAvOZEziUNnLVBey4HkaWjuimGIALgJggjALziRPYlDZiVqr0nc1WvWriWJBJEAJQOYQSAx05kX1L/WanadzJX9au5pmYa3UoQqQiKbgcPeIIwAsAjWdmXNGBmqvadylWD6pW1JLGbbrs1wuyyAAQQwgiAMss875qa2X85iCwd1U3RNQkiANzDs2kAlAlBBNL3t4PnYhp4gpERAG47fv6iBsxM1YHTeWpYwzU1QxABUFaEEQBuOXbuogbMStXB03mKrukKIg1rEEQAlF2ZpmmmT5+umJgYhYeHKy4uThs3brzh+ufOndPo0aNVr149hYWFqVmzZlqxYkWZCgZgnqPnLqr/zO+DyNJR8QSRCo5n08Ab3B4ZWbZsmZKSkjRjxgzFxcVp2rRp6tWrl3bt2qU6depcs35BQYF69OihOnXq6L333lODBg108OBBVa9e3Rv1AygnR87macCsVB0+c1G31YzQ0lHdVL96ZbPLAmABboeRqVOnKjExUQkJCZKkGTNmaPny5Zo7d67Gjx9/zfpz587VmTNntG7dOoWEhEiSYmJiPKsaQLk6cjZP/Wem6sjZi2p0a4SWJBJEAHiPW2GkoKBAaWlpmjBhQvGyoKAgde/eXevXry9xm//85z+Kj4/X6NGj9dFHH6l27doaOHCgnnvuOQUHB5e4TX5+vvLz84tfZ2dnS5Lsdrvsdrs7Jd9Q0b68uU9/Y/Ue6c/3jpy9qMFzN+nIuUtqVDNCCxK6qPYtlbxWkz/06EtW78/pdEqSHA6HZXu0+jH0ZX+l3afNcOPpRseOHVODBg20bt06xcfHFy9/9tlntXbtWm3YsOGabVq0aKEDBw5o0KBBeuqpp7Rnzx499dRT+s1vfqNJkyaV+D4vvviiJk+efM3yxYsXKyKC+WmgvJy+JL3+bbDO5NtUO9zQmFYOVQ8zuyr4k/8eDNKnx4J0bz2nHo1xml0O/ExeXp4GDhyo8+fPKzIy8rrr+fxqGqfTqTp16mjmzJkKDg5W586ddfToUf31r3+9bhiZMGGCkpKSil9nZ2crOjpaPXv2vGEz7rLb7UpOTlaPHj2Kp5Csxuo90p/vHD6bp8fnbNaZ/EtqfGuE3h7eRXUjw73+PhzDwLZ15U7p2CE1uu029e7dyuxyfMLqx9CX/RXNbNyMW2GkVq1aCg4OVlZW1lXLs7KyVLdu3RK3qVevnkJCQq6akmnZsqUyMzNVUFCg0NDQa7YJCwtTWNi1//sVEhLikx8EX+3Xn1i9R/rzrkOnXUHk2PlLur3WLVoyqpuifBBErsQxDEyVLv9utwUFWbK/K1n1GBbxRX+l3Z9bl/aGhoaqc+fOSklJKV7mdDqVkpJy1bTNle666y7t2bOneF5Rknbv3q169eqVGEQAmOvg6Vz1m7neFURq36Kl5RBEAFRsbt9nJCkpSbNmzdJbb72lHTt26Mknn1Rubm7x1TVDhgy56gTXJ598UmfOnNHYsWO1e/duLV++XH/60580evRo73UBwCsOnMpV/5mpOn7+ku64HETqEEQA+Jjb54z069dPJ0+e1MSJE5WZmakOHTpo5cqVioqKkiQdOnRIQUHfZ5zo6GitWrVKTz/9tNq1a6cGDRpo7Nixeu6557zXBQCP7T+VqwEzU5WZfUlN6lTR4sQ41alKEMGN8WwaeEOZTmAdM2aMxowZU+LX1qxZc82y+Ph4paamluWtAJSD/ady1X/memVl56tpnSpanNhNtaty2QyA8sGzaYAKbt/JC+o/M1UncvLVLMoVRGpVIYgAKD9lejYNAGvYe0UQaR5VlSAC9/FsGngBIyNABbXnxAUNmJWqkzn5alG3qhaNjNOtBBEAJiCMABXQnhM56j9zg05dIIgAMB9hBKhgvsvK0YBZriDSsl6kFo2MU81buOcPysZWPE/DRA3KjnNGgApkd1aOBsxK1akL+WpVL1KLCSIA/AAjI0AFsSszRwNnpep0boFa14/UwhFxqkEQgYdstpuvA9wMYQSoAK4MIm0auIJI9QiCCLyHSRp4gjACWNzOzGwNnLVBZ3IL1LZBNS0YEUsQAeBXCCOAhX17LFuDZqfqbJ5d7RpW04LhcaoWYd2njqL8cTt4eAMnsAIWdWUQad+wmhaMIIgA8E+MjAAWtP3YeQ2avUHn8uxqH11dbw+PVbXKBBEA/okwAljMtqOuIHL+ol0doqvr7RGxigwniMA3bMW3g2eeBmXHNA1gIVcGkY63EUQABAZGRgCL2HrkvAbNTlX2pUJ1uq263hoeq6oEEQABgDACWMA3R87p8dkblH2pUJ0b1dD8hK4EEZSLotvBczUNPEEYAQLc14fP6fE5G5RzqVBdGtXQ/OGxqhLGRxtA4OCcESCAZRx2jYjkXCpU1xiCCIDAxG8tIEBtOXRWQ+ZsVE5+oWJjampeQlfdQhBBeSu+mgYoO35zAQEo/XIQuZBfqNjGNTVvGEEEQODitxcQYNIOntXQua4g0u32mpo7rKsiQvkoAwhc/AYDAsjmA2c0dO5G5RY4FH/7rZozrAtBBKbi2TTwBn6LAQFi04EzGnY5iNx5x62aM7SrKocGm10WAHiMMAIEgE0HzmrkgnTlFTh0V5NbNXsIQQSAdXBpL+Dn9mSrOIjc3aQWQQR+xWYrnqgxtQ4ENkZGAD+2Yf8ZvbkjWAVOh+5pWkuzhnRReAhBBIC1MDIC+Kn1e08rcUG6Cpw23dPkVoIIAMsijAB+aN3eUxo+f5Mu2p1qWd2pNwZ2IIjAL3E1DbyBaRrAz6zbc0rD39qkS3an7m1aS31qZiqMIALAwhgZAfzIV3tOKWG+K4jc37y2pg9orxA+pQAsjpERwE98+d0pjXhrk/ILnfpxizp64/FOCjKcZpcF3JCNZ9PAC/h/LsAPfLH7ZHEQeeByEAmrxNQMgIqBkRHAZGt3n1Ti25tVUOhU95ZRmj6oI0EEQIVCGAFMtGbXCY1akKaCQqd6tIrS9IGdFFqJAUsEDq6mgTfwWw8wyedXBJGeBBEAFRgjI4AJPt95Qr9akKYCh1O9Wkfp9YGdFBJMEEHg+f528EDZ8dsPKGcpO7KKg8hDbeoSRGAJBtfTwAOMjADl6NNvs/TkojTZHYZ6t62rv/fvSBABUOHxWxAoJ8lXBJGH29YjiADAZYyMAOVg9fZMjV6cLrvD0E/a1dO0fh1UiSACC+FqGniCMAL42KrtmRq9KF2FTkN92tfXa79sTxABgCvwGxHwoZXbvg8iPyWIwIK4HTy8gZERwEc+2Xpcv16yRYVOQ490qK9XHyOIAEBJCCOAD6y4HEQcTkM/69hAf3usvYKDuB8DAJSE/00DvGz5N98HkUcJIrA4G/eDhxcwMgJ40X+/PqZxyzLkcBr6eaeG+ssv2hFEAOAmGBkBvOQ/VwSRX3QmiABAaTEyAnjBRxlH9fSyDDkN6bHODfXnn7dTEEEEFYDt8nN7maWBJxgZATz04Zbvg0i/LtEEEQBwE2EE8MAHW44o6R1XEOnfNVpTHm1LEAEANzFNA5TRv9OP6P/e/VqGIQ2IjdYf+xJEUPFw0zN4AyMjQBm8l/Z9EBkYdxtBBAA8QBgB3PTu5sN65j1XEHm82236wyNtCCIA4AGmaQA3vLP5sJ57/xsZhjS4WyO99Ehr2WwEEVRc3PMM3kAYAUpp2aZDGv/vrTIMaUh8I03+KUEEALyBMAKUwtKNriAiScPujNGkPq0IIgDgJWU6Z2T69OmKiYlReHi44uLitHHjxlJtt3TpUtlsNvXt27csbwuYYvEGgghwPUWfBYPraeABt8PIsmXLlJSUpEmTJik9PV3t27dXr169dOLEiRtud+DAAf32t7/VPffcU+ZigfK2aMNBPf+BK4gk3EUQAQBfcDuMTJ06VYmJiUpISFCrVq00Y8YMRUREaO7cudfdxuFwaNCgQZo8ebJuv/12jwoGysvC1IP63QfbJEkj7m6siT8hiACAL7h1zkhBQYHS0tI0YcKE4mVBQUHq3r271q9ff93tXnrpJdWpU0cjRozQ//73v5u+T35+vvLz84tfZ2dnS5Lsdrvsdrs7Jd9Q0b68uU9/Y/UefdXfog2H9OLHOyVJI+5qpOd6NlFhYaFX36M0rH78JOv3aPX+nA6H679Op2V7tPox9GV/pd2nW2Hk1KlTcjgcioqKump5VFSUdu7cWeI2X375pebMmaOMjIxSv8+UKVM0efLka5avXr1aERER7pRcKsnJyV7fp7+xeo/e7O9/mTa9tz9YkvTjek61dezVJ5/s9dr+y8Lqx0+yfo9W7W/XcZukYB0/nqkVK1aYXY5PWfUYFvFFf3l5eaVaz6dX0+Tk5Gjw4MGaNWuWatWqVertJkyYoKSkpOLX2dnZio6OVs+ePRUZGem1+ux2u5KTk9WjRw+FhIR4bb/+xOo9eru/t1MP6b31rmCdeHeMnunZ1NSpGasfP8n6PVq9v+P/2ycd2KN69eqqd+8OZpfjE1Y/hr7sr2hm42bcCiO1atVScHCwsrKyrlqelZWlunXrXrP+3r17deDAAfXp06d4mdPpdL1xpUratWuX7rjjjmu2CwsLU1hY2DXLQ0JCfPKD4Kv9+hOr9+iN/uZ9tV8vL3cFkSfuvUPPPdjcb84Rsfrxk6zfo1X7C67kGkWULciS/V3JqsewiC/6K+3+3DqBNTQ0VJ07d1ZKSkrxMqfTqZSUFMXHx1+zfosWLbR161ZlZGQU//vpT3+q+++/XxkZGYqOjnbn7QGfmfPlfk3+77eSpKfu868gAgBW5/Y0TVJSkoYOHaouXbooNjZW06ZNU25urhISEiRJQ4YMUYMGDTRlyhSFh4erTZs2V21fvXp1SbpmOWCW2f/bpz8s3yFJGnN/E/1fz2YEEaCU+KTAG9wOI/369dPJkyc1ceJEZWZmqkOHDlq5cmXxSa2HDh1SUBDP30NguDKI/PrHTZTUgyAClAn3PIMHynQC65gxYzRmzJgSv7ZmzZobbjt//vyyvCXgdTO/2Ks/rXCdI/KbB5rq6e7mnqwKABUVz6ZBhfTm2r2a8okriIx9oKme7tHM5IqAwESAhzcQRlDhvLFmr/680hVExnVvqnHdCSKAp3g2DTxBGEGFMv3zPfrrql2SpKe7N9PY7k1NrggAQBhBhXFlEPm/Hs306wcIIoCnmKSBNxBGUCH8M+U7vZq8W5L0TK/mGn1/E5MrAqzFYJYGHiCMwPL+kfKdphJEAMBvEUZgadM+3a1pn34nSXruwRZ68r5rHz8AoOy4mAbeQBiBZb2WvFt/T3EFkfEPtdAT9xJEAF9hlgaeIIzAcgzD0Guffqd/XA4iz/duoVE/IogAgL8ijMBSDMPQ1OTd+udneyRJv+vdUok/ut3kqgDrKpqlMTiDFR4gjMAyDMPQq6t36/XPXUHk9w+31Mh7CCIA4O8II7AEwzD011W79K81eyVJL/yklUbc3djkqgAApUEYQcAzDOnV5D1683/7JUmT+rRSwl0EEaBcXL6chkkaeIIwgoBmGIb+eyhIKcdcQeTFPq00jCACAAGFMIKAZRiG/rxqt1KOBUmSXnqktYbEx5hbFADAbUFmFwCUhWEY+tOKHZrz1UFJ0os/aUEQAUzw/dU0ppaBAMfICAKOYRj6w/IdmvOla2rmscYODYq7zeSqAABlRRhBQDEMQy9/vENzv3IFkZd+2lLVTm41uSoAgCeYpkHAMAxDL338bXEQ+dPP2mpA12iTqwIqNp5NA28gjCAgGIahyf/9VvO+OiBJeuXRthrI1AwAWALTNPB7hmFo0n+26+31B2WzuYJIv64EEQCwCsII/JphGJr40XYtSHUFkT8/2k6/ZGoG8Bu2y9fT8GwaeIIwAr/ldBqa+J9tWph6SDab9Jeft9NjXQgiAGA1hBH4JafT0O8/2qbFG1xB5K+/aK9fdG5odlkAAB8gjMDvOJ2GfvfhNi3Z6Aoirz7WXo92IogA/qjoahomaeAJwgj8itNp6PkPtmrppsMKskmv/rK9ftaRIAIAVkYYgd9wOg1N+PdWLdvsCiJTf9lBfTs2MLssADfAbUbgDYQR+AWn09Bz73+jd9OOKMgmvdavgx7pQBABAgUX08AThBGYznE5iLx3OYhM699RP21f3+yyAADlhDACUzmchp597xu9n35EwUE2TevXQX0IIkDA4Hbw8AbCCEzjcBp65t2v9e8tRxUcZNM/+nfUw+3qmV0WgDIwuJ4GHiCMwBQOp6Hfvvu1PrgcRP45oKN6tyWIAEBFRBhBuSt0OPV/736tjzKOqdLlIPIQQQQIUMzTwHOEEZSrQodTSe98rf987Qoirw/sqAfbEESAQMfVNPAEYQTlptDh1NPvfK3/FgeRTnqwTV2zywIAmIwwgnJR6HBq3LIMffzNcYUE2zR9YCf1bE0QAQIdV9PAGwgj8Dm7w6lxSzO0fKsriPxrUGf1aBVldlkAvIhZGniCMAKfsjucGrt0i1ZszVRIsE1vDOqs7gQRAMAVCCPwGbvDqd8s2aJPtmUqNDhIbzzeSQ+0JIgAVsIsDbyBMAKfKCh06tdL0rVqe5ZCg4P05uDOur9FHbPLAuArzNPAA4QReF1BoVNjFqdr9bdZCq10OYg0J4gAAEpGGIFXFRQ6NXpxupIvB5GZgzvrPoIIYFlFV9NwO3h4gjACrykodOqpRen6dIcriMwa0kX3NqttdlkAAD9HGIFX5Bc6NHpRuj7dcUJhl4PIjwgiAIBSIIzAY/mFDj25MF2f7XQFkTlDu+ruprXMLgtAObBdvp6G28HDE4QReOSS3aEnF6bp810nFR7iCiJ3NSGIAABKjzCCMrtkd+iJhWlaczmIzB3aVXcSRAAAbiKMoEwu2R361YI0rd19OYgM66o77yCIABXN91fTAGVHGIHbLtkdSnx7s/733SlVDgnW3GFdFX/HrWaXBQAIUIQRuOWHQWReQld1u50gAgAoO8IISu1igSuIfLnnlCJCgzVvWFfFEUSACq3o2TRcTQNPEEZQKhcLHBr59iZ9tee0IkKDNT8hVrGNa5pdFgDAAggjuKmLBQ6NeGuT1u09rVtCgzV/eKy6xhBEAADeQRjBDeUVFGrE/M1av88VRN4aHqsuBBEARS5fTsOzaeAJwgiuK6+gUMPnb1LqvjOqElZJbw3vqs6NCCIAAO8ijKBEufmFSpi/SRv3n1HVsEp6a0SsOt1Ww+yyAPgZ281XAW4qqCwbTZ8+XTExMQoPD1dcXJw2btx43XVnzZqle+65RzVq1FCNGjXUvXv3G64P8+XmFyph3vdB5G2CCICbYZYGHnA7jCxbtkxJSUmaNGmS0tPT1b59e/Xq1UsnTpwocf01a9ZowIAB+vzzz7V+/XpFR0erZ8+eOnr0qMfFw/su5Bdq2LyN2njgjKqGV9KCkXHqSBABAPiQ22Fk6tSpSkxMVEJCglq1aqUZM2YoIiJCc+fOLXH9RYsW6amnnlKHDh3UokULzZ49W06nUykpKR4XD++6kF+oYXM3atOBs6oaXkkLR8SpQ3R1s8sC4MdszNPAC9w6Z6SgoEBpaWmaMGFC8bKgoCB1795d69evL9U+8vLyZLfbVbPm9U+EzM/PV35+fvHr7OxsSZLdbpfdbnen5Bsq2pc39+lvSttjzqVCjVyQrvRD5xQZXknzh3VWq7q3+P33xurH0Or9Sdbv0er9ORwO13+dTsv2aPVj6Mv+SrtPm2GU/r55x44dU4MGDbRu3TrFx8cXL3/22We1du1abdiw4ab7eOqpp7Rq1Spt375d4eHhJa7z4osvavLkydcsX7x4sSIiIkpbLkrpUqH0xo5gHbhgU+VgQ6NbORRdxeyqAASCtFM2vf1dsJpGOjWmtdPscuBn8vLyNHDgQJ0/f16RkZHXXa9cr6Z55ZVXtHTpUq1Zs+a6QUSSJkyYoKSkpOLX2dnZxeea3KgZd9ntdiUnJ6tHjx4KCQnx2n79yc16zLlk1/C303XgwnlVq1xJbw3rotb1vfc99jWrH0Or9ydZv0fL97fliPTdt6pZs6Z69441uxyfsPwx9GF/RTMbN+NWGKlVq5aCg4OVlZV11fKsrCzVrVv3htv+7W9/0yuvvKJPP/1U7dq1u+G6YWFhCgsLu2Z5SEiIT34QfLVff1JSj9mX7Br+9hZlHD6v6hEhWjgiTm0aVDOpQs9Y/RhavT/J+j1atb/g4GBJks1ms2R/V7LqMSzii/5Kuz+3TmANDQ1V586drzr5tOhk1CunbX7oL3/5i15++WWtXLlSXbp0cect4SPnL9o1eM5GZRw+p+oRIVo0MnCDCAAgsLk9TZOUlKShQ4eqS5cuio2N1bRp05Sbm6uEhARJ0pAhQ9SgQQNNmTJFkvTnP/9ZEydO1OLFixUTE6PMzExJUpUqVVSlCicmmOH8RbuGzNmgr4+cV42IEC0a2U2tAmhqBoD/sHE5DbzA7TDSr18/nTx5UhMnTlRmZqY6dOiglStXKioqSpJ06NAhBQV9P+DyxhtvqKCgQL/4xS+u2s+kSZP04osvelY93HY+z67BczfoG4IIAC/inmfwRJlOYB0zZozGjBlT4tfWrFlz1esDBw6U5S3gA+fz7Hp8zgZtPXpeNW8J1aKRcWpZjyACADAXz6apIM7l2ZXwdpq2Hc1WzVtCtTgxTi3qEkQAeIZJGngDYaQCyLVLQ+dv1rfHc3TrLaFanNhNzetWNbssABZS+jtWAdcijFjc2bwCTf82WEfzclSriiuINIsiiAAA/AdhxMLO5BZoyLw0Hc2zqVaVUC1J7KamBBEAXsTFNPAGtx+Uh8BwJrdAA2elamdmjqqGGFqQ0IUgAsBnmKWBJxgZsaDTF/I1aPYG7czMUe0qoUpskqcmdbinCwDAPzEyYjGnLuRr4CxXEKlTNUwLh3dVVGWzqwIA4PoIIxbiCiKp2pXlCiJLRnXT7bVvMbssABWAGw+AB65BGLGIkzn5GjAzVbuzLigqMkxLR3XTHbWZmgEA+D/OGbGAEzmXNHDWBu05cUF1I8O1ZFQ3Na7FiAgA3+PZNPAGwkiAO5FzSQNmpmrvyVzVqxauJYndFEMQAQAEEMJIADuRfUkDZrmCSP1qrhGRRrcSRAAAgYUwEqCysl0jIvtOuYLI0lHxuu3WCLPLAlDBFE3ScP4qPEEYCUBXBpEG1StrSWI3gggAIGARRgJM5nnX1Mz+y0Fk6ahuiq5JEAEABC7CSAA5fv6iBsxM1YHTeQQRAH6h6GIaZmngCcJIgDh27qIGzErVwdN5aljDFUQa1iCIAAACH2EkABw95xoROXQmT9E1K2vpqHg1qM493gGYzybuMwLPEUb83NFzF9V/5nodPnNRt9WM0JJR3QgiAPwOt4OHJwgjfuzI2TwNmJWqw2cuqtGtEVqS2E31CSIAAIshjPipw2dcQeTIWVcQWTqqm+pVI4gA8C/cDR7eQBjxQ4fP5Kn/zFQdPXdRjWvdoiWJ3VS3WrjZZQHAdTFJA0/w1F4/QxABAFQ0jIz4kUOnXVMzR89d1O21btGSUd0UFUkQAeC/mKWBNxBG/MTB07kaMDNVx85f0u21b9HSxG6qQxABECC4mAaeYJrGDxw4lav+l4PIHQQRAEAFw8iIyYqCSGb2JTWpU0WLE+NUpypBBECAYJ4GXkAYMdH+U7nqP3O9srLz1bROFS1O7KbaVcPMLgsA3GZwPQ08QBgxyb6TFzRgVqqysvPVLKqKFo0kiAAAKibCiAn2nrygATNTdSInX82jqmpRYpxqVSGIAAg8Nu56Bi8gjJSzPScuaOAsVxBpUbeqFo2M060EEQCBjlkaeIAwUo72nMjRgFkbdJIgAgBAMcJIOfkuyxVETl1wBZHFid1U85ZQs8sCAI8wSQNvIIyUA1cQSdWpCwVqWS9Si0fGqQZBBICFMEsDT3DTMx/bnZWj/jNdQaQVQQQAgGswMuJDuzJzNHBWqk7nFqh1/UgtGhmn6hEEEQDWwcU08AbCiI/szMzWwFkbdCa3QG0aRGrhCIIIAOvi2TTwBGHEB3Ycz9ag2a4g0rZBNS0cEadqESFmlwUAgF8ijHjZt8eyNWh2qs7m2dWuYTUtGBGnapUJIgCsiVkaeAMnsHrR9mPnNfByEGlPEAFQgfBsGniCkREv2Xb0vB6fs0Hn8uxqH11dC0bEKjKcIAIAwM0QRrxg29HzGjR7g85ftKtDdHW9TRABUEEUPZuGE1jhCaZpPLT1yPdBpNNtjIgAAOAuRkY88M2Rc3p89gZlXypU50Y1ND+hq6oSRAAAcAthpIy+PnxOj8/ZoJxLherSqIbmD49VlTC+nQAqlqKraZimgSeYpimDjCuCSNcYgggAAJ7gL6ibthw6qyFzNionv1CxMTU1N6ErQQRAxcWNRuAF/BV1Q/qhsxpaFEQa19S8YV11C0EEALjLCDzCX9JSSjt4VkPnbtSF/ELFNa6peQldFRHKtw8AAE/x17QU0g6e0dC5m3Qhv1Ddbq+pucMIIgAgSTbmaeAF/EW9ic0Hzmjo3I3KLXAo/vZbNXdYV1UODTa7LADwL1xOAw9wNc0NbDpwRkMuB5E77yCIAADgC4SR69i43zUiklfg0N1NamnOUIIIAPyQjVkaeAHTNCXYsO+0EuZvUl6BQ/c0raVZQ7ooPIQgAgDXwyQNPEEY+YHUfaeVMG+TLtoJIgAAlAfCyBXW7z2t4fNdQeRHzWpr5uDOBBEAuAFmaeANZTpnZPr06YqJiVF4eLji4uK0cePGG67/7rvvqkWLFgoPD1fbtm21YsWKMhXrS+v2nFLC/I26aHfoXoIIALiFi2ngCbfDyLJly5SUlKRJkyYpPT1d7du3V69evXTixIkS11+3bp0GDBigESNGaMuWLerbt6/69u2rbdu2eVy8t6zbe1rD39qkS3an7m9eW28SRAAAKDduh5GpU6cqMTFRCQkJatWqlWbMmKGIiAjNnTu3xPX//ve/68EHH9Qzzzyjli1b6uWXX1anTp30+uuve1y8N+w6Z9OohVt0ye7Uj1vU0QyCCACUGlfTwBvcOmekoKBAaWlpmjBhQvGyoKAgde/eXevXry9xm/Xr1yspKemqZb169dKHH3543ffJz89Xfn5+8evs7GxJkt1ul91ud6fkG1q7M0uzdgbJbjh1f/Na+ke/dgoynLLbnV57D7MVfb+8+X3zJ/QX+Kzeo9X7Kyx0SJKyci5p0kdbTa7GN5xOpw4dDNLmj79VUJD17ohR1F+rk9mKqR3p1X2X9uferTBy6tQpORwORUVFXbU8KipKO3fuLHGbzMzMEtfPzMy87vtMmTJFkydPvmb56tWrFRER4U7J15XvkF5KD5bdsKlNDad+Uj1TKatXemXf/ig5OdnsEnyK/gKf1Xu0an+HL0hSJZ2/WKi31h8yuxwfCpIyj5hdhA8FqdNnXyqmqnf3mpeXV6r1/PJqmgkTJlw1mpKdna3o6Gj17NlTkZHeS231Wp3UtI/TNOdX9+uW8DCv7def2O12JScnq0ePHgoJCTG7HK+jv8Bn9R6t3l9BQYGO5KYosv7tCrbgqIEkOZxO7d+/X40bN7Zkj0X9PfzAPWpUy7tppGhm42bcCiO1atVScHCwsrKyrlqelZWlunXrlrhN3bp13VpfksLCwhQWdm04CAkJ8eqHudsdtTWkqVO3hIdZ8pfElbz9vfM39Bf4rN6jlfuLjzLUu1dzy/Znt9u1YsVey/ZY1F+jWlW93l9p9+dWxAsNDVXnzp2VkpJSvMzpdColJUXx8fElbhMfH3/V+pJruPJ66wMAgIrF7WmapKQkDR06VF26dFFsbKymTZum3NxcJSQkSJKGDBmiBg0aaMqUKZKksWPH6t5779Wrr76qhx9+WEuXLtXmzZs1c+ZM73YCAAACktthpF+/fjp58qQmTpyozMxMdejQQStXriw+SfXQoUNXnW185513avHixfr973+v559/Xk2bNtWHH36oNm3aeK8LAAAQsMp0AuuYMWM0ZsyYEr+2Zs2aa5Y99thjeuyxx8ryVgAAwOKsd1owAAAIKIQRAABgKsIIAAAwFWEEAACYijACAABMRRgBAACmIowAAABTEUYAAICpCCMAAMBUZboDa3kzDENS6R9FXFp2u115eXnKzs625JMYJev3SH+Bz+o90l/gs3qPvuyv6O920d/x6wmIMJKTkyNJio6ONrkSAADgrpycHFWrVu26X7cZN4srfsDpdOrYsWOqWrWqbDab1/abnZ2t6OhoHT58WJGRkV7brz+xeo/0F/is3iP9BT6r9+jL/gzDUE5OjurXr3/VQ3R/KCBGRoKCgtSwYUOf7T8yMtKSP2BXsnqP9Bf4rN4j/QU+q/foq/5uNCJShBNYAQCAqQgjAADAVBU6jISFhWnSpEkKCwszuxSfsXqP9Bf4rN4j/QU+q/foD/0FxAmsAADAuir0yAgAADAfYQQAAJiKMAIAAExFGAEAAKayfBiZPn26YmJiFB4erri4OG3cuPGG67/77rtq0aKFwsPD1bZtW61YsaKcKi07d3qcP3++bDbbVf/Cw8PLsVr3fPHFF+rTp4/q168vm82mDz/88KbbrFmzRp06dVJYWJiaNGmi+fPn+7zOsnK3vzVr1lxz/Gw2mzIzM8unYDdNmTJFXbt2VdWqVVWnTh317dtXu3btuul2gfI5LEt/gfYZfOONN9SuXbviG2LFx8frk08+ueE2gXL8JPf7C7Tj90OvvPKKbDabxo0bd8P1yvsYWjqMLFu2TElJSZo0aZLS09PVvn179erVSydOnChx/XXr1mnAgAEaMWKEtmzZor59+6pv377atm1bOVdeeu72KLnusnf8+PHifwcPHizHit2Tm5ur9u3ba/r06aVaf//+/Xr44Yd1//33KyMjQ+PGjdPIkSO1atUqH1daNu72V2TXrl1XHcM6der4qELPrF27VqNHj1ZqaqqSk5Nlt9vVs2dP5ebmXnebQPoclqU/KbA+gw0bNtQrr7yitLQ0bd68WT/+8Y/1yCOPaPv27SWuH0jHT3K/Pymwjt+VNm3apDfffFPt2rW74XqmHEPDwmJjY43Ro0cXv3Y4HEb9+vWNKVOmlLj+L3/5S+Phhx++allcXJzxq1/9yqd1esLdHufNm2dUq1atnKrzLknGBx98cMN1nn32WaN169ZXLevXr5/Rq1cvH1bmHaXp7/PPPzckGWfPni2XmrztxIkThiRj7dq1110nED+HRUrTXyB/BovUqFHDmD17dolfC+TjV+RG/QXq8cvJyTGaNm1qJCcnG/fee68xduzY665rxjG07MhIQUGB0tLS1L179+JlQUFB6t69u9avX1/iNuvXr79qfUnq1avXddc3W1l6lKQLFy6oUaNGio6Ovun/AQSaQDuGZdWhQwfVq1dPPXr00FdffWV2OaV2/vx5SVLNmjWvu04gH8PS9CcF7mfQ4XBo6dKlys3NVXx8fInrBPLxK01/UmAev9GjR+vhhx++5tiUxIxjaNkwcurUKTkcDkVFRV21PCoq6rrz65mZmW6tb7ay9Ni8eXPNnTtXH330kRYuXCin06k777xTR44cKY+Sfe56xzA7O1sXL140qSrvqVevnmbMmKH3339f77//vqKjo3XfffcpPT3d7NJuyul0aty4cbrrrrvUpk2b664XaJ/DIqXtLxA/g1u3blWVKlUUFhamJ554Qh988IFatWpV4rqBePzc6S8Qj9/SpUuVnp6uKVOmlGp9M45hQDy1F94THx9/VeK/88471bJlS7355pt6+eWXTawMpdG8eXM1b968+PWdd96pvXv36rXXXtOCBQtMrOzmRo8erW3btunLL780uxSfKG1/gfgZbN68uTIyMnT+/Hm99957Gjp0qNauXXvdP9iBxp3+Au34HT58WGPHjlVycrJfn2hr2TBSq1YtBQcHKysr66rlWVlZqlu3bonb1K1b1631zVaWHn8oJCREHTt21J49e3xRYrm73jGMjIxU5cqVTarKt2JjY/3+D/yYMWP08ccf64svvlDDhg1vuG6gfQ4l9/r7oUD4DIaGhqpJkyaSpM6dO2vTpk36+9//rjfffPOadQPx+LnT3w/5+/FLS0vTiRMn1KlTp+JlDodDX3zxhV5//XXl5+crODj4qm3MOIaWnaYJDQ1V586dlZKSUrzM6XQqJSXlunOB8fHxV60vScnJyTecOzRTWXr8IYfDoa1bt6pevXq+KrNcBdox9IaMjAy/PX6GYWjMmDH64IMP9Nlnn6lx48Y33SaQjmFZ+vuhQPwMOp1O5efnl/i1QDp+13Oj/n7I34/fAw88oK1btyojI6P4X5cuXTRo0CBlZGRcE0Qkk46hz06N9QNLly41wsLCjPnz5xvffvutMWrUKKN69epGZmamYRiGMXjwYGP8+PHF63/11VdGpUqVjL/97W/Gjh07jEmTJhkhISHG1q1bzWrhptztcfLkycaqVauMvXv3GmlpaUb//v2N8PBwY/v27Wa1cEM5OTnGli1bjC1bthiSjKlTpxpbtmwxDh48aBiGYYwfP94YPHhw8fr79u0zIiIijGeeecbYsWOHMX36dCM4ONhYuXKlWS3ckLv9vfbaa8aHH35ofPfdd8bWrVuNsWPHGkFBQcann35qVgs39OSTTxrVqlUz1qxZYxw/frz4X15eXvE6gfw5LEt/gfYZHD9+vLF27Vpj//79xjfffGOMHz/esNlsxurVqw3DCOzjZxju9xdox68kP7yaxh+OoaXDiGEYxj//+U/jtttuM0JDQ43Y2FgjNTW1+Gv33nuvMXTo0KvWf+edd4xmzZoZoaGhRuvWrY3ly5eXc8Xuc6fHcePGFa8bFRVl9O7d20hPTzeh6tIpupT1h/+Keho6dKhx7733XrNNhw4djNDQUOP222835s2bV+51l5a7/f35z3827rjjDiM8PNyoWbOmcd999xmfffaZOcWXQkm9SbrqmATy57As/QXaZ3D48OFGo0aNjNDQUKN27drGAw88UPyH2jAC+/gZhvv9BdrxK8kPw4g/HEObYRiG78ZdAAAAbsyy54wAAIDAQBgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKn+H3Ewc06JY7P5AAAAAElFTkSuQmCC", + "image/png": "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/QXq8cvJyTGaNm1qJCcnG/fee68xduzY665rxjG07MhIQUGB0tLS1L179+JlQUFB6t69u9avX1/iNuvXr79qfUnq1avXddc3W1l6lKQLFy6oUaNGio6Ovun/AQSaQDuGZdWhQwfVq1dPPXr00FdffWV2OaV2/vx5SVLNmjWvu04gH8PS9CcF7mfQ4XBo6dKlys3NVXx8fInrBPLxK01/UmAev9GjR+vhhx++5tiUxIxjaNkwcurUKTkcDkVFRV21PCoq6rrz65mZmW6tb7ay9Ni8eXPNnTtXH330kRYuXCin06k777xTR44cKY+Sfe56xzA7O1sXL140qSrvqVevnmbMmKH3339f77//vqKjo3XfffcpPT3d7NJuyul0aty4cbrrrrvUpk2b664XaJ/DIqXtLxA/g1u3blWVKlUUFhamJ554Qh988IFatWpV4rqBePzc6S8Qj9/SpUuVnp6uKVOmlGp9M45hQDy1F94THx9/VeK/88471bJlS7355pt6+eWXTawMpdG8eXM1b968+PWdd96pvXv36rXXXtOCBQtMrOzmRo8erW3btunLL780uxSfKG1/gfgZbN68uTIyMnT+/Hm99957Gjp0qNauXXvdP9iBxp3+Au34HT58WGPHjlVycrJfn2hr2TBSq1YtBQcHKysr66rlWVlZqlu3bonb1K1b1631zVaWHn8oJCREHTt21J49e3xRYrm73jGMjIxU5cqVTarKt2JjY/3+D/yYMWP08ccf64svvlDDhg1vuG6gfQ4l9/r7oUD4DIaGhqpJkyaSpM6dO2vTpk36+9//rjfffPOadQPx+LnT3w/5+/FLS0vTiRMn1KlTp+JlDodDX3zxhV5//XXl5+crODj4qm3MOIaWnaYJDQ1V586dlZKSUrzM6XQqJSXlunOB8fHxV60vScnJyTecOzRTWXr8IYfDoa1bt6pevXq+KrNcBdox9IaMjAy/PX6GYWjMmDH64IMP9Nlnn6lx48Y33SaQjmFZ+vuhQPwMOp1O5efnl/i1QDp+13Oj/n7I34/fAw88oK1btyojI6P4X5cuXTRo0CBlZGRcE0Qkk46hz06N9QNLly41wsLCjPnz5xvffvutMWrUKKN69epGZmamYRiGMXjwYGP8+PHF63/11VdGpUqVjL/97W/Gjh07jEmTJhkhISHG1q1bzWrhptztcfLkycaqVauMvXv3GmlpaUb//v2N8PBwY/v27Wa1cEM5OTnGli1bjC1bthiSjKlTpxpbtmwxDh48aBiGYYwfP94YPHhw8fr79u0zIiIijGeeecbYsWOHMX36dCM4ONhYuXKlWS3ckLv9vfbaa8aHH35ofPfdd8bWrVuNsWPHGkFBQcann35qVgs39OSTTxrVqlUz1qxZYxw/frz4X15eXvE6gfw5LEt/gfYZHD9+vLF27Vpj//79xjfffGOMHz/esNlsxurVqw3DCOzjZxju9xdox68kP7yaxh+OoaXDiGEYxj//+U/jtttuM0JDQ43Y2FgjNTW1+Gv33nuvMXTo0KvWf+edd4xmzZoZoaGhRuvWrY3ly5eXc8Xuc6fHcePGFa8bFRVl9O7d20hPTzeh6tIpupT1h/+Keho6dKhx7733XrNNhw4djNDQUOP222835s2bV+51l5a7/f35z3827rjjDiM8PNyoWbOmcd999xmfffaZOcWXQkm9SbrqmATy57As/QXaZ3D48OFGo0aNjNDQUKN27drGAw88UPyH2jAC+/gZhvv9BdrxK8kPw4g/HEObYRiG78ZdAAAAbsyy54wAAIDAQBgBAACmIowAAABTEUYAAICpCCMAAMBUhBEAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKn+H3Ewc06JY7P5AAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -145,22 +80,22 @@ } ], "source": [ - "t = np.linspace(0, 4, 1000)\n", + "x = np.linspace(0, 4, 1000)\n", "\n", "plt.figure()\n", - "plt.plot(t, pupil_fun(t))\n", + "plt.plot(x, pupil(x))\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 44, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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IiIi8hoMLkREROQ1FB1cAgICsGTJEgQEBMhdissppVel9Akop1el9AmwV1+klD4B9/XqE5NziYiISBkUfcaFiIiIvAuDCxEREXkNBhciIiLyGgwuRERE5DV8PrhUV1fjpz/9KUJDQxEeHo6nnnoKjY2N3T6ntbUVzzzzDHr37o1evXrhoYceQkVFRad99u3bh3vvvRfh4eGIiIhAVlYWDh486MpWuuWqPgHg3XffxciRI6HT6RAdHY1nnnnGVW30iCt7BYArV64gISEBKpUKtbW1LuigZ1zR58GDBzF79mwkJiYiMDAQqampWLlypatbucHq1auRnJwMnU6H9PR07N27t9v9N2zYgJSUFOh0OowYMQKbN2/u9LgQAosXL0bfvn0RGBiIzMxMnDx50pUt9JgzezUajXjhhRcwYsQIBAcHIy4uDnPmzEF5ebmr27gpZ3+m13r66aehUqmwYsUKJ1ftGFf0WlxcjBkzZiAsLAzBwcEYP348SktLXdVCjzi7z8bGRuTk5CAhIQGBgYEYOnQo1qxZY39hwsdNmzZNjBo1SuzevVt89913YtCgQWL27NndPufpp58WiYmJIi8vTxQUFIjbb79dTJw40fp4Q0ODiIyMFE888YQoKSkRR44cEQ899JCIiYkRBoPB1S3Z5Io+hRBi+fLlIi4uTnz44Yfi1KlT4uDBg+Kzzz5zZSs35apeJQ888ID44Q9/KACImpoaF3TQM67o85133hHPPvus2LFjhzh9+rT4v//7PxEYGChWrVrl6nasPvroI+Hv7y/Wrl0rjh49KubNmyfCw8NFRUWFzf137twpNBqNeO2118SxY8fEiy++KLRarTh8+LB1n1deeUWEhYWJjRs3ioMHD4oZM2aI/v37i5aWFne1ZZOze62trRWZmZli/fr1oqSkROTn54sJEyaIsWPHurOtG7jiM5V88sknYtSoUSIuLk788Y9/dHEnN+eKXk+dOiUiIyPFggULRFFRkTh16pT47LPPujymO7iiz3nz5omBAweK7du3i7Nnz4q//vWvQqPR2P07xaeDy7FjxwQAsW/fPuu2L774QqhUKlFWVmbzObW1tUKr1YoNGzZYtxUXFwsAIj8/XwghxL59+wQAUVpaat3n0KFDAoA4efKki7rpmqv6rK6uFoGBgeKrr75ybQN2cFWvkj//+c9i8uTJIi8vT9bg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", "text/plain": [ "
" ] @@ -170,12 +105,12 @@ } ], "source": [ - "p = pupil(x)\n", - "\n", - "h = scipy.signal.convolve(pupil(-x), pupil(x))\n", + "x = np.linspace(-1, 1, 1000) * focus * wavelength\n", + "h = scipy.signal.convolve(pupil(-x), pupil(x), 'full')\n", + "x = np.linspace(-1, 1, len(h)) * focus * wavelength\n", "\n", "plt.figure()\n", - "plt.plot(h)\n", + "plt.plot(x, h)\n", "plt.grid()\n", "plt.show()" ] @@ -211,7 +146,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.5" + "version": "3.11.2" }, "orig_nbformat": 4 },