{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## A more drastic change in the potential\n", "\n", "Now let's try a more significant change to the potential. It will be instructive to place a quantum harmonic \n", "oscillator potential into our square well, and then build the Hamiltonian, again using the square well eigenvectors as a basis set. We will look at two cases: first, a small magnitude for the potential (a small perturbation, where we would expect to see small changes in the square well energies); second, a large magnitude for the potential (where the first few eigenstates should be very close to the QHO eigenstates). \n", "\n", "First we set up the functions that we need (you should be familiar with these by now !)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "//anaconda/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.\n", " warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')\n" ] } ], "source": [ "# Import libraries and set up in-line plotting.\n", "%matplotlib inline\n", "import matplotlib.pyplot as pl\n", "import numpy as np\n", "# This is a new library - linear algebra includes solving for eigenvalues & eigenvectors of matrices\n", "import numpy.linalg as la\n", "\n", "# Define the eigenbasis - normalisation needed elsewhere\n", "def square_well_eigenfunctions(n,width,norm,x):\n", " \"\"\"The eigenbasis for a square well, running from 0 to a (width), sin(n pi x/a). \n", " N.B. requires a normalisation factor, norm.\"\"\"\n", " wavevector = np.pi*n/width\n", " return norm*np.sin(wavevector*x)\n", "\n", "# We will also define the second derivative for kinetic energy (KE)\n", "def second_derivative_square_well_eigenfunctions(n,width,norm,x):\n", " \"\"\"The second derivative of the eigenbasis for a square well, running from 0 to a, sin(n pi x/a)\"\"\"\n", " wavevector = np.pi*n/width\n", " return -wavevector*wavevector*norm*np.sin(wavevector*x)\n", "\n", "# Define the x-axis\n", "width = 1.0\n", "num_x_points = 101\n", "x = np.linspace(0.0,width,num_x_points)\n", "dx = width/(num_x_points - 1)\n", "\n", "# Integrate the product of two functions over the width of the well\n", "# NB this is a VERY simple integration routine: there are much better ways\n", "def integrate_functions(function1,function2,dx):\n", " \"\"\"Integrate the product of two functions over defined x range with spacing dx\"\"\"\n", " # We use the NumPy dot function here instead of iterating over array elements\n", " integral = dx*np.dot(function1,function2)\n", " return integral\n", "\n", "# Now set up the array of basis functions - specify the size of the basis\n", "num_basis = 10\n", "# These arrays will each hold an array of functions\n", "basis_functions_array = np.zeros((num_basis,num_x_points))\n", "second_derivative_basis_functions_array = np.zeros((num_basis,num_x_points))\n", "\n", "# Loop over first num_basis basis states, normalise and create an array\n", "# NB the basis_functions_array will start from 0\n", "for i in range(num_basis):\n", " n = i+1\n", " # Calculate A = \n", " integral = integrate_functions(square_well_eigenfunctions(n,width,1.0,x),square_well_eigenfunctions(n,width,1.0,x),dx)\n", " # Use 1/sqrt{A} as normalisation constant\n", " normalisation = 1.0/np.sqrt(integral)\n", " basis_functions_array[i,:] = square_well_eigenfunctions(n,width,normalisation,x)\n", " second_derivative_basis_functions_array[i,:] = second_derivative_square_well_eigenfunctions(n,width,normalisation,x)\n", " \n", "# Define a function to act on a basis function with the potential\n", "def add_potential_on_basis(Hphi,V,phi):\n", " for i in range(V.size):\n", " Hphi[i] = Hphi[i] + V[i]*phi[i]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Small perturbation: close to the square well\n", "\n", "As before, we'll start with a small perturbation (though you should think carefully about the following question: what does *small* mean in this context ?)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEACAYAAABbMHZzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYVNW19/HvAkQlIgYxDiCgDCI4oKK0EaRFja0mEk1M\nQK84JeAAEhEFMYRWcEBFFMkbJBK43KAQTUhQQSFKYxxQQFFGAaOIxmBAUYEgQ6/3j11I2zbd1V3D\nqeH3eZ567KraVbX62KzaZ5+91zZ3R0RE8kutqAMQEZH0U/IXEclDSv4iInlIyV9EJA8p+YuI5CEl\nfxGRPBRX8jezIjNbYWYrzWxgBc8fZWavmNlWM+tfwfO1zOwNM5uejKBFRCQxVSZ/M6sFjAHOAdoB\nPcysTblmG4C+wH17eJt+wLIE4hQRkSSKp+d/CrDK3de4+3ZgCtCtbAN3X+/uC4Ed5V9sZk2A84BH\nkxCviIgkQTzJvzGwtsz9D2OPxWsUcDOgpcQiIhkipRd8zex8YJ27LwIsdhMRkYjViaPNR0DTMveb\nxB6Lx2nABWZ2HrAvUN/MJrl7z/INzUxnBiIi1eTuNepUx9Pznw+0NLNmZlYX6A5UNmvn60DcfbC7\nN3X3I2Ove6GixF+mvW7uDB06NPIYMuGm46BjoWNR+S0RVfb83X2nmfUBZhG+LMa7+3Iz6x2e9nFm\ndjCwAKgPlJpZP6Ctu29KKDoREUmJeIZ9cPdngaPKPfZImZ/XAYdX8R5zgbk1iFFERJJMK3wzUGFh\nYdQhZAQdh910LHbTsUgOS3TcKFnMzDMlFhGRbGBmeAov+IqISI5R8hcRyUNK/iIieUjJX0QkDyn5\ni4jkISV/EZE8pOQvIpKHlPxFRPKQkr+ISB5S8hcRyUNK/iIieUjJX0QkDyn5i4jkISV/EZE8pOQv\nIpKHlPxFRPKQkr+ISB5S8hcRyUJLlyb2eiV/EZEsNGZMYq/PqD18t2xx9t036khERDLbxo1wxBGw\ncWOO7OH7+ONRRyAikvkmToSiosTeI67kb2ZFZrbCzFaa2cAKnj/KzF4xs61m1r/M403M7AUzW2pm\ni83shso+5+GHIUNOREREMlJpKfz2t9C3b2LvU2XyN7NawBjgHKAd0MPM2pRrtgHoC9xX7vEdQH93\nbwecClxfwWu/tnkzvPJKNaIXEckzzz0H9evDqacm9j7x9PxPAVa5+xp33w5MAbqVbeDu6919ISHZ\nl3383+6+KPbzJmA50HhPH9SnT+j9i4hIxR5+OPT6rUYj/bvFk/wbA2vL3P+QShL4nphZc6A98Nqe\n2lx+OcyaBf/6V3XfXUQk961aBQsWQPfuib9XncTfompmth/wJNAvdgZQoVGjimnRAnr0gNtvL6Sw\nsDAd4YmIZIVbby2hdesSRoxI/L2qnOppZgVAsbsXxe4PAtzdv/XxZjYU+NLdHyjzWB3gaWCmuz9U\nyee4u7NiBXTpAmvWwD771OyXEhHJNV98Ac2bw1tvweGHh8fMUjvVcz7Q0syamVldoDswvZL25QP5\nA7CsssRfVps2cMIJMGVKPK1FRPLD//4vnHXW7sSfqLgWeZlZEfAQ4ctivLvfY2a9CWcA48zsYGAB\nUB8oBTYBbYHjgReBxYDHboPd/dkKPsN3xTJzJgweDG+8kfhFDRGRbFdaGjrGf/gDdOq0+/FEev4Z\ntcJ3VyylpXD00fD738Ppp0ccmIhIxJ55Bn7zm3Cxt2yHONXDPmlXqxbccAM8FNdAkYhIbnvoIejX\nL7kjIRnZ8wf48stwcWPhwvBfEZF8tGwZnHkmvP8+7L33N5/LuZ4/hBVsl18eljGLiOSrhx+G3r2/\nnfgTlbE9f4D33oOTTw7fePvtF01cIiJR2bABWraE5cvhkEO+/XxO9vwhlCzt0iVUsBMRyTfjxkG3\nbhUn/kRldM8f4KWX4Mor4Z13woVgEZF8sG1b6ADPmAHHH19xm5zt+QOcdhoccAA8/XTUkYiIpM8T\nT4S5/XtK/InK+ORvBjfeCKNGRR2JiEh6uMMDD4TclyoZn/wBLr4YVq+GRYuijkREJPX+8Q/YtAnO\nOy91n5EVyX+vvUKtf/X+RSQfjBoVFnWl8jpnxl/w3eWzz6BFC1i6FA49NI2BiYik0bvvQseOobLx\nd75TeducvuC7y3e/C5deCmPGRB2JiEjqPPgg9OpVdeJPVNb0/CF8IxYUhMVfWvQlIrlmwwZo1Sr+\nEY686PlDGPbp0gUmTIg6EhGR5Bs7NizqSsfQdlb1/AHmzYNLLgl7WdaunYbARETS4KuvQhHL2bPh\nmGPie03e9PwhDPsceihMmxZ1JCIiyTN5MrRvH3/iT1TWJX+AAQPg/vvDQggRkWznDiNHwk03pe8z\nszL5X3ABrF8PL78cdSQiIol79tmwnunMM9P3mVmZ/GvXhv79Q+9fRCTb3XdfGNFI557lWXfBd5ct\nW0LFu5KSsN+viEg2mj8ffvKTMJV9r72q99q8uuC7S716oeSDev8iks3uuy+MZFQ38Scqa3v+sHtB\nxJIlcNhhKQpMRCRFVq+GU0+t+cLVvOz5Axx4IFx2WdjZXkQk24wcCddcE03FgriSv5kVmdkKM1tp\nZgMreP4oM3vFzLaaWf/qvDZRN94Ijz4Kn3+e7HcWEUmddetgyhTo2zeaz68y+ZtZLWAMcA7QDuhh\nZm3KNdsA9AXuq8FrE9K8OZx7LjzySDLfVUQktcaMge7d4Xvfi+bz4+n5nwKscvc17r4dmAJ0K9vA\n3de7+0JgR3Vfmww33xwq4W3dmux3FhFJvi+/DHV8+vevum2qxJP8GwNry9z/MPZYPBJ5bdyOPz4s\ni540KdnvLCKSfOPGQdeuYcJKVOpE99HfVlxc/PXPhYWFFBYWxv3aW2+FK6+Eq69WwTcRyVxffRX2\n53366eq/tqSkhJKSkqTEEU/y/whoWuZ+k9hj8ajWa8sm/+rq3BkOOQSefBJ+/vMav42ISEpNmgTH\nHQcnnFD915bvFN9+++01jiOeYZ/5QEsza2ZmdYHuwPRK2pedc1rd1yZk0CC4+24VfBORzLRzJ9x7\nbxipiFqVyd/ddwJ9gFnAUmCKuy83s95m1gvAzA42s7XAjcBtZvaBme23p9em6pc5/3woLQ1FkkRE\nMs2f/xxm93TuHHUkWb7CtyKPPRamfc6dm4SgRESSxB1OPBGGDYMf/jA575m3K3wr8rOfwdq1Kvcs\nIpnl2Wdhxw4477yoIwlyLvnXqRPG/u+8M+pIREQCdxg+HG67DWplSNbNkDCS6/LL4e23YeHCqCMR\nEQnD0P/5D1x8cdSR7JaTyX/vvcOqX/X+RSQTDB8eZvhk0hqknLvgu8uWLXDkkfD889CuXdLeVkSk\nWubNCzV8Vq1Kfs1+XfCtQL168KtfwV13RR2JiOSzO++EW25J/2YtVcnZnj/AF19Aixbw6qvQsmVS\n31pEpEqLFoXZPf/8J+yzT/LfXz3/Pdh/f7j+evX+RSQad94JN92UmsSfqJzu+QN8+mmonLdgQdjw\nXUQkHZYsgbPOChuzf+c7qfkM9fwr0bAhXHttqPkjIpIuw4eHev2pSvyJyvmeP4SN3lu3hjfegGbN\nUvIRIiJfW74cunQJY/2p3J9XPf8qHHgg9OoF99wTdSQikg+GDw/7i0exMXu88qLnD2F13VFHwVtv\nweGHp+xjRCTPvfMOdOoUxvr33z+1n6WefxwOOgh+8QsYMSLqSEQkl911F/Trl/rEn6i86fkDfPIJ\ntGkT6v40aZLSjxKRPLRyJZx2GqxeDQ0apP7z1POP0/e+F3r/mvkjIqkwbFjo9acj8Scqr3r+EMb+\n27SBN9+Epk2rbi8iEo8VK+D000OvP11DPur5V8NBB4WZP1r1KyLJdMcdYYZPpo/175J3PX/YPe9/\n4UJo3jwtHykiOWzpUujaNfT669dP3+eq519NBx4YVv0OHx51JCKSC26/PdTwSWfiT1Re9vwh1Pxp\n3Rpeey1U/hQRqYnFi+Hss1Nbw2dP1POvgYYNoW/f8I0tIlJTQ4bAwIGZW8NnT/K25w+h3n/LllBS\nAm3bpvWjRSQHzJ8PF14YxvqjKNuc8p6/mRWZ2QozW2lmA/fQZrSZrTKzRWbWvszjN5rZEjN728wm\nm1ndmgSaCvvvDwMGwNChUUciItno178Ot0ys11+VKpO/mdUCxgDnAO2AHmbWplybc4EW7t4K6A2M\njT1+GNAXONHdjwPqAN2T+hskqE8fePnlMO9fRCReL74Y9uW96qqoI6mZeHr+pwCr3H2Nu28HpgDd\nyrXpBkwCcPfXgAZmdnDsudrAd8ysDlAP+FdSIk+SevVg8ODw7S0iEg93uO02KC6GuhkzllE98ST/\nxsDaMvc/jD1WWZuPgMbu/i9gJPBB7LGN7v73moebGr/8ZZin+8orUUciItlg1qywXujSS6OOpObq\npPLNzewAwllBM+Bz4Ekzu8TdH6uofXFx8dc/FxYWUlhYmMrwvrb33vCb34QzgDlzwGp0+URE8kFp\naej133EH1K6d3s8uKSmhpKQkKe9V5WwfMysAit29KHZ/EODuPqJMm7HAHHefGru/AugCdAbOcfdf\nxh6/DOjo7n0q+Jy0z/Ypa8cOOPZYGDUKiooiC0NEMtyf/gT33htm+kTdUUz1bJ/5QEszaxabqdMd\nmF6uzXSgZyyYAsLwzjrCcE+Bme1jZgacCSyvSaCpVqcO3Hkn3Hpr+GYXESlv+/ZwffCee6JP/Imq\nMvm7+06gDzALWApMcfflZtbbzHrF2swA3jOz1cAjwHWxx18HngTeBN4CDBiXil8kGS68EPbaK3yz\ni4iUN2FCqAZ81llRR5K4vF7kVZEXXghVP5cvD18EIiIAW7aEkjDTpsHJJ0cdTaDyDknUtSsceSSM\nHx91JCKSScaMgYKCzEn8iVLPvwILFsAFF4QFHNlWr0NEku+zz0Kv/8UX4eijo45mN/X8k6xDh7Aj\nzwMPRB2JiGSCu+4K1wQzKfEnSj3/PXj3XejYEZYtC3v/ikh+WrMGTjwxlG4+7LCoo/mmRHr+Sv6V\n+NWvwvz/MWOijkREotKzZ9jx7447oo7k25T8U2T9+rDZ+6uvQqtWUUcjIum2aFFY9LlqVWbu0qUx\n/xRp1ChszTZ4cNSRiEgUBg4Mm7VkYuJPlHr+VdiyBY46Kiz8OvXUqKMRkXSZPRuuuy5c98vUNT/q\n+adQvXowbFg4A8jA7yYRSYGdO8O/+REjMjfxJ0rJPw49e8LWrfDEE1FHIiLpMGECHHBAmN6ZqzTs\nE6c5c+Dqq8MpYDZu2SYi8dm0KSzomj49rPnJZBr2SYMzzgglnx9+OOpIRCSV7r0Xzjwz8xN/otTz\nr4Z33oFOnULRt0aNoo5GRJLtww/h+OPDFM/DD486mqppnn8a9e0bLvxq4ZdI7rn8cmjSJOztkQ2U\n/NNow4ZQ32POHGjXLupoRCRZXn89XOBdsSJ75vVrzD+NDjww7ORz442a+imSK9yhX7/Q48+WxJ8o\nJf8auPbaMDb41FNRRyIiyfDYY6GOV8+eUUeSPhr2qaHnnoM+fWDJEth776ijEZGa2rw51PCaOhW+\n//2oo6keDftE4JxzQtkHTf0UyW4jRkDnztmX+BOlnn8CVq4MfzBLlsAhh0QdjYhU1/vvh/n8b76Z\nHVM7y9Nsnwjdcgt88glMnBh1JCJSXRddFDZq+fWvo46kZpT8I/Tll2Hq5xNPqOqnSDaZPRuuuQaW\nLs3eki0a849Q/fphzLBv31AJUEQy37ZtcMMN8OCD2Zv4ExVX8jezIjNbYWYrzWzgHtqMNrNVZrbI\nzNqXebyBmT1hZsvNbKmZdUxW8Jnikktg331h/PioIxGReIweDUccAT/8YdSRRKfKYR8zqwWsBM4E\n/gXMB7q7+4oybc4F+rj7+bHk/pC7F8SemwjMdfcJZlYHqOfuX1TwOVk57LPLokVhBtDy5dCwYdTR\niMiefPxxKNKYC9uzpnrY5xRglbuvcfftwBSgW7k23YBJAO7+GtDAzA42s/2Bzu4+IfbcjooSfy5o\n3x4uvhhuuy3qSESkMgMGQK9e2Z/4ExVP8m8MrC1z/8PYY5W1+Sj22BHAejObYGZvmNk4M9s3kYAz\n2fDh8Le/hRohIpJ5XngBXn45e2f3JFOdNLz/icD17r7AzB4EBgFDK2pcXFz89c+FhYUUFhamOLzk\nOuCAUAv82mvDF0Dt2lFHJCK7bNsW9uQdPTpsz5qNSkpKKCkpScp7xTPmXwAUu3tR7P4gwN19RJk2\nY4E57j41dn8F0CX29KvufmTs8U7AQHf/UQWfk9Vj/ru4h41fLr4Yrr8+6mhEZJe774ZXXsmtmlyp\nHvOfD7Q0s2ZmVhfoDkwv12Y60DMWTAGw0d3Xufs6YK2ZtY61OxNYVpNAs4UZ/Pa3UFwM//531NGI\nCMCaNTByZOj1SxDXIi8zKwIeInxZjHf3e8ysN+EMYFyszRigCNgMXOnub8QePx54FNgL+Gfsuc8r\n+Iyc6PnvMnBgqPw5eXLUkYjkN3f48Y/h5JNzb6xfK3wz0ObNYbOX3/8ezj476mhE8te0aTB4cJiO\nnWsVeJX8M9SMGWEV4eLFYRGYiKTXF1+ETtjkyXD66VFHk3xK/hnsZz8L84mzZU9QkVxyww2wZQs8\n+mjUkaSGkn8G+/hjOO64sOfvMcdEHY1I/nj9dejWLRRuy9VV9yrslsEOPRSGDYPevaG0NOpoRPLD\njh3h39zIkbmb+BOl5J8GvXqF/44dG20cIvli5Ej43vegR4+oI8lcGvZJk+XLwwWnhQuhadOooxHJ\nXStXwmmnwfz50Lx51NGkloZ9ssDRR0O/fmHziBz+jhOJVGkp/OIXMGRI7if+RCn5p9Ett4SFX489\nFnUkIrlp3DjYvl2lVeKhYZ80mz8ffvSjMPf/oIOijkYkd3z4IZxwAsydC23bRh1NemiqZ5a5+Wb4\n4AOYOjXqSERygzucf37YR3vIkKijSR+N+WeZO+6At96CJ5+MOhKR3DBxYiikOGhQ1JFkD/X8I/Lq\nq3DRRfD22xr+EUnEruGe558PCyrziYZ9stSAAbB2rYZ/RGpq13BPQQH85jdRR5N+GvbJUsOGhUqD\nGv4RqZmJE0MJlVtvjTqS7KOef8RefRUuvDBcAzj44KijEckea9ZAhw7w97/D8cdHHU00NOyT5QYP\nhiVLwubvVqP/jSL5pbQUzjoLfvCD/L7Iq2GfLFdcHKZ+TpgQdSQi2WH0aPjqqzBtWmpGPf8MsXgx\ndO0aytAecUTU0YhkrmXLQp2sefOgZcuoo4mWev454NhjQ/mHK66AnTujjkYkM23fDj17hs2R8j3x\nJ0rJP4P07x+mrt1/f9SRiGSm4uJQqnlXmXSpOQ37ZJg1a+Dkk2HmTDjppKijEckcL74IP/95mB6t\nmXGBhn1ySLNm4WLWJZfA5s1RRyOSGTZuhMsuC3vxKvEnh3r+GapnT9h3X3jkkagjEYmWe9iRq1Ej\nGDMm6mgyS8p7/mZWZGYrzGylmQ3cQ5vRZrbKzBaZWftyz9UyszfMbHpNgsxHY8bA7NkwbVrUkYhE\n6//+L8yGu+++qCPJLVUmfzOrBYwBzgHaAT3MrE25NucCLdy9FdAbKL9bbT9gWVIizhP77x82fend\nO1wHEMlH77wDN90Ejz8ezoQleeLp+Z8CrHL3Ne6+HZgCdCvXphswCcDdXwMamNnBAGbWBDgPeDRp\nUeeJgoJQ/K1HjzDFTSSfbN0aLvAOG5Z/1TrTIZ7k3xhYW+b+h7HHKmvzUZk2o4CbAQ3o18CAAeEs\nYOjQqCMRSa+bb4ZWrcLZryRfnVS+uZmdD6xz90VmVghUemGiuLj4658LCwspLCxMZXhZoVYtmDQp\n1Cs/4ww4++yoIxJJvWnT4Omn4c03Ve+qrJKSEkpKSpLyXlXO9jGzAqDY3Yti9wcB7u4jyrQZC8xx\n96mx+yuALoSx/v8BdgD7AvWBv7h7zwo+R7N9KvHCC3DppbBwIRx2WNTRiKTOe++FIc/p06Fjx6ij\nyWypnu0zH2hpZs3MrC7QHSg/a2c60DMWTAGw0d3Xuftgd2/q7kfGXvdCRYlfqta1K1x3HXTvDjt2\nRB2NSGps3Qo//WmodKvEn1pVJn933wn0AWYBS4Ep7r7czHqbWa9YmxnAe2a2GngEuC6FMeet226D\nevXCf0Vy0Y03hsKGN9wQdSS5T4u8ssz69aHsw8MPwwUXRB2NSPJMngy33w4LFoRJDlI1beaSZ+bN\ng27d4JVXoEWLqKMRSdzSpVBYmN+7ctWEavvkmYICGDIkbP+o+j+S7TZuhB//GEaOVOJPJ/X8s5R7\nqP2/bVtYCazpcJKNSkvDWWzz5mEoU6pHPf88ZAZjx8LKlTBqVNTRiNTMHXeEnv8DD0QdSf5J6SIv\nSa1994W//CVMiWvfPkwHFckWTz0F48fD/Pmw115RR5N/1PPPcs2ahWGfSy6Bd9+NOhqR+CxdCldf\nDU88AYccEnU0+UnJPwd07RouAF9wAXzxRdTRiFRuw4bwtzpyZJi8INHQBd8c4Q7XXgsffQR//SvU\nrh11RCLftn07nHMOdOgA994bdTTZT/P8BQgzf37wg9CbuueeqKMR+SZ36NMH3n8/1O1RByVxiSR/\nXfDNIXXrwpNPhuTfujVcdVXUEYnsNno0lJSExYlK/NFT8s8xjRqFUrhduoSLwWeeGXVEIqGnP2JE\nSPwNGkQdjYCGfXJWSQn87Gcwdy4cfXTU0Ug+W7gQiorgmWfglFOijia3aJGXfEthYdjw+vzzYd26\nqKORfLV2bVjBO3asEn+mUfLPYZdfDj17hi+ATZuijkbyzaefhh7/jTfCT34SdTRSnoZ9cpw79OoV\nemBPPaWVlJIe//1vmHl28skq3ZBKmuopldqxI1QAbdgQJk5UEThJrZ07w/WmunVDjf5aGl9IGY35\nS6Xq1IGpU+Gdd2DQoKijkVzmDn37wmefhY6GEn/m0lTPPFGvXphtcfrp4Qxg4MCoI5Jc9Otfw+uv\nwwsvwN57Rx2NVEbJP48ceCDMmgWdO8MBB0Dv3lFHJLnk/vtDldl//EPbMGYDJf8807gxzJ4dzgAa\nNIDu3aOOSHLBo4/Cb38bEn+jRlFHI/FQ8s9DLVrAs8/C2WeHU/MLL4w6Islmf/wjDB0aFhY2aRJ1\nNBIvJf88deyxMGMGnHtumP75wx9GHZFko6lT4ZZbwsbrrVpFHY1Uh67F57ETTwxz/6+6Cp57Lupo\nJNtMmwb9+oW/nbZto45Gqiuu5G9mRWa2wsxWmlmF80TMbLSZrTKzRWbWPvZYEzN7wcyWmtliM7sh\nmcFL4k45JdT/v+yycC1AJB5//Stccw3MnBnOIiX7VJn8zawWMAY4B2gH9DCzNuXanAu0cPdWQG9g\nbOypHUB/d28HnApcX/61Er3vfz/04i69NAwFiVTmiSdC4p8xA044IepopKbi6fmfAqxy9zXuvh2Y\nAnQr16YbMAnA3V8DGpjZwe7+b3dfFHt8E7AcaJy06CVpTjstlN294gr429+ijkYy1eTJcMMNYajn\npJOijkYSEU/ybwysLXP/Q76dwMu3+ah8GzNrDrQHXqtukJIeBQXhNL53b/jTn6KORjLNhAlw883h\n4u7xx0cdjSQqLbN9zGw/4EmgX+wMoELFxcVf/1xYWEhhYWHKY5NvOumk0Ks77zz4/HP45S+jjkgy\nwahR8OCDYeVuGw3cRqakpISSkpKkvFeVhd3MrAAodvei2P1BgLv7iDJtxgJz3H1q7P4KoIu7rzOz\nOsDTwEx3f6iSz1FhtwyyalWoynjNNSoFkc/cYciQMM4/ezY0bRp1RFJWqgu7zQdamlkzM6sLdAem\nl2szHegZC6YA2Ojuu7YQ+QOwrLLEL5mnVSt46SWYNCnM49b3cv7ZuTNsuD5zZli5q8SfW+Iq6Wxm\nRcBDhC+L8e5+j5n1JpwBjIu1GQMUAZuBK9z9TTM7DXgRWAx47DbY3Z+t4DPU889AGzaEBWAtWsAf\n/hDK9Eru++9/w+yvjRvDTDDtu5uZVM9fUmrLlpAIvvgiFO5SIsht69fDBRfAkUfqCz/TqZ6/pFS9\nevDkk2EVZ+fOYVcwyU2rV4d1H4WFYchPiT93KflLXGrXhtGjwzqAggKYNy/qiCTZ5syBTp3gppvg\nrru0EUuu07CPVNszz8CVV4bpf5deGnU0kgzjxoVZPY8/Dl27Rh2NxEtj/pJ2S5fCj34U9mq9885w\nZiDZZ/v20NOfNSsU+VNlzuyiMX9Ju3btwnZ9CxZAUVG4SCjZ5eOP4Ywz4L33wjCeEn9+UfKXGmvU\nKGwKc9JJ0KFD+CKQ7PDSS+H/2Q9+EGo5HXBA1BFJumnYR5LiL38Jq4GHDAkLg6xGJ6KSaqWlYa/d\nkSNh4sSwmY9kL435S0ZYvTrsCXz44TB+PDRsGHVEUtYnn0DPnrBpEzz2mFbs5gKN+UtGaNkSXn4Z\nmjcPdd5ffDHqiGSX2bPDzm0nnRT22lXiF/X8JSWeeSZUBP2f/4Fhw8JG8ZJ+W7aE2kzTp4eSzGee\nGXVEkkzq+UvGOf98eOutMBTUoQMsWhR1RPnntdfCGdjGjfD220r88k1K/pIyBx0Ef/4zDBgQZpXc\ndhts3Rp1VLlv82bo3x+6dQtnXX/8o2bzyLcp+UtKmcHll4ezgHfeCTtAzZ0bdVS5a9YsOOYY+M9/\nYMmSsAhPpCIa85e0mjYN+vYNQxAjRsAhh0QdUW5Yuzas1J0/H373u7DwTnKfxvwla1x4ISxfHpL+\nMceE+kDbt0cdVfb66iu4++4wtt+2bSi7ocQv8VDyl7SrXz/0+l96KawQPuaYcEagE7/4lZaGImxt\n2oTSDK+/DsXFofy2SDw07CORmzULbr4Z9tsvfCl06hR1RJnLPWyiPnBguJ5y332h9r7kJ63wlay3\nc2eYlVJcHAqMDR0Kp50WdVSZwz0sziouDgXZ7rgjXMxVzf38puQvOWPbtrCD1J13hhXDAweGi8P5\nWiuotDQMjd1zD/z736F2Uo8eUKdO1JFJJlDyl5yzbRtMnhyKkO21V5jJ8vOf58+2glu3ht9/5Miw\nOnrAgPCMvrE7AAAF6UlEQVT7K+lLWUr+krPcQ8/3/vvDTJYrrwxlI448MurIUmPlSnjkkXD206FD\nSPpdu+bvmY9UTlM9JWeZhbLDzz8fxry/+go6dgwrhidNgi+/jDrCxG3cGKqgnnEGdO4cznTmzYOZ\nM/N7yEtSK66ev5kVAQ8SvizGu/uICtqMBs4FNgNXuPuieF8ba6eev8Rl69awAcnkyaFyaFERXHRR\n+O/++0cdXXw2boQZM0L5i7//Hc46K+yHfP75KoIn8Utpz9/MagFjgHOAdkAPM2tTrs25QAt3bwX0\nBsbG+1r5tpKSkqhDyAh7Og777BPGv6dPD4XjzjgjbEzSpEk4Sxg9OgwRZVJforQ0lLgYNQrOPjuU\nVH78cTjvPHj//fAlcNFFe078+pvYTcciOeIZ9jkFWOXua9x9OzAF6FauTTdgEoC7vwY0MLOD43yt\nlKM/7iCe49CoEfTuHXrRH30EV10FixeHzeUPOyzMjHnwQXj11fQWlduyJSxiGzkyTMk85BD46U9D\nfaPrrgvTNZ96Cq6+Gr773arfT38Tu+lYJEc8cwcaA2vL3P+QkNSratM4zteKJEX9+nDxxeEGYWPy\nuXNDaeNJk2DFCjjiiLD5fNu2YT1B06bQrFn4oqjuTJrt28MXzgcfwJo1sGoVLFsWzjrWrAmf07Fj\n+CK6/35toCKZJVUTx3SJSiJ3xBHhdsUV4f7WraHnvXRpuD39dEjSH3wQ5tDXrx+2nmzYEPbdN0wr\nrVs3DB9t2xZu//0vfPppuG3aBIceGr48mjaFFi1C737oUGjdWmP3ktmqvOBrZgVAsbsXxe4PArzs\nhVszGwvMcfepsfsrgC7AEVW9tsx7ZNAIrYhIdqjpBd94ev7zgZZm1gz4GOgO9CjXZjpwPTA19mWx\n0d3Xmdn6OF6b0C8gIiLVV2Xyd/edZtYHmMXu6ZrLzax3eNrHufsMMzvPzFYTpnpeWdlrU/bbiIhI\nXDJmha+IiKRPWlf4mlmRma0ws5VmNnAPbUab2SozW2Rm7dMZXzpVdSzM7BIzeyt2e8nMjo0iznSI\n5+8i1u5kM9tuZhelM750ivPfSKGZvWlmS8xsTrpjTJc4/o3sb2bTY7lisZldEUGYaWFm481snZm9\nXUmb6uVOd0/LjfBFsxpoBuwFLALalGtzLvBM7OeOwLx0xZfOW5zHogBoEPu5KJ+PRZl2zwNPAxdF\nHXeEfxcNgKVA49j9RlHHHeGxuBW4e9dxADYAdaKOPUXHoxPQHnh7D89XO3ems+efyGKxXFPlsXD3\nee7+eezuPMKaiVwU70LAvsCTwCfpDC7N4jkWlwB/dvePANx9fZpjTJd4joUD9WM/1wc2uPuONMaY\nNu7+EvBZJU2qnTvTmfz3tBCssjYfVdAmF8RzLMr6BTAzpRFFp8pjYWaHAT9299+R22tI4vm7aA00\nNLM5ZjbfzC5LW3TpFc+xGAO0NbN/AW8B/dIUWyaqdu5UdfAMZ2ZnEGZP5fPmhg8CZcd8c/kLoCp1\ngBOBrsB3gFfN7FV3Xx1tWJE4B3jT3buaWQtgtpkd5+6bog4sG6Qz+X8ElF3g3iT2WPk2h1fRJhfE\ncywws+OAcUCRu1d2ypfN4jkWHYApZmaEsd1zzWy7u09PU4zpEs+x+BBY7+5bga1m9iJwPGF8PJfE\ncyyuBO4GcPd3zew9oA2wIC0RZpZq5850Dvt8vVjMzOoSFnyV/8c7HegJX68s3uju69IYY7pUeSzM\nrCnwZ+Ayd383ghjTpcpj4e5Hxm5HEMb9r8vBxA/x/Rv5G9DJzGqbWT3Cxb1cXDsTz7FYA5wFEBvf\nbg38M61Rppex57PeaufOtPX8PYHFYrkmnmMBDAEaAv8v1uPd7u45VxQvzmPxjZekPcg0ifPfyAoz\new54G9gJjHP3ZRGGnRJx/l0MByaWmf54i7t/GlHIKWVmjwGFwIFm9gEwFKhLArlTi7xERPKQtnEU\nEclDSv4iInlIyV9EJA8p+YuI5CElfxGRPKTkLyKSh5T8RUTykJK/iEge+v8YUh1+SkI4lQAAAABJ\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define the potential in the square well\n", "def square_well_and_QHO_potential(x,V,a):\n", " \"\"\"QHO Potential for a particle in a square well, expecting two arrays: x, V(x), and potential height, a\"\"\"\n", " # Note that we offset x so that the QHO well is centred on the square well\n", " for i in range(x.size):\n", " V[i] = 0.5*a*(x[i]-0.5)**2 \n", " # Plot to ensure that we know what we're getting\n", " pl.plot(x,V)\n", " \n", "omega = 1.0\n", "omega_2 = omega**2\n", "Potential_with_QHO = np.linspace(0.0,width,num_x_points)\n", "potential_bump = square_well_and_QHO_potential(x,Potential_with_QHO,omega_2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have the potential defined, we will make matrix elements (again, outputting the potential matrix so that we can think about the perturbation this gives), diagonalise and output the first few eigenvalues and eigenvectors. We'll compare these to two limits: the full QHO solution; and the square well solution.\n", "\n", "Note that we have defined $\\hbar = m_e = 1$, so the QHO eigenenergies are just:\n", "\n", "$$\n", "E_n = \\omega\\left(n+\\frac{1}{2}\\right)\n", "$$\n", "\n", "The contribution to the eigenenergies from the square well is just:\n", "\n", "$$\\hat{H} = -\\frac{1}{2} \\frac{d^{2}}{dx^{2}}$$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Full Hamiltonian\n", " 4.951 -0.000 0.019 -0.000 0.004 0.000 0.001 -0.000 0.001 -0.000\n", " 0.000 19.775 -0.000 0.023 0.000 0.005 0.000 0.002 -0.000 0.001\n", " 0.019 0.000 44.452 -0.000 0.024 0.000 0.005 -0.000 0.002 0.000\n", " 0.000 0.023 0.000 78.997 0.000 0.024 -0.000 0.006 -0.000 0.002\n", " 0.004 0.000 0.024 0.000 123.411 -0.000 0.025 0.000 0.006 -0.000\n", " 0.000 0.005 0.000 0.024 -0.000 177.694 0.000 0.025 0.000 0.006\n", " 0.001 0.000 0.005 -0.000 0.025 0.000 241.846 -0.000 0.025 -0.000\n", " 0.000 0.002 -0.000 0.006 0.000 0.025 -0.000 315.869 -0.000 0.025\n", " 0.001 -0.000 0.002 -0.000 0.006 0.000 0.025 -0.000 399.760 -0.000\n", " -0.000 0.001 0.000 0.002 -0.000 0.006 -0.000 0.025 0.000 493.522\n", "Perturbation matrix elements:\n", " 0.016 -0.000 0.019 0.000 0.004 0.000 0.001 -0.000 0.001 0.000\n", " -0.000 0.035 -0.000 0.023 0.000 0.005 -0.000 0.002 -0.000 0.001\n", " 0.019 -0.000 0.039 -0.000 0.024 0.000 0.005 0.000 0.002 0.000\n", " 0.000 0.023 -0.000 0.040 -0.000 0.024 -0.000 0.006 -0.000 0.002\n", " 0.004 0.000 0.024 -0.000 0.041 -0.000 0.025 0.000 0.006 -0.000\n", " 0.000 0.005 0.000 0.024 -0.000 0.041 -0.000 0.025 -0.000 0.006\n", " 0.001 -0.000 0.005 -0.000 0.025 -0.000 0.041 -0.000 0.025 -0.000\n", " -0.000 0.002 0.000 0.006 0.000 0.025 -0.000 0.041 -0.000 0.025\n", " 0.001 -0.000 0.002 -0.000 0.006 -0.000 0.025 -0.000 0.041 -0.000\n", " 0.000 0.001 0.000 0.002 -0.000 0.006 -0.000 0.025 -0.000 0.041\n", "\n", "Eigenvalues and eigenvector coefficients printed roughly\n", "[ 4.9511 19.7745 44.4521 78.9969 123.4107 177.6938 241.8465\n", " 315.8686 399.7603 493.5216]\n", "[ 1.0000e+00 4.9433e-17 4.8092e-04 -2.2455e-17 2.9745e-05\n", " 2.3690e-17 -5.2026e-06 -1.6900e-17 -1.4445e-06 -5.6894e-17]\n", "[ 4.9440e-17 -1.0000e+00 0.0000e+00 3.8017e-04 -2.2204e-16\n", " 3.0108e-05 5.5511e-17 6.0876e-06 2.3592e-16 1.8574e-06]\n", "[ -4.8092e-04 -1.1102e-16 1.0000e+00 9.6711e-17 3.0075e-04\n", " 1.2229e-16 -2.6972e-05 -1.1600e-16 -5.9446e-06 2.5646e-16]\n", "\n", " QHO Square Perfect QHO Difference Perfect Square Difference\n", " 4.951 0.500 4.451 4.935 0.016\n", " 19.775 1.500 18.275 19.739 0.035\n", " 44.452 2.500 41.952 44.413 0.039\n", " 78.997 3.500 75.497 78.957 0.040\n", " 123.411 4.500 118.911 123.370 0.041\n", " 177.694 5.500 172.194 177.653 0.041\n", " 241.846 6.500 235.346 241.805 0.041\n", " 315.869 7.500 308.369 315.827 0.041\n", " 399.760 8.500 391.260 399.719 0.041\n", " 493.522 9.500 484.022 493.480 0.041\n" ] } ], "source": [ "# Declare space for the matrix elements\n", "H_matrix = np.eye(num_basis)\n", "\n", "# Loop over basis functions phi_n (the bra in the matrix element)\n", "print \"Full Hamiltonian\"\n", "for n in range(num_basis):\n", " # Loop over basis functions phi_m (the ket in the matrix element)\n", " for m in range(num_basis):\n", " # Act with H on phi_m and store in H_phi_m\n", " H_phi_m = -0.5*second_derivative_basis_functions_array[m] \n", " add_potential_on_basis(H_phi_m,Potential_with_QHO,basis_functions_array[m])\n", " # Create matrix element by integrating\n", " H_matrix[m,n] = integrate_functions(basis_functions_array[n],H_phi_m,dx)\n", " # The comma at the end prints without a new line; the %8.3f formats the number\n", " print \"%8.3f\" % H_matrix[m,n],\n", " # This print puts in a new line when we have finished looping over m\n", " print\n", " \n", "print \"Perturbation matrix elements:\"\n", "# Output the matrix elements of the potential to see how large the perturbation is\n", "# Loop over basis functions phi_n (the bra in the matrix element)\n", "for n in range(num_basis):\n", " # Loop over basis functions phi_m (the ket in the matrix element)\n", " for m in range(num_basis):\n", " # Act with H on phi_m and store in H_phi_m\n", " H_phi_m = np.zeros(num_x_points)\n", " add_potential_on_basis(H_phi_m,Potential_with_QHO,basis_functions_array[m])\n", " # Create matrix element by integrating\n", " H_mn = integrate_functions(basis_functions_array[n],H_phi_m,dx)\n", " # The comma at the end prints without a new line; the %8.3f formats the number\n", " print \"%8.3f\" % H_mn,\n", " # This print puts in a new line when we have finished looping over m\n", " print\n", " \n", "# Solve using linalg module of numpy (which we've imported as la above)\n", "eigenvalues, eigenvectors = la.eigh(H_matrix)\n", "# This call above does the entire solution for the eigenvalues and eigenvectors !\n", "# Print results roughly, though apply precision of 4 to the printing\n", "print\n", "print \"Eigenvalues and eigenvector coefficients printed roughly\"\n", "np.set_printoptions(precision=4)\n", "print eigenvalues\n", "print eigenvectors[0]\n", "print eigenvectors[1]\n", "print eigenvectors[2]\n", "print\n", "\n", "print \" QHO Square Perfect QHO Difference Perfect Square Difference\"\n", "for i in range(num_basis):\n", " n = i+1\n", " print \" %8.3f %8.3f %8.3f %8.3f %8.3f\" % (eigenvalues[i],omega*(i+0.5),eigenvalues[i] - omega*(i+0.5),n*n*np.pi*np.pi/2.0,eigenvalues[i] - n*n*np.pi*np.pi/2.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice how the eigenvalues are almost the same as for the square well. More interestingly, the change in the eigenvalues is given by the diagonal elements of the matrix of the potential - which is exactly what we would expect from first order perturbation theory. You could explore how well this holds, by gradually increasing the size of the potential - we will try larger values below (and we could also code second order changes in the energy for greater accuracy, but we won't for now).\n", "\n", "Now we will plot the eigenvectors, and the difference between the eigenvectors with this small perturbation, and the unperturbed eigenvectors (the basis functions)." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsYAAADSCAYAAABJsAYRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4FFUXh38XELAgQkJCD02qFEE6ahBFQZqgqCBFpShI\nURBQPhFBEEKH0KT3ovQioBBAQEILHUJvCSQhvZed8/1xJrCE3WR3s7Ozm9z3eeZJdmfm3jOzM2fO\n3HuKICJIJBKJRCKRSCS5nTx6CyCRSCQSiUQikTgD0jCWSCQSiUQikUggDWOJRCKRSCQSiQSANIwl\nEolEIpFIJBIA0jCWSCQSiUQikUgASMNYIpFIJBKJRCIBIA1juyCE6CKE2KW3HK6AEOIDIcQdIUSM\nEKK23vJogRCihxDiXzu15SWEUIQQ8l6V5AiEEHOFECONPn8thHig6oQiQoimQogr6ud2esqaUxBC\neAghDgohooUQk/SWJyeSUe+reruCDe1Ie0Jn5MPWQoQQt4QQCaqyjlX/zgQAIlpNRO/pLaMt2NOI\ns5BJAPoR0YtEdMaB/VqEEMJPCPGFHZqyZ4JwhyUbt1WZSyTAE3oyWggRIYQ4JIToK4QQ6dsQ0ddE\nNE7dPh+AKQDeVnVCJIBfAMxUP2/V50iyhxBiiRBijN5yGNEHQCgRFSai721txAmPy9kgM/9b3oC0\nJ3Qnn94CuBAE4H0i8tNbEDsjkA3DSwiRl4gMVuziBeCijX3lISLFln0tbd8ObeS1hyw6Iiv+SLLD\nIz0phCgE4E0AMwE0BGDqhbM4gAIALhl9lx0dYa0+yvGoLyU2n1NXw4muAZH1JjkOR9sT2kBEcrFg\nAXATwFtm1vUA8K/R55YALgOIBDAbwH4AXxit/wKspMIB/AWgrNE6BUBfAFcARADwVb/Pr7ZX3Whb\ndwAJANzVz20ABKjbHQJQ02jb0gA2AAgFEAZ+WFUFkAggFUAsgAh12xcBLFe3vQlgZIZjPQRgKoCH\nAMYAqKgeY5S6zxoT5yi/2ocBQByAq+r31QD4qTKfA9DWaJ8lAOYA2KHu+9T5V/cdD8AfQDSATQBe\nMlrfCMBhtf0AAG9m2PdX9XjiAawAkKae0xj1HHmpv0meDPt9kcn5SP9ulnpOLhrLrp7fhQCCAdwF\nMBaAUNflATBZ/Y2uAeinnrM8GY9d3X44gHuqvJcANAfgqR5PEaPt6qq/TV5zvxeAA+qxxqntfWTB\ndXUTwFAAZ9TfaAEADwA71Tb2ACis9/0rF8csMKEnAdRXr+Hq6ucl6n3ysnqtGdRr5R/1mjcY3YPP\nZHG/PHX/qd9brWON1vdW940BcB5AHfX7EgD+VO+Z6wAGmDkHvQGkAEhS29iifm9W15low556bbkq\nT7Iqz1tgA2aEer7DAKzN0H4zo/ZvA+hu7rhMyD4NQIgq9xmj370ogK3q90fVa+BfdV1WerYCgL3q\nbxwKYCWAFzNcd8PU/hLBetTS36scgEijzwsAhBh9Xg5goPp/VtfiwQzXWQUzfWbVjrQnMrEnNNdj\nju7QVRdkbRgfNLq4ogG0V2/OgWCFlH6Dt1cv0srq+h8BHM5wIW8FUAhAGfXCaKmuWwhgrNG2/QDs\nVP9/FayMXgMrvW6qzM+o/ZwGG1wF1ZuiSUbZjdpdDlbEz4EVViCAz422T1X7zqO2txrAD+r6R22b\nOVcKgPLq//kAXAUbd/nARl0MgJfV9UvUm7JRetsm2vMDK5ZqAJ4FK8IV6rpS6s32rvq5hfrZzWjf\nW+oNnUeV4ZEyVrfxQgbDFE8bxsbno4DRdwPBhmhn8E3+krrPJrDBX1C9Xo4C6K2u+wqs5EoCeAnA\nvoz9G8lRGcAdAJ7q57JG53Y7gL5G204FMF393+zvZfz7ZHVdGd0XR9TjKKFuewJALbXtvQB+0vv+\nlYtjFpjRk2Djqq/6/xI8NmDT7y+RoY3mRp8zu19M3X/Z0bEfgfVJXfVzBXUboV7XI9V7uhzYqHzH\nzHl4dIzq50x1nYn97anX8pqQZ5B635YAPyPmAlht9JvEgPVWXgBFANQydVwm5G4J4DiAQurnKnis\nn9aqS0EANcAv9AeN+sxMz1ZUjzMfADew4TQ1wzVzCqw3C9jwe90C8Kr6/2V12ypG12768Wd1LVpq\nGFvUDqQ9kak9oZkec3SHrrqoF0UM+K0rUv37pYkLuZvxhal+d8foQt6ZflGon/OA3+rLGF3IjY3W\nrwMwTP2/BYBrRusOAeiq/j8HwC8Z+r0M4HXw6EIITBtXGW/mPOqNV8Xouz4A9hltfytDG8sAzANQ\nyoLz+EhZgEclgjOsXw1glPr/EgBLs2jPD8B4o8/VwCMaAjyCsCzD9rsAdDPad7SJ9qw1jDOejx4A\n7mX4zh9AV/BoahKAAkbrPgGwV/1/L4A+Ruveydi/0bqKAB6o10W+DOs6Azhk9JveB1Avq98LGZR5\nZteV0X3xqdG6PwHMNvr8DYCNet23cnHsAvOG8X94/LAzZRjnMdVGJvdLZvooOzp2F0yMLAJoYKKf\nEQAWmTkPGQ3RTHWdif3trdcyynMRT758lACPBudRj2uDJcdlYn1zVT80xJMvO3nU9l82+m4cLDSM\nTfTTHsDJDNdMj2z8XssBDAbPtl0GMAH83CuHxyOfnhZci1kaxhZe09KesMCe0GqRwXfW0Z6IihJR\nEfXvIhPblAS/6Rtzz+h/LwAz1MCUCPD0B4FHAdIJMfo/AcAL6v9+AJ4VQtQXQngBqA1gs1G7Q9Lb\nFUJEgqc7SoLfFG+TZf657uC38jtG393OIF/G4/sefAMcE0KcE0J8bkE/gOlzlVVfpjDe5jb4rdYd\nfE46ZzgnTcF+jda0b03/6QRl+HwbfLxeqnz3jWSaB6CYul3Gc3LbXKdEdB2szEcDCBFCrBZClFBX\nbwFQTb1OWgKIIqKT6jprfq/Mrqt0jK/XRBOfX4Akt1MKPJhgLebuF3ejbTLef9nRsWXA0+6m5CiV\n4T74AWzkWIIlui4jWuo1LwCbjM7RRfDInSfMn4MsIY7B8QVP+YcIIeYJIV4A67e8ePJZaFa3ZUTN\nqrFGCHFPCBEFdqVwz7BZxuesNb/XAbBR/4b6/34A3mAf+fRgsrLI+lq0BEuu6XSkPWG5PWE3ZPCd\ndVjiTH8fQMYUQ6WN/r8L4FciWmNt50SkCCHWA+gCvti3E1G8UbvjiOi3p4QWohGAsmaC1yjD54dg\nBekFfkOE+n+QuX2IKBT8FgghRFMA/wghDhDRjSwOKRh8kxlTFjzVYk4+Uxi34aXK/xB8TpYTUd9M\n9s3YfsbP6ef3ObA/JPDkA8icjBkfeGXBxupd8GiBG6mvxxm4j6ePxyxEtBbAWvXh8zt4pKMHESWr\n10o38JTqCqN9rPm9zF5XEoklCCHqgx+otkSrZ3W/AE/ff3dgo45V+6to5vsbRFTFwnYyymSJrsuI\nPfVaRtJHHf/LuEIIcRc84mpLuyAiXwC+Qgh3AH+ADZ1fwCPCZcBT/wAffzpZ6dnx4NHPGkQULYRo\nD47hMCebtb/XAXDGpLvq/4cBzAdfeweM2szqWrQEa9qR9oTl9oTdkCPG9mcHgFeEEO2EEHmFEN+A\n38LTmQfgRyFEdQAQQhQWQnxoRftrAHwMvphXG32/AMBXQogGarvPCyFaCyGeB3AMfINNEEI8J4Qo\nIIRoou4XAqC0EOIZgG8WAOsBjBNCvKC+SX4LI8MqI0KID4UQ6YZgFFiBWfI26Q8gQQgxTAiRTwjh\nDXb4t/Ym/0wIUVUI8RxYAf+hKpyVANoKIVoKIfIIIQoKId4UQpTMpK0QsF8hAICIHoJv4s/UNr6A\n6QdnRjyFEAPU4/oIbJzuJKIH4IC0aUKIQoKpIIR4Q91vPYCBQohSQogiYJ9EkwghKgshmgsh8oOn\nKRPx5HlfAaAngLYw+v2y+L0eGB8/Mr+uJBKzqNd3+v28gojMZUUwO+Bgwf1iivmwXccuBDBUCFFX\n3beiEKIMWIfGqrqqoKrbawghXjPTzhN6BOZ13dpMZLGnXsvIfADjhRBl1eMsJh7njF4FoIWqJ/IK\nIYqKxznnMx7XEwghXhNCNBCchi8RbAAq6nNlI4DRQohn1d+mR/p+FujZQmCDOVbVXVmlnLPq9yKi\na6q8nwE4QESx6rF2hGoY23gtmurLmnakPWG5PWE3pGFsHdsE5y9OXzZk3ICIwsEBHJPAb0tVwUEA\nyer6zeBRvbWCp4TOAjDOWZjpCCYRHQO/XZcAR6Cmf38SHDXsK3hK5QpUxaNenG3BUeB3wG+DndVd\n9wG4AOCBECJU/W4geMrlBoCDAFYS0ZJMzkt9AP5CiBjwVMxAIrplZttHx0NEqapcrcHnyhfsJ3fV\nzLkwxwqwX1Iw2Fl/kNr+PbAv2o/gyNnb4AwK6de9qfZnAPhICBEuhJiuftcH7Nf3EOzrd9gCmY6C\nz/dDcMRxJ+IcrQBHeOcHT19GgEdV0kdHFgDYDY6uPgGO/DVHAfC1FKYeezHwdCEfHNERsEI5RUTG\n01WZ/V6jASwXPH32YWbXVXo3GWTKzkiKJGewTQgRDdY1P4CDdDLLDZ7VNZTZ/fJ0Y9nQsUT0J9j3\ndbV6f2wCUFTVoW0A1AH7s4aC79UXzYixCEAN9T7amImuu2Jmf8C+ei3jdzPAM1h71N/qCNRRYlVX\ntFbbjABnJqhl6rhM9PMi+LxEgM/TQ/CzEOB4g0Jgo2qxuhjTG+b17C8A6oENpW14Wi9mfE5a+3sB\nbAA/JKIgo88AB/WlY821mJkutKgdaU9kaU9oQnp6EIlGCCEE2CeoCxEdyGp7iXUIIfzAo1EZlawE\ngBBiL4BV8vw4N0KI9wBMBxs3i4hoooltZgJoBX6Q9SSi05ntq44cjQYbGfWJ6JRRWz+AjdU0AIOI\naI92Ryexltyg14QQPcAB7FaNuOZmpD3hGOSIsQaoU1yFhRAFwOliAB5BlEgchmDfzlfBkcgSJ0Vw\nYRlfAO+C01h9KoSommGbVgAqEtHL4Lyk8yzY9xyAD/B45Cu9rWrgEZ5qYEN7jvrAlUgkToa0JxyP\nNIy1oTE4qjcUwPvgbBbJ+oqUY5FTHiYQQiwF+7ENMgqokDgnDcAFb26rU+5rwVPlxrQHp5QCEfkD\nKCyE8MxsXyIKVN2SMhq97QGsJaI0dYryKswHW0n0Qeo1STrSnnAwMiuFBhDRL2CfKInGENFbesvg\njBBRT71lkFhMKTyZsugenjZUTW1TysJ9TfVnnI0gCJmnDZM4mNyg14hoGdiHWpIJ0p5wPNk2jIUQ\npcEjGZ7gQJ8FRDTTxHbyDVgikbgsRORM7gaayyJ1tkQicXVs0dv2cKVIA/AdEdUAD/n3z+gflw7p\nVMVEr+Xnn3/WXQZ5zPKY5fFmf9GYIDyZ07U0ni4QE4Qn89qmb2PJvqb6M9XWU+h93uW1LY9ZHrM8\nZlsXW8m2YUxED0iNjiaiOACXIKflJBKJxFKOA6gkhPASnJP6EwBbM2yzFZziKT3BfhQRhVi4L/Dk\nCPNWAJ8IIfILIcoDqATOTSqRSCS5Hrv6GAshyoHzBvrbs12JRCLJqRCRQU3cvwePU65dEkL05dX0\nOxHtVBPsXwOna/s8s30BQAjRAVwdzB3AdiHEaSJqRUQXBVe8Si8D3I+yM7wisR2DATh2DPDzA2Ji\ngORk/q5OHaBZM+DllwGZMMT1SE0FAgKAQ4eAGzeAAgV4KV4caN0aqFRJbwklmWA3w1hwSdo/wVHw\ncaa2GT169KP/vb294e3tba/unZKcfnymkMec88kNx7t//37s37/fYf0R0S4AVTJ8Nz/D528s3Vf9\nfjM4Qb6pfX4DIMt8Z8Bh1/b168CECcDWrYCHB/Duu4CbG1CwIKAowD//AKNHAykpwFdfAQMHAkWL\naiJKbrifM6LZMQcGAr/9BmzYAJQvzy83VauyoZyUBJw9y+tfegn4+GNgyBCgUCFtZMlAbvydbcUu\nBT7U8o/bAfxFRDPMbCMHJSQSiUsihAA5V/Cd5kidrQGxscD48cDvvwODBgHdurEBZY5Ll4BJk4At\nW4DevYGRIx1mSEms4OpV/m327wcGDAD69eMXHVMoCnDyJODryy9A48fzdZBHZs+1N7bqbXv9EosB\nXDRnFEskEolEkqs5fBioVg0ICuKRw1GjMjeKAd5+8WLg1CngwQPg1VeBo7K2g9NABCxcCDRpAtSr\nx24TP/1k3igG2ACuXx9YtgzYuBGYMwd44w3+fSVOQbZHjIUQTcH1r8+Bk5ITgB/V6T3j7eTog0Qi\ncUnkiLEkW6xZw+4Qy5axj6mtbNwIfP010L8/j1DmzWs/GSXWEREB9OrFxvDq1UD16ra1oyjA2LHA\n0qXA9u1AjRp2FTM3Y6vetosrhUUdSSUrkUhcFGkYS2yCCBg3DliwANi2DahVK/ttBgUBXboAnp7A\nihUc1CVxLHfuAC1bsm+4j499foNVq4BvvwVWruS2JdlGb1cKiUQikUgkxvz6K/Dnn+z+YA+jGABK\nlQJ27+aRxvffZ79lieO4eJGD6vr2BWbMsN+LSdeuHLT32WfsqyzRDWkYSyQSiURib5Ys4WXXLqBE\nCfu2XbAgsG4dULEi0Lw5EB5u3/Ylpjl2jM/3+PE8umtvXn+df9fOnYFz5+zfvsQipCuFRCKRZIF0\npZBYxV9/AZ9/Dhw4AFR5KpOe/SACvv+e8+Xu3Qs8/7x2feV2LlwA3nqLg+3attW2rzVrgOHDOWCz\nTJmst5eYRPoYSyQSiUZIw1hiMefPswG1ZQvQuLH2/REBX34J3L/PeZGfeUb7PnMbd+6w+8T48ezq\n4AgmTwaWL2c3nOeec0yfOQxpGEskEolGSMNYYhGJiZyKa+hQoGdPx/WblgZ06sQ5jpcvlzlx7cnD\nh+zi0LcvMHiw4/olYiO8UCFg3jzH9ZuDkIaxRCKRaIQ0jCUW0a8fEBXFGQYcXco5MZGzGXh7c/ov\nSfZJSQFatACaNuVKhY4mJoZzV0+aBHTs6Pj+XRxpGEskEolGSMNYkiWbNwPffQcEBACFC+sjQ2go\nj1hPmyYNKXvQvz9w9y7/tnqNwvv7A+3aASdOSH9jK5GGsUQikWiENIwlmRIczCN7W7YAjRrpK8vJ\nk0CrVsC+fcArr+griyuzcCEwZQobpi++qK8sv/3G2U38/KSbjBXIPMYSiUQikejB4MFA7976G8UA\nlyaeOhXo0AGIjNRbGtfk6FHgxx95pFhvoxgAhg0DUlOBRYv0liRXIEeMJRKJJAvkiLHELH/9BXzz\nDWejePZZvaV5zODBwO3bXEba0f7OrkxEBI/+z5rFLgzOwtmzwNtv83Xm4aG3NC6BdKWQSCQSjZCG\nscQkiYnsrjB7NvDee3pL8yTJyRw01rMnG+6SrCHikfaKFXnU3dkYOhQICwOWLdNbEpdAGsYSiUSi\nEdIwlpjkp5+AwEBg/Xq9JTHNtWucS3nPHh4FlWTOzJnAihVcWCN/fr2leZq4OKB6dU7J5+2ttzRO\njzSMJRKJRCOkYSx5isBAHpE9cwYoVUpvacyzZg3w888clFeokN7SOC+nTgHvvsv+xRUr6i2NeTZt\nYv/ns2dlMZcskMF3EolEIpE4ihEjuByzMxvFAPDpp1y17dtv9ZbEeUlIALp04RFjZzaKAXb1KFMG\nWLBAb0lyLHLEWCKRSLJAjhhLnuDwYTY4AwOdK+DOHLGxQJ067Dfbvr3e0jgfAwZw0N2qVXpLYhkB\nAUDr1sCVK3IWIBPkiLFEIpFIJFpDxOmzxo51DaMYeFwq+quvgJAQvaVxLnbv5vzTvr56S2I5r77K\nFfkmT9ZbkhyJHDGWSCSSLJAjxpJHbN4MjBrFo3Z58+otjXWMHMm+qVu3yhRuABAeDtSuzVkeWrTQ\nWxrruHWLc1ZfuAAUL663NE6JDL6TSCQSjZCGsQQAkJbG6dmmT3e+9GyWkJLCRUi+/poLkuR2PvmE\njcrp0/WWxDaGDGH/6Llz9ZbEKZGGsRZERXGkakAAv2VHR3NuyJQUvpkqVuTljTeA8uWtajoyMRJn\nQ87ieuR13Iu5h7vRdxGRFIGE1AQkpiZCIQXPPvMsns33LIo8WwSlC5VG6RdLo0KRCqjlWQueL3hq\ndNCOhwiIieEZvrAwXiIiuGhTVBSvi4sD4uNZByQl8c+QmgooCi9EXCkzb15eChYEChTgvy+8wEuh\nQsBLLwFFivDi7g4UK8a50t3dZaXNbBEZyeVKAwOB69eBO3d4RKpAAeC554CqVXn6r25dDhxxMaRh\nLAHAlcdWrQL27nXdEdfz54HmzYETJwAvL72l0Y/16zlbx6lTruMSk5HwcKBKFc6kUamS3tI4HdIw\nthdxcTxVtmoVcOQIUKsWP9Br1waKFmVLK18+4P59NgCuXOGa9O7uQNu2wOef84VqBBHhYthF+N3y\ng98tP5wIPoGIxAjU9KiJym6VUebFMij9Ymm4PeeG5555Ds898xwEBBLTEpGQmoCIxAgExQThXsw9\nXI24irMhZ/FM3mdQr0Q9eJfzRvNyzfFqiVeRL08+nU5a5hgMwL17fLquX+diTLdvs+0UFAQEB7Mx\n6+nJRmqxYoCb22MjtlChx8bts88+NnqfeYb3Szdo043k1FQ2nJOTOf9+fDwvMTFsaEdFseGdboSH\nhvI6T0+gZEmgbFl+Xnh5ARUq8LtP+fLcp8SIiAhg6VL2zwsIAF5/HahRg0+YlxcbDklJfE9dvMjb\nHD8OlC4NdO3KwUvOHtGvIg1jCVJTWbcvX85ZHlyZCROAv//mJTeOCISE8DN9yxagYUO9pckeP/8M\n3L0LLF6styROhzSMs0tkJDBlCjBnDtCkCT+427UDnn8+630VhR/4mzbxxdmkCQxDh+Df0gZsuLgB\nmy5vQv68+dG8XHM0L98cjUs3Rvki5ZFH2KaQiAjBscHwD/KH300/7L+9H/dj76NtlbboVK0T3qnw\nDgrkc7wVl5LC7wnnz/Ny+TIPIF67xoausZFZtiwvpUsDJUroH1ibnAw8eMAG/N27bLTfugXcuMHG\n/N27bDRXrcpLjRo8o1q9uv6yO5xbt4Bp0zgRftu2QOfOwFtvWTbqYjAABw/yi+emTZw3dPRooHJl\nraXOFtIwlmDpUjaK9+3TW5Lsk5bGxn23bkD//g7rNi6OBzkjIvj/l17i8SZ3dwcOPBABHTsC1aoB\n48c7qFMNiYgAXn6ZZwCsnLnO6UjD2FaSkzmyc9o0zg/400/Zml66FXQR5yZ+h9qr/sGtUs/j7Mje\neLtFL1R1r2pHoZ/mbvRdbLy0ERsubcCFsAvo8koX9K7XG7U8a2nSX2IicPo034unTvH/ly/zqXvl\nFTYcq1VjI/Llly17v3BmUlOBmzfZ0L90ieMd0o3/EiV4UqFOHeC113hxc9NbYg2IjwfGjAEWLgS+\n/BIYNCh7I76xscCsWXzvtWnDD6kSJewnrx2RhnEuJy2NldmiRcCbb+otjX1IL1Ci4TT8tWvAtm3c\nxbFjPFDr7s768bnn2Dsx3W2ucmUevG3ShMekihbVRCRg5UrAx4cHs3LKNOD//scnV+Y2fgJpGNvC\niRNcR75SJWDSJLbgbICI4HfLD5OOTMLxoOP4rNZn6FOjB6ov38kP/aFD2UneQVVqbkfdxuKAxVh8\nejFKv1gaQxsPRYeqHZA3j20R1EQ8anrkCPDff6zkAgPZ8K1fn91G69QBatZ0XVctW0lLA65eZS+B\ngAC+pE6eZOXfqBFXY23cmM9PPuf0dLGMrVs51+cbb/CLpKcdfdyjooCJE3m2ZcoUnq1xMv9NaRjn\nclas4BfCAwf0lsS+TJsGbNzIx2Unl4qoKB5YX7WKJ5c++ICN3YYN+RFrqpvkZA7j8fcH9u9nDw9v\nbx7Q7tDBjrozOJiV8a5d/ODKKYSH88kNCMjdfuMZkIaxNaSl8fTtggWsGD791KYHsUIKNl3ahAmH\nJyAuJQ5DGw9F11pdUTBfwccb3bjBEcAxMezs78DAI4NiwJbALfA57IOIxAh83+R79KzTE8/kzdxA\nJ2KXUD8/nvX+91/25W3ShJdGjVi3FCyYaTO5FkXhF4ejR/ll4sgRdsVo1IjtSm9voEEDIH9+vSW1\ngKQkHhnetw+YP59dJrTi5El+Ua1Qge9NDw/t+rISaRjnYgwG9pmaO1fb618PDAZWSB07ZrsyXkQE\nMGMGMHs20LIl0L078Pbbthm1MTFsry9cyDEgI0fy+3K2DGQinpmqX5+f/zmNH37gofd58/SWxGmw\nWW8TkUMW7soJePiQqEULopYtie7ft6kJRVFo19VdVHd+Xao7vy5tvrSZDIrB/A4GA9GECUSenkS7\nd9souO0oikIHbh2gt5e/TRVnVKRVZ1c9Je+dO0SLFhF98gmRhwdR+fJEX3xBtGwZ0Y0bRIricLFz\nFA8fEm3ZQjRkCFG9ekSFCvElOGkS0ZkzTnp+r18nevVVoo8+IoqOdkyfSUlEw4YReXkRBQQ4pk8L\nUPWXw/SlMyxOo7P1ZvVqoqZNnfQmtQNXrxK5uRFdvmzT7ikpRD4+3MSXXxJdu2Zf8fz8iJo3J6pY\nkWjHjmw0tHgxUZ06RMnJ9hLNuQgNJSpShOjuXb0lcRps1du5S8meP89319ChRGlpNjVxLuQcvbXs\nLao8qzKtP78+c4M4I35+RCVLsjWkE3tv7KUGCxpQrTm1aeqGA/Tdd0TVqrFS+/hjooULiW7e1E28\nXENEBNHGjUT9+hFVqkRUvDhRjx5E69bxOt3Zt4+oWDGi6dP1MQjWrSNydydav97xfZtAGsa5FEVh\nY2r7dr0l0ZZZs4gaNbL6uXjsGFHt2kTvvMP2tZbs3s2P786dbRjTunOH9cmZM5rI5jQMGsT2jYSI\npGGcNX5+/KBfvtym3SMTI2nQX4PI3cedZvnPolRDqm1y3L1LVKMGDx0arDCq7UBYGI8Ad+yk0LOv\nraP8w8tQzdFdaPvBe44WRZKB69eJZs8mat2a6IUXiN54g2jyZKIrV3QQ5s8/+V7Zu1eHzo0ICOCR\nYx8ffeUgaRjnWvbsYX2d0xWkwcDDshMmWLR5airRyJH8Qr9ypePenRMSiH74gdXThg0W7qQobLmP\nHaupbE7UBz5gAAAgAElEQVTBrVtERYsSRUU5tFtFUawbJHQQturt3OFjvGsXOzytX8/+VFay4eIG\nDPhrANpUboNxb41DseeLZU+eiAhOc1WhAgccaRiUd/cup2XeuJGzR7RowRG/rVsDz78Uj/H/jsf8\nk/MxtvlY9H2tr80p5CT2IzGR6wds3coR3UWLsgtgx47s261pXNr8+cAvvwA7dnCqDb0JCmJHxY8/\n5nydOgXlSR/jXErLlkCXLuz7ntO5dYv9b/fu5fz9Zrh/n09JvnwcYKdHKMDx45wlskMHjtvNNF5j\nzhwu+Xz4sItHQFtI166co3nYME27uRJ+BVsDt+Lw3cM4cvcIQuNDkT9vfhTMVxDlXyqPNpXboG3l\ntqhfqr5udoX0MTbHxo3sNHvkiNW7Poh9QB+u/5Aqz6pMh24fsq9c8fE8PPjBB/z6bUfu3CGaOpVn\nxooW5Sn6LVv4bdsUF0IvUKOFjeiNJW/QlYd6DFFKzGEw8KU7dChRhQrs+z18ONHJkxqM0syYwR1o\nPSdqLSEhRLVq8UnQyc8TcsQ493HqFFGpUjnXJ9UUixfzvZaUZHL1oUPsDfjzzzZ7I9qN8HCiNm34\nOWfWteLKFXahsNF/2iUJCOAfycxvmF1O3z9Nnf/oTO4+7tRvez9afXY13Y66TYqiUFJqEkUmRtKh\n24do+N/DqZpvNaoyqwptD9xOig6621a9nbOV7JYtHPB28qTVu266tIk8J3nS8L+HU0KKGYsyuyQl\nEb33HlHXrtmeqgsLI5ozh6hZMzaGv/iC6K+/ODDCEtIMaTTtv2nk7uNOc4/P1eUilmSOovClPGIE\n+9pVqkQ0apSddP6CBURly/JUnDMSHk5Uvz67ILmQgrV0AfAegMsArgAYbmabmQCuAjgNoE5W+wIo\nAmAPgEAAuwEUVr/3ApAA4JS6zDHTn4Zn1AX49FNd40F0QVGI2rVjf4UMbNjALgw7d+oglxkMBqLR\no/l9/ik9mJrKVvOsWbrIpistW/JLjh2JSoyirhu6UonJJWjS4UkUmxyb5T6KotCOKzuoyqwq1HJF\nS7oYetGuMmWFNIwzcuAA38XHj1u1W1xyHPXZ2ofKTy9Ph+8c1kg4I+Ljid58k6hPH6sf+AkJRGvX\nEr3/PlHhwqzHt23L3gDH5bDLVHd+XWq7ui2FxoXa3pBEUxSFA18GD2Y/v3r1OE4uJMSGxlat4hEG\nXRyarSA8nP09J050eNdaGsYA8gC4phqsz6iGb9UM27QCsEP9vyGAo1ntC2AigGHq/8MBTKDHhvFZ\nC+TS8Iw6OTdv8giDo7KxOBMPHvCA0uHHz7+ZM1lFnDqlo1yZsGgRi/zExPCvvxK9/XbO9w83xd9/\nc1S9nY798J3DVG56Oeq/oz/Fp8RbvX9KWgpN/286FfMpRpsvbbaLTJagq2EMYBGAkMyUrUOV7OnT\nbBT//bdVu50LOUdVZlWhbhu7UXSSAxViTAxRw4Y8R54FisL6qlcvzszyzjscTxib9cubxSSnJdOw\nPcOo5JSStP/mfvs1LNGEtDSOEerWjV+Q3n+f4+csekHasYOfKOfPay6nXbh3j6hcOX4SOhCNDeNG\nAP4y+jwi46gxgHkAPjb6fAmAZ2b7qqPInur/xQFcpseG8TkL5NLobLoAgwe7dHR/qiGVgmOCbX+O\nbd5MVL48KZFR9NNPRFWqOH+2op072Wti924i8vdnF8o7d/QWSx/Ss6lkK78dj/j6HPIhz0metOXy\nlmyLdezeMSo1pRRN+HeCQ2al9TaMmwGo4xSG8c2b/Gr7xx9W7bbizApy93GnpQFLtZErKx4+5Lnx\nBQtMrn7wgAfKqlQhqlyZ6Lff2EbQkl1Xd5HnJE+HXcSS7BMby5lH3nyTHxKDBhGdO2dm4zNn+AXS\nBv97XQkMJCpRgmjrVod1qbFh3AnA70afPwMwM8M22wA0Mfr8N4C6me0LIDJDGxH02DCOVd0o/AA0\nMyOXVqfTuYmO5tHi27f1lsQiFEWhi6EX6bd/f6Omi5qSxyQPyjcmH3lM8qDnxz1PhcYXouqzq1Ov\nLb1o55WdlJRqoe/pV1/R2Vc+pRrVFdtmonTg0CGi8m7RFF+yohVpK3Ioy5axS4WNKIpC3+/5nl6Z\n8wrdjbZfbuR70feo7vy61Htrb83tClv1tl1CNInokBBC/zqEcXFA+/bA998DH35o0S4phhQM3jUY\n/9z4B3u770UtT/PRuJri5saZAF5/HShfHmjRAooC7NnDRcD27uWsBIsWcfU5RwTnv1vpXRzrfQyd\n/+iM/+79h+UfLMeLBV7UvmOJzbzwAidg6d6dy3gvXQq8+y5QtizQuzcnd3j+eXBoedu2wKxZXLPa\nlahcmVOtvP8+V+SrWVNvifTAFg2QnmLiPoCyRBQphKgLYLMQojoRxWXcYbRRhTBvb29425DVx+VY\nupTT95Qtq7ckmaKQgg0XN2DMwTGISopCu8rt8NMbP6GmZ014PO+BfHnygYgQnRyN21G3sffmXow/\nNB5dNnZB91rd8ePrP8LzBfOl3ce7TUHnq/VxZNJyvOjRw4FHZjtNmwJH6/XHnwdboFThjmiht0B6\n8vHHwPDhwIULQI0aVu1qUAz4esfXOBNyBgd6HkDRZ4vaTaxSL5bCwZ4H8c6KdzDs72GY1HKS3dre\nv38/9u/fn/2GbLGmTS3Iwm8NWo8+GAyc4eGLLyz21Q2JC6Fmi5tRuzXtKCrRsXn/zLJ/PxncPej3\nby9S+fJceGzePH1d3ZLTkumrbV9RNd9qdDXcyTIWSLIkNZUHV9u25YGwb/vGU3yN19gHz5VZuZKj\nbsLCNO8K2rtS7DL6bIkrxWU8dqUwuS9Udwv1/+IALpnp3w9AXRPfa3Q2nZi0NI5sPeyA+JJs8NfV\nv6jOvDpUb3492nllp1Ujb0ExQTTor0FUdGJRGvH3CIpMjHxqm4kT2UX1od9Znnpytkw15lixgqhq\nVTq0O46KFSM6eFBvgXRm9GiOX7ICg2Kgbhu70VvL3qKYpBiNBCMKTwin6rOr08RD2sWM2Kq3HWoY\n//zzz48WPz8/+56Bn37isp0Wpig5ff80eU3zopF7RzpFYmpF4Rntrl2J+j+7iO6/WJlO7It2qiqk\nc47NIc9JnrT3hs6FHyQ2c/uWQgE1P6M/C3alN99QaP16yzOXOCXDhxN5e9v9IPz8/J7QVxobxnnx\nOIAuPziArlqGbVrjcfBdIzwOvjO7Lzj4Lt1INg6+cweQR/2/AoC7AF4yIZddz6lLsHUrZz9xJsVr\nRFxyHPXe2psqzKhAmy5tytZU9J2oO/TF5i+ozNQy5HfT79H3y5ZxXZ2gIPULX1/2VzWX79NZuHiR\njXi1lPyePexmfOGCznLpyYMHRC+9xK6aFjL87+HUeGFj7bJxGXE3+i55TfOixafsm0EjHZcwjDVj\n0yZONfXggUWbbwvcRu4+7rTm3BrtZLKQpCRWRPXqcZ7aKVPUksB9+hB16uR0CnrfjX3kOcmTfj/x\nu96iSGxh9myiWrUoOTKe1q4lev11TtX6669Eoa6YhCQtjaMNBwzQtBstDWNuHu+B06pdBTBC/a4v\ngD5G2/iqRvAZ4xFeU/uq3xcF8I+6bk+68QugI4DzYB/jEwBam5FJ03PqlLz1Fs9EOCGngk9pEhy+\n88pOKjG5BI34ewRt25lMHh5sYz5CUYi6dOGE+E72PHpETAxR1apPpShbvpxNA63jcZyanj2Jxo+3\naNM5x+ZQ5VmVKSxe+1m4dC6HXSZ3H3c6HmRdBjFLcAbDuBwyiXTWTMlev84BREePWrT5nGNzqPjk\n4nT0rmXba8WDB5yD1tOT/eO3b8+QWSUxkei117gusJNx5eEVqjijIv34z48yKM+VOHqU75UM06Kn\nT7MHUuHCrEPPnNFJPluJiGCXCisDbq1Ba8PYGZdcZxifOcOB205Y0GPzpc3k7uNOq86u0qT9kLgQ\najbnfXqm95v0l9/TrhUUF0f0yivs1+dsKArRhx8S9e5tcvWECUQ1azq8SrLzEBDAox9ZzKptvbyV\nSkwuQdcjrjtIsMesP7+eKsyoYNKtJzvoahgDWA0gGEAygDsAPjexjV0PmIh4uLVePaJp07Lc1KAY\naNieYVR5VmW6Fn7N/rJYyLlzRJ9/zrMbfftmeDPPyK1bbDkfOOAw+SwlNC6UGi1sRF03dLU8ylmi\nH6GhPHSy2XwOybAwonHj2DZo0YIz/bhMCtBjx9jov6bNvS0N41xAr15EY8fqLcVTLDi5gIpPLq7J\niFo6wcFEpUob6P1Zg6jG7Bp0J8pEmrPAQKsGoRzG5Mk8iJSYaHK1ohD160fUqpX+1fp04803ueiB\nGQIfBpK7jzv53/N3nEwZ6L+jP3Va18mug226jxhn2ZEWSvabbzjgLosTmZKWQt02dqMmi5rQw3jL\nfW3shaJwSuV33+UsU+PGWeHys3MnUenSVvkIOYqElATqsLYDvbP8HYuq4Eh0QlG4dur331u0eXIy\nT0HWqUNUvTqnDNaouqh9mTWLo1XNPCCzgzSMczjh4Txa4WR5ycYfHE/lp5enKw+1K76TlETUuDHR\nL79wiq7JhydTmall6HyIidzmW7bw6KOzVMjcupUfqlnIk5JC1Ly5RaUCciZ//sllcU0QnxJPNefU\npHnH9Z0NSExNpLrz69LMozPt1mbuM4w3beLp08jMh97jU+Kpzeo21GplK5sqtmSH1FSiNWv4WV29\nOrs/2WRgDB5M1LGjU/p3pRpS6cstX1KDBQ10eemQWICvL8+sWDlFrChE//zz+IVuwgQnn45Mn1L9\n5hu7Ny0N4xzOpElcIceJmHpkKlWZVYWCYoKy3thGFIVnMDt1enJ2aOWZlVRySkkKfBj49E7Tp3PK\niogIzeSyiGPHONjO37JRzrAwNhlWaeON4tykpvIAmxqYaMznmz+nrhu6OoVb5NXwq+Q20c1uL4K5\nyzAODjZR//FpohKjqNniZtR1Q1dKSXNc6H1iItHcuRxM16wZl2nO1pR0UhJR7dpEvztnwJuiKDT8\n7+FUzbeaXROBS+zA+fP88Ag08YCzgjNnOGNK0aI86mJhnKvjiYggKlOG6K+/7NqsNIxzMGlpXE3R\nQgPLESw7vYzKTitLt6O0LTIyaxZRrVqmK6cuOrWIyk4rS7cibz29ctAgzgaj11TSjRv8tr7Fumps\nZ86wOjx5UiO5nJlx44i+/PKJrxafWkzVZ1d3qhnfaf9NozeXvGmXbGG5xzBWFKL33uP0bJnwMP4h\n1Ztfj/rv6O+wdGwxMUQ+Pny/tmnDVXjsxoULfEdfumTHRu3LxEMTqcKMCnQz8qbeokiI+A2tZk27\nlk++eZOof38uR96vn5OWid27lx2l7ZjfWBrGOZgtW4gaNNBbikdsvbyVPCd50sXQzAJQsk96LO71\nTGKtZhydQZVmVqLgmOAnV6SlsRvjRx/xaKQjCQ7m8q++vjbtvm4dD1o59eyXFoSGPpG6LX109kKo\nc+WzSzOkUcMFDWn+ifnZbiv3GMa+vpxnMpMIywexD6jmnJr0/Z7vHTI9EBHBebTd3Yk++YSj/DVh\n7lyeEnfixLOz/GdR2WllNfWJk1jIkCHsWqDBPfDgAdGIETyC3LNntgek7c+QIXZ1P5KGcQ7mnXfY\nqd4JOBV8yiFBUOHhnKt448astx2zfwy9Ou9VikuOe3JFQgIPUnXq5Lhn0r17bBRnszhR//5O652o\nLd27E/n4UJohjZouakrT/ss6cYEenAs5R+4+7nQvOnt59nKHYXzpUpbTwkExQVRlVhUa7Tdac6P4\n4UOiH390oHGgKJzbzckrli08uZBKTimp+YiHJBP+/ZenLjSuCmf8Uvjpp06UTD8piUfLlyyxS3PS\nMM6hXLrEVSCcILo0LD6Myk0vR+vOr9O0H4OBZzS//day7RVFoe6bulOndZ2enn1NSuLGOnTQPs3d\n7dtcldDHJ9tNpSe0mj7dDnK5EsePE5UrRz4HfiPvpd5OUdzMHKP2jaIOaztkq42cbxinpRE1asRO\nUWYIigmiyrMq0/iDliWztpWwsMejZb17s7uTw7hzh60QJ082u+LMCmkc60VcHFGlSpYNB9mJ6GjO\nIe/hQdS5M6cl1J3Tp/lesUN2f2kY51C++YZo5Ei9paBUQyq1WNaChv+tfdqESZOIGja0zo5NSk2i\nJoua0E/7TLgwJiezYdyypXYBeadPsx/41Kl2a/LGDXYlcSLXcocQX7cmfdajkNO7PCalJlHFGRVp\nz7U9NreR8w3jKVM4F5+ZKDZHGMUPHz42iPv21TFjzeLFnEvLCRPRGyONY50YOJAj5XQgNpZo4sTH\nBrLuI8g//8yV8bI5eyQN4xxITAw7y9/VP2B4yO4h1HJFS0ozaJto9+RJNgZtiQ0IiQshr2letPac\niXy4KSmcPalCBfv7Eq5axS+4q1fbt13iLGaVKpkOPsyJpBpSaeTnXnSvYXW9RbGITZc2UY3ZNSjV\nYJsfe842jK9cIXJze6piVzrBMcGaGsURETyokG4Q39Y2UDhrFIWodWt+6Ds5y08vp5JTStKlMOcN\nGsxR7N/PgWfh4bqKERvL6d08PNjF4vJlnQRJTuaw+xUrstWMNIxzILNns3+szmy5vIW8pnlpnu4y\nPp6oSpXs2ZcB9wPI3cedLoeZuaFXr2YjdvHi7DvwxsfzS37FiprOkH7xBS+5gcmHJ9N7C5uT4ump\no1K2HEVR6K1lb5Gvv22BljnXMDYYiN54w+wUSkhcCFXzrUa/HrC/3210NNGYMWyTf/GFk0Xg37vH\nCui8iSTsTsbSgKVUemppXSsO5goSEohefplzfDsJMTGcJcjdnahHj8wj4DXj5Em20O/ft7kJaRjn\nMBSFk8vv26erGMExweQ5yZMO3bZnCiPTfPUV0WefZb+d+SfmU805NSkhJcH0BmfOENWtS9S0KdGJ\nE9Z3oChcAKBMGY5m1zhfcmws294aVpR3Cm5G3iS3iW50NfwqB0cNHKi3SBZx9sFZ8pjkQeEJ1g/2\n5FzDePZsLstjopZjeEI41Zpbi/6393+2tW2GhAT2w/LwYEViZqBaf+bO5XPjAnV75x2fR17TvDTP\ny5mr+eEHzkLhhERGEo0axS+ZX31lF7df6/jxx2yNDkrDOIexbx8bxjqmJTAoBmq5oiWN2jdK8762\nbGEXXXukKFMUhT7981PqvbW3+Y3S0jhNZPHiRF26cOnXrOoxx8YSrVxJ1KQJV8U6eDD7wlrI0aP8\nvHcCrxpNUBSFWq1s9XhW/c4dngJ3ER+Sr7Z9RQN3Wm/I50zDOCjI7KhodFI0vfb7azRk9xC7ZZ9I\nSSGaM4dnojt2dIHBWIOBK4jYmM/R0Uz7b5rpnJiS7HPmDDsPBjv3uX34kCtTFynCGdU0TprxmMRE\nHk23siBAOtIwzmF06sSDLjoy9chUarywsc3+k5YSFsYJav79135txiTF0MszX6aVZ1ZmvmF0NMcH\n1avHQvTty6NO69axsbxsGdHYsZwPuXBhjgdYuzZrI1oDfvmF4wdzYgq3tefW0itzXnmy0NkHH/Dg\nmgsQGhdKbhPdrJ51tlVvC95Xe4QQZHVfH34IVK0K/PrrE18npCbgvZXv4RWPVzC79WwIIbIlm6IA\n69YBP/0EVKgAjBsH1K+frSYdx6VLwBtvAKdOAWXK6C1Nloz/dzxWn1uNAz0PwO05N73FyRkYDEDj\nxkCfPkCvXnpLYxHBwcDYscAffwCDBgHffgu88ILGne7bB/TsCVy4ABQqZNWuQggQUfYUjYthk852\nBe7dA2rVAm7ftvo6sBcXQi/Ae5k3/Hv5o0KRCpr29fHH/GiYPNm+7Z5+cBotV7TE8d7H4fWSV9Y7\nBAYCu3bxeb9zBwgPB0qVAsqWBV5+GWjbFnB3t6+QVpCaymq0b1+gd2/dxLA7MckxqOpbFRs6b0Dj\nMo0fr9i3Dxg4EDh3DsimDeUIxhwYg6sRV7HigxUW72Oz3rbFmrZlgbWjD1u3crhowpN+TMlpydRq\nZSv6bONn2c7BpyhEO3dyteUGDbhglkvyyy9EbdvqLYVFKIpCw/YMowYLGlBMUoze4uQMZszgjC0u\nONRx9SoH5xUvzpkYNU+00qMHl7O1EsgR45zD//7Hadp0Is2QRg0WNKB5x+dp3te6dURVqz71GLUb\nE/6d4PT5cK3h/HmepNYt45QGfLfrO/pis4noQkUhqlaNyM/P4TLZQkxSDHlO8qSzD85avI+tets5\nlWxsLFHZskT//PPE12mGNPr4j4+p3Zp2T04J2IC/P5d6r1KFaMMGl7QpHpOUxAeyebPekliEoijU\nZ2sfar60OSWmJuotjmuT7m7kxKXCLSEggItoVajAge2auc2HhRF5enKieyuQhnEOISmJf38d75fJ\nhydT86XNNTcmHzzgQz16VLs+0gxp1GxxM5pyZIp2nTiYCROI3nrLJUJ3suR8yHly93GnkLgQ0xv4\n+jpFZhZLmXpkKrVb087i7XOWYfzdd1y60AhFUeirbV9l25i6coXjk0qVIlqwwPFl3jVj715+mYiL\ny3pbJyD9JafD2g6a+9jlaD7+2CkKFNiLffu44nvduuyCqAnLlnFwjxV+jNIwziEsX84loHXiysMr\nNvlKWouisAvpiBGadkNERNcjrpO7jzudC3GGqj7ZJzWVa4nNmaO3JNkjPdXZzKMzzW+Unsv7zh3H\nCZYNElMTqfTU0vTf3f8s2j7nGMZnz/IIWMiTbzij9o2iuvPrUnRStGXtZCAkhOuju7lxha74eJua\ncW66dCEarn3lJHuRnJZMLVe0pC+3fKl5+e4cyZ49ROXL57iLWVGI1q9nT6qWLe1fL4AUhVNAWhG0\nKg3jHEKDBuympwMGxUCvL36dpv03TfO+/viDXSgcVel6wckF9Oq8V7M9k+ssXLzIZoiL2IsmWX9+\nPdWcUzPrgacBAzhrj4uw4OQCar60uUXb5gzDWFGIXn/9qVe1Wf6z6OWZL5ufDsiE+HiiX39lg3jg\nQAdGwevB/fsuk9s4ndjkWGqwoAH98M8PeoviWiQmsuW4fbvekmhGSgrbrp6e7Bps11RK587xvfLg\ngUWbS8M4B+DvzznLdMh4QMQP9AYLGmhe3S48nBNAHNI+NfIjFEWhlitaalp51tGMGWOXopm6EJ8S\nT2WnlaX9N/dnvXFgIOeqS3QNt8ZUQypVnFHRomOzVW/nsTpaT0tWrAASEzm6XmXd+XWYcGgCdn+2\nGx7Pe1jclMEALF0KVKkCnDkD+PsDM2boGvSqPcWLA6NHA/36AeQa0eQv5H8BO7rswMZLGzHj6Ay9\nxXEdfHyAmjWB99/XWxLNeOYZoH9/4MoVDl6vXRv48UcgJsYOjb/yCmeoGDbMDo1JXIJZs/iCypvX\n4V0/THiIkftGYt7785A3j7b9Dx0KdOoENG2qaTdPIITA/DbzMeW/Kbj88LLjOtaQ4cM5ecaaNXpL\nYj1TjkxBw1IN8Wa5N7PeuHJl4NVXgfXrtRfMDuTLkw8/vv4jxhwco10ntljTtizIavQhMpJD048d\ne/TV3ht7qZhPMTrzwLpykH//zZkmmjQhOnLEql1dn7Q0ojp1NKkrryW3Im9RqSmlaN35dXqL4vzc\nvMlTILrXJncsd+8S9ezJI8hz5tghPiA2lqh0aYsKCUCOGLs2Dx4QvfSSbqXSv9j8BQ36y/psKNay\nZw+HmsTolPBnlv8sarKoieaj4o7i2DHWN6GhektiOfei71HRiUXpRsQNy3fato3otddcZng8JS2F\nyk0vR//ezjw5t61623mU7IABRH36PPp4+v5pKuZTjPxu+mW+nxEXLhC1bs3lHf/802V+Y/tz6BBH\nF+qlHW0k/Tffd0PfMq1OzwcfsH9QLuXUKY4ar1aNPUmydZ+vX09Us2aWVrY0jF2csWOJemdSqU1D\nDt0+RCWnlLQ5PsZS4uM5q8vOnZp2kykGxUDNFjejGUdn6CeEnfnuO/uU0nYU3Td1t941MS2NL57/\nLAtqcwZ+P/E7tVzRMtNtXNswTq/a9fAhEVk/ehgaSvT11+wyOG2aA3KhugLduxMNG6a3FFZj6yxB\nrmHXLn7zcxF/MK1QFDaKq1YlatEiGwF6ikLUvDknUc4EaRi7MMnJ7HR71vL8p/Yi1ZBKNefUpLXn\n1mre14gRRJ98onk3WXI57DK5TXSjO1EuHLlmRFwckZeXhlly7Mixe8eoxOQSttUImDrVOS4gC0lO\nS6ay08pmmqHCdQ3j9AhxNeAuPCGcqvlWsyhyNymJyMeHDeKBAx/Z1RIiDsRzc3PJ/LZrzq2h0lNL\n093oHFq43laSkogqV87RAXfWkh6g5+FB1KsXX/ZWc/48v5hnMl8qDWMXZsUKfnvSgRlHZ1CLZS00\nz7qTnszJputfA0b7jaYOazvoLYbd2LbNZL0xp0JRFGq6qCktPLnQtgaiojh1m12jnLVl7vG59N7K\n98yut1Vv6x98t24dR9P06YOktCR0WNsBrSq1wuBGg83uQgT8+SdQrRpw6BAvM2YAbrLC8GOKFwdG\njuSSj+QagXjpfPLKJxjYYCBarWqF6KRovcVxHqZP50CJHBxwZy3pAXqBgUDhwhxTN348kJRkRSM1\nagBduvD9IslZEAHTpnHNcQcTFh+GsQfHYmarmRAaltxVFC5j/OuvrPadgRHNRuBi2EVsvrxZb1Hs\nQps2QJ06rFuclY2XNiI2JRY96/S0rYHChYHu3QFfX7vKpSWf1/kc50LO4WTwSfs2bIs1bcsCU6MP\n6cEv//5LBsVAnf/oTJ3/6JxpRaCTJzmjW61aTxXGk2QkJYWoenWXqYhnjKIo9M2Ob+itZW9Rcpr0\njaHgYJ4BuHpVb0mcmmvXiDp25KnPdeus8D9OD/41UxEPcsTYNfn3X6KXX9aljFnfbX1p4M6Bmvcz\nbx5R48bOV6nN76YflZlaxrZpfSckvcjohQt6S/I0yWnJVHFGRfr7ejb9Pa5d4+eMixQKI+JqeB+u\n/1PLPrkAACAASURBVNDkOlv1tr5K9scfibp2JSKiobuH0uuLXzdb1S44mOjzz/nZ9fvvuqWidD32\n7GGnehf0SU0zpFGHtR3os42fyQIg3bu7VPEWvfHz4+QsTZtaUf150SIueWXiWpOGsYvSqZNVhVzs\nRcD9APKY5EERCRGa9vPgAXsB6eA+bRE9N/ekwX8N1lsMu+Hry56fzvY4mv7fdGq1spV9Gmvfnmju\nXPu05QBik2OpmE8xuhx2+al1rmcYX79OVLQo0b175OvvS1VmVaHwhKdT6SQmcqU6NzeOJYvWNrA3\nZ9K+PZ9EFyQ+JZ4aLGhAo/aN0lsU/Th6lKhkSZfLMqI3aWlECxfyy3TPnvxynSkGA1G9ekQrVz61\nShrGLsiNG/zgiI11aLeKotDri1+necfnad5Xt25E33+veTc2ExYfRh6TPCjgfoDeotiFtDRWEcuW\n6S3JYyISIqiYTzH7leT28yOqUsX5piAy4Zf9v9Dnmz9/6nvXM4zVlFNbL2+lEpNL0PWI60+sVhQu\na1muHFGHDjzCL7GR9OmRoCC9JbGJkLgQqjCjAi0+tVhvURyPwUBUv75zaWIXIzqaB9vd3IjGjcti\n8uTwYU51mMGYkoaxC/Ltt0RDhji82/Xn11PtubU1z+Xr50dUpozD7X6rmX9iPjVe2DhTF0lXIj23\ncYS2kwEWM3T3UOq91Y6pCBWFC0Hs2GG/NjUmPCGcikwo8lQmFNcyjP/5h6hcOTpx/RAV8ylG/vf8\nnziY06eJ3nyT04vu3ZuNsyV5zA8/8PCCi3I57DJ5TvLMvg+Vq7FkCVHDhi719u6sXLvG7+PlymWR\n57xrV6KRI5/4ShrGLkZEBEfY33FsyrDE1EQqP7087b2h7YMrOZnzeG/YoGk3dsGgGKjBgga06NQi\nvUWxG19/zYve3Ii4QUUnFqXgmKymw6xkxQoib2/7tqkxQ3YPeaqIjusYxqmpRK+8QiHL51HJKSVp\n06VNjw4iNJRrfHh42KmyleQxsbE8He9CCbwzcuDWAftOGTk7MTGcf9XfP+ttJRazdy+/dHt7m8l/\nfPcuu3ndeFw5ShrGLsa4ceyX72B8DvlQuzXtNO/nt9+4mJWz+bqa42TwSfKc5EkP43NGTtWICHbR\n0ls1d9nQhUb7jbZ/wykpXEJR7wO0gqCYICoyoQiFxYc9+s51DGNfX0p983Wq4Vv9Ua7i5GTOLe3u\nTjR4sPNMUeQ4li51+dHHlWdWktc0L/u/ITsjI0a49Ci/M5Oayi/fHh5EffuaSGE8diynt1CRhrEL\nkZDAc93nHPsCHRoXSm4T3UwGAdmT27f5vc3V3Av77+hPfbb2yXpDF2H5cvY31isRwPGg41RicgmK\nTdbIl2b6dA5edSF6belFP/v9/OizaxjG4eGkeHhQr7EN6Jsd35CiKLRzJ/t5t2xJdPGi/U+UxIh0\nf9UVK/SWJFuM2T+G6s2vR3HJrpNSxmqMglMl2hERwcWB3N35OZCSoq5ISGCfCz8/IpKGsUsxdy7R\n++87vNt+2/s5JD1bp05Eo0dr3o3diUyMpOKTi9Oxe8f0FsUuKApRs2b6JHBQFIW8l3rT/BPztesk\nLo5TngQGateHnQl8GEjFfIo9sg10NYwBvAfgMoArAIab2YaUAQNo33tVqc3qNnTxUhq1bs3VZLZt\nc50pIZfnyBGTwUWuhKIo1HNzT2q3pp3mAS660bEj0a+/6i1FruHCBaJ33uES07t2qV+uX89BKGlp\nmhvGFurQmQCuAjgNoE5W+wIoAmAPgEAAuwEUNlr3g9rWJQAtzfSnybnWlLQ0Lpl+8KBDu70YepHc\nfdw1dxXYtYuzbzpzBbbMWBKwhOr/Xj/HBOKdOZNl0UxN2B64nar5VqNUg8b+pqNGsX+rC9FxXUea\ncXQGEeloGAPIA+AaAC8Az6hKu6qJ7Si+8HPkPbEmDRgSS25uXM45KUnTcyQxRZcuRP/7n95SZIvk\ntGRqvrR5jsqR+Qg/Px6tdNWnn4uiKERbtrBd1bYt0ZVAhasJzZ+vqWFsiQ4F0ArADvX/hgCOZrUv\ngIkAhqn/DwcwQf2/OoAAAPkAlFP3Fybk0viMa8D69VztwsEjLW1Wt6HJhydr2kdSEtcqceWK8AbF\nQE0WNaHfT/yutyh2Y/Bgoi+/dFx/qYZUqj67Om29vFX7zkJDOYjVWWqNW4D/PX8qO60spaSl6FoS\nugGAq0R0m4hSAawF0N7UhuOa5MeF+bsQF/ECzp8Hvv8eKFDADhJIrGPCBGDOHOD2bb0lsZn8efNj\nQ+cN2HV9F2Yfm623OPbDYAAGDwZ8fIBnn9VbmlyFEEC7dsCFC0DTpkDjJgIzyk+H8tMorbu2RIe2\nB7AcAIjIH0BhIYRnFvu2B7BM/X8ZgA7q/+0ArCWiNCK6BR45bqDJkTkSIq7ZO3w4/5gOYv+t/Tgf\neh7fNPhG036mTAGqVXPtivB5RB7Mbj0b//P7H8ITwvUWxy6MHg3s3AkcPeqY/pYELEGx54qhTeU2\n2ndWrBjQtStffC5Cg1INUKFIBay7sM7mNuxhGJcCcNfo8z31u6fYlfIPdqwticWLnaeme66kTBlg\n4EB+gLgwRZ4tgh1ddmDcv+Ow48oOvcWxD4sXAy++CHz4od6S5FoKFOBb49w5IEDUxdr4d7Xu0hId\nam6bzPb1JKIQACCiBwA8zLQVZKI/12PzZv7brp3DulRIwdA9Q/Fbi99QIJ92ozx37gBTpwLTp2vW\nhcOoU7wOOlfvjJH7Ruotil0oXJjHMfr143ENLYlLicPP+3/G5JaTIRz18jd8OLBoERAS4pj+7MDw\npsNxbNwPNu+fz46yZEmbptuwY8c27NgBeHt7w9vb25HdS4z5/nugalXg0CGgWTO9pbGZCkUqYOPH\nG9FuTTvs6bYHdYrX0Vsk24mOBkaN4uEHB454SZ5m//792L9/P8p6KRjT6DCwV2+JnsKWC4Ss3WHE\nN4NQ0L0IACfX2YoC/PILLw68d9aeX4s8Ig8+rvGxpv18+y2PZZQvr2k3DmPsW2NRbXY19KrbC6+V\nfE1vcbJN167A77/z8vXX2vUz+chkNC/f3LHnrHRpPsBJk4DJkx3Xrw2k6+2Hhy4hz8Ew2xuyxf+C\nnvRDawRgl9HnETARPAJX9FfL6axaxflmXDh9Wzrrz6+nMlPL0L1oF87iMHSoY53VJFny7a5vyXup\nt9Y+xlnqUADzAHxs9PkyAM/M9gUH1nmq/xcHcMlU+wB2AWhoQi46Xq22a0RGb9hAVLeuQ2VNTE0k\nr2ledODWAU372b2bA+4yrdjogiw+tZgaLmiY4wLxwsKy3tYWgmOCqejEonQz8qY2HWRGUBBnSXIF\nX+OICAorUJI2f3dAVx/j4wAqCSG8hBD5AXwCYKsd2pVozaefAvnzA8uX6y1JtvmoxkfoV78f2qxp\ng7iUOL3FsZ5r14AlS4Bff9VbEonK7GOz8de1v7Cx80atu7JEh24F0B0AhBCNAEQRu0lktu9WAD3V\n/3sA2GL0/SdCiPxCiPIAKgE4ZkqwgqGXkLRsjR0OUUMUhR09R4926GjxLP9ZqF28Nt7wekOzPpKT\ngQEDgBkzgIIFNetGF3rU6QEhBJYELNFbFLtQqxY/Un/8UZv2R/mNwpevfolyL5XTpoPMKFkS+Owz\n9hlxckJ7DMWOZzrgvfHZuC9tsaYzLuB0QYHgII4RZrbR9CVBYiP+/lxdLSZGb0myjaIo9OWWL+n9\nVe+7Xhq39u2JJkzQWwqJyvbA7VR8cnG6HnGdiMhR6dqe0KEA+gLoY7SNLziDxBkAdTPbV/2+KIB/\n1HV7ALxktO4Hta1M07W16FaNol54yfH5qKzhjz+IXnvNoaPFD+MfkruPO10Ku6RpP7/9RtSmjaZd\n6Ep6RbzwhHC9RbELkZFcEe+YnVM1n31wljwmeVBkYqR9G7aG4GAeNQ524uJae/ZQSMGytHAa2zO2\n6m3B+2qPEIIc1ZfESnr04DfC337TW5Jsk2pIRevVrVHVrSpmtprpuACF7PDPP8BXX3E6BJmmRXcC\n7geg5cqW2PbpNjQq3QgAIIQAEbnAxWQ/hBA0ZeefED98gwEveyPfH044cpyaCtSuzb6PrVs7rNvv\ndn+HxNREzG0zV7M+7t4FXn0V8PcHKlbUrBvd6b+jPwiEOe/P0VsUu7BsGTB7NmepyGOHOXkiwrsr\n30Xbym0xoOGA7DeYHb77DkhK4qxWzkZsLJKq1ELv1LlYeO89FCiQDb1tizVtywI5Yuy8BAURublx\ntbUcQFRiFNWYXeNRyXGnJjWVqEYNok2b9JZEQkR3ou5QqSml6I8LfzzxPXJp5bs0QxoVG1qRHriX\n4ZFZZ8PXl+jttx06Wnwj4gYVnViUHsQ+0LSfjz7i+go5nYiECPKc5Ekngk7oLYpdMBiImjQh+t1O\nqZp3XtlJlWdVppS0lKw31prwcHakvnBBb0mepm9f2l3q8ycqEdqqt6VhLGHGjSP64AO9pbAbtyJv\nUckpJWnTJSc3OH19iVq0cI0ApxxOdFI01ZxTk3wO+Ty1LrcaxkREP22eT6+3aUgGD0+ikBAbzqxG\nREYSeXhw1JMD+eTPT+iX/b9o2sfff+euGj/pFfFczgXODAEBfGmGZ9NDJNWQStV8qzmmmIelTJtG\n9N57ekvxJLt2UZJnWapeKuqJonG26m17BN9JcgLffQcEBAD79uktiV3weskLWz7Zgj7b+uBYkMm4\nIv2JiADGjAGmTZPp2XQm1ZCKj/74CE3LNMXQJkP1FsepGPl+DxyvfRf7qrcG+vblQhrOwK+/Au3b\nc9STgzgedBwHbx/EkMZDNOsjJYUD7qZPzz01frrX7o78efNj4amFeotiF+rUATp3BkZmM1XzgpML\nULJQSccU87CUfv2A69eBXbv0loSJigJ69cLPpRdh0KjCdvFGlD7Gksds2MB5QE+dAvI5NMW1ZmwL\n3Ia+2/vi8BeHUb6IkyUBHTiQM8LPzkGV+1wQIkKfbX0QHBeMLZ9sQb48T1/7udXHOF1nD904Gb//\n4Y/Is5eRd8QwoFs3fYW7fh1o2BA4f95h1aKICN7LvNGtVjf0qttLs358fID9+4EdO3LX+/LZkLN4\ne/nbuNDvAv7f3p3H2VT/Dxx/faxlSVnGkq2yJGRJImVfs2UpxM+g4itttBHKkqiJRMhSliRLIRSy\nDIpQ2bKEMBhZxjLWYbb374/PqKGZcWfmnntmeT8fj/sw98455/M+497PfZ/P+Sz5sudzO5xkCw21\nKxUuXgxVkjDt8Pmr5yn9aWmWd1pOhQIVvB9gcnz3nZ1+Y/t293OFLl04fiE7j24dx969dqKt65Ja\nb2uLsfpX69aQJ4+dpTyNaF66OW8//jZNvmrC2bCzbofzr507YfZseyGiXDX85+H8fvx35rSdE2dS\nrODdpj0IL7GGMXXfg9deg4MH3QtGxMbw2ms+XUL1u73fcTbsLF0rdnWsjOBgmxh/8kn6SooBHsz/\nIJ0e7MRbK1P3iqzX3XmnXaG8Vy87o2BiDV47mOalmqe8pBjs6pL588Nnn7kbx9y5sH49z5/9gAED\nbkyKkyUp/S+S8kD7GKcOO3bYzvWnT7sdiVf1WdZHak6tKVcjrt56Y6dFR4vUrWv7FytXzdw+U4p+\nXFSOXTiW4Hak4z7G1/Wc+47c9tRzEjb8Y5GqVUWuXbvFX9chc+aIlCnj0xUvwiPDpeSYkrJs/zJH\ny3n6aZEBAxwtIkW7cPWCFB5VWNYFrXM7FK+IihKpXj3xA/F2n9oteT/MKycvpaA+/TfbtcsO2g8K\ncqf8AwdE8uWTLZN/k3vvFQmPY2xiUuttbTFWNypfHtq1g4ED3Y7EqwIaBuCX3Q//hf5ESxIu371p\n/nwICbH9NZVrVh9aTZ8f+/DDMz9QKGcht8NJ8YY2fZno+7/l3Yi2trUouR0okyIkBF55Bb74wqcr\nXkz8fSL33HUPjUo0cqyMlSth82bo18+xIlK8nFlzMrrRaHos6UF4VLjb4SRbhgx2ZrMBA+DMGc/2\nERF6L+/N24+9jV92P2cDTI4HHrBjk55/3vfjDsLDoX176N+f12Y9xMCBkDmz9w6vibH6r8GDbX/j\n7dvdjsRrMpgMfNnqS4IvBNN3ZV/3Arlyxd4CHjPG/b5Z6dgfJ/+g/TftmdN2DmX9yrodTqqQJ1se\nOjzQhTFbRnF+9FSYMweWLvVtEC+/DB07QrVqPivy/NXzDF03lIAGAY6Vce2aveU+Zgxky+ZYMalC\n6zKtuS/3fQSsd+7v7UsVK9q2Jk8veJbsW8Lh84d5seqLzgbmDW+8YTP+qT5evfDtt6FgQVaXe5mj\nR+2ifF6VlGbmpDzQrhSpy2efidSsmeamETt9+bSUHltaxm4a604AgwbZ+6XKNUfPH5Uio4rI1398\n7fE+aFcKEREJPh8sWQfmlj4DT4qsWyeSP7/I/v0e/x2TZcECkZIlRS5f9k15Md748Q3ptrCbo2Wk\n9RXuEivoXJDk+SCP7D/jo/eWw86dswvMbtyY8HZXI67KfZ/c53iXHa/avt12vwwO9k15c+aIFC0q\n0SGnpXp1ka++in/TpNbbmhiruEVGilSqlPC7LpU6ePagFBpZSL7d/a2PCz5o+2QdPuzbctU/zl45\nK+XGl4tzruKEaGL8r05fvyC3NXtLQkJEZOJEkdKlRc6eTdTfM9GCguxau+t82/f0rzN/SZ4P8sjf\nF5xbBjcoyFYLBw86VkSq9NH6j6T+jPoSnUYaZ2bMEKlc2X61xmfImiHS4usWvgvKW4YMEalVK+6O\nvt60caNNwrdtkyVL7NpYCf09NTFW3rdhg0ihQiLnz7sdiddt+XuL5Pswn28HebRoYRdSUa4IiwiT\nmlNryqtLX030l60mxv86HHpYsr6TW154PcS+0Lu3HUzq1JfipUsiFSuKjBrlzPET0HpOaxm2ztnP\nbIsWIu+952gRqVJEVIRU+qySTN061e1QvCI62uaOY8bE/fvrF2FB54J8GpdXREaKNG0q0quXc2UE\nBdl8ZNEiiYqyVcL8+QnvoomxckbXriJ9+rgdhSN+/OtH8Qvwk50ndzpf2JIl9jbw1RQwK0Y6FBkV\nKW3mtJF289pJVHRUovfXxPhGHWd3l9ueeFuOHRP7pdismUi3bnYYvjdFR9uuR507+7xbV+ChQCn2\ncTG5Eu7c8nMLF9oGd60W4na9AcPJFntf2r1bJG9esZ+bWKKjo6XJzCYy4qcR7gTmDaGh9s3srbWw\nYzt3TqR8eZGRI0XErk7/0EO3rhI0MVbOOHnSfpL/+MPtSBzx1Y6vpMioInI41MHuDWFhIvfdJ7Is\nFfUbS0Oio6Ol1/e9pM60Okmerk8T4xsdOndIbnsnt3TrFbPm7YULIo8+KvLsswnf20ys994Tefhh\nn07NJmIvpCp+VlHm7JzjWBkXL4oULSqyapVjRaQJb698W1rPae12GF7Tr59Iu3Y3vvbt7m/lgXEP\nyLVIl6ZA9Ja9e21XB292eQoJsd06e/cWiY6WyEg7W+PSpbfeNan1ts5KoRLm5weDBsGLL6acpWC9\n6Jnyz9C7Wm8azWzE6SunnSkkIAAqVIBGzk31pOI3ZO0QNhzdwML2C8mayQvrhSqK31mcNmVb8fWh\n0Rw4AOTMCcuX24U/OneGyMjkFSACQ4fa0e4LFvh0ajaAqdumkj1zdp564CnHyhgyBGrWhLp1HSsi\nTRhYayC7Q3bzze5v3A7FKwYMgE2bYMUK+/xS+CVeXfYq458YT5aM3lqhwiWlSsFXX0GbNv+eYHIc\nPw61akGTJjByJBjDjBl2HTJHv06Tkk0n5YG2GKde1wfizZjhdiSO6buirzwy+RG5eO2idw/811/u\nToKezo3bPE5KjCkhJy6eSNZx0Bbj/zhw9oBkG5RHWneMtRjQlSsiTZqItGxpb60mRVSUyEsviVSo\nIHL8eNKOkQxnr5yV/AH55fe/f3esjOsD+U8k722Zbmw4skEKflRQQi6HuB2KVyxZYm8iXrki8uL3\nL0qXhV3cDsm71q2zb/A5ybjjsnu37X4YqwP+lSsiRYqIrF/v2SGSWm9ri7G6tYwZ7dKPb7wBZ1PQ\nsspe9H699ymbryxt5rbx3sTyIvDCC/DWW1CsmHeOqTw2Z+cc3v/pfZZ3Wk7+HPndDifNufeue+lQ\n4SmWXR7B1q0xL95+u23hLVQIHnwQ1qxJ3EHPnIEOHWDbNruvD5d8vu6dwHdodX8rKhes7Mjxo6Kg\ne3cYNsyuk6JurXqR6nQs35EeS3pcv2hL1Zo2hcqVofuwn5j/53xGNRzldkje9fjjtsW4d2/44AOI\niPB83+hoGDvW3k55660bFhIaNw4eeggefdSBmGNLSjadlAfaYpz69eol8vzzbkfhmIioCHly9pPy\n1NynJDLKC/0kZ8+2AwacnsJG/cf3+74XvwA/2X5iu1eOh7YYx+nYhWOSbfBdUrNZHHOY/vCDHUX+\nyiu3nuM0IkJk3DjbyvTSS7ZpyAXbjm8TvwA/OX359K03TqJPPxV5/HHvj1NM68IiwqTc+HIyfdt0\nt0PxigNHrkiGV0vK6GUL3A7FOQcPitSvb+dV86Qz/W+/iTRoIFKt2n/mRz93zlYPu3d7XnxS620j\nPrr6MsaIr8pSDjl/3i4DOXcu1KjhdjSOuBp5lWazmlH8zuJMbj4ZY0zSDhQaCmXLwrx5Pri8VbGt\nO7yOtnPbsqjDIqoV9s4KacYYRCSJb4bUydM6+7XlbzJlxgXmd/uMevVu+uXp0/Duu/D117YVyd8f\nSpSAvHlt6/LmzRAYCIsW2fEMY8faZeldICLUmlbLtkxWcWa59uBgqFQJ1q2DMmUcKSJN235iOw2+\nbMBv3X+jaK6iboeTLG+ueJPVWw6TeeEc1q+3y0enSSL2LlKfPnDffdCwIdSpYz8AZ8/aZd5/+w0m\nT7Z3jF56yS77ftPKsP362U2nTPG86KTW25oYq8SZO9cOivn9d8iSygcKxONS+CXqz6hPjSI1+Kjh\nR0lLjnv1sgOQJk70foAqXluOb6HxzMbMajOL+vfW99pxNTGO35krZ7hnVGmK/riRHWtKxP0Ff+mS\nrTvmzIG//7YJ88WL9r5o7dpQr55NnJN6IeoFM3fM5OONH7P5uc1kzJDRkTJatbLjcAcNcuTw6cKI\nn0ew/MByVnVeRQaTOrPJjcEbaTm7Jdt7/EHbJn4884ztdZemhYXBsmX2QnjNGvjrL3uBnDcvlCwJ\n3bpBgwZxXiEcO2Z7Zm3fDoULe16kJsbKN0RsB6lHH7XDa9Oos2FnqT2tNq3ub8XgOoMTt/PPP8PT\nT8OuXXDXXc4EqP5j56md1J9RnwlNJ9CqTCuvHlsT44QNXfseo2ft5pPHZ9Gpk8OBOeBs2FnKji/L\nd+2/o+rdVR0p49tvbZW5bRtk1clRkiwqOoq6M+rS8N6G9K/Z/9Y7pDAXrl2g0sRKBDQIoHWZ1uze\nbbvTbtkCRVN3I7hj/P1tQjxsWOL208RY+c6RI7alJ43fDzx1+RS1ptXCv4I/fR/r69lOV69CxYr2\nE9ymjbMBqn/sPb2XOtPrMKrRKNqXa+/142tinLBL4Ze4Z1RpzNz5BP38CNmyORyclz373bNkz5Kd\nMU3GOHL8M2dsD5FvvtGeVd5w7MIxqkyuwuw2s6lVvJbb4SSK/0J/smTIwuQWk/957b33YP16+OEH\nV2+apEi//QbNm8O+fXZWyMRIar2dOu9DKHcVLQqDB8Ozz9oh1mmUX3Y/VnVexZQtU/hk4yee7TR0\nqO1brEmxzxw8d5D6X9ZneL3hjiTF6tZyZMlBQONhRDd4lY8+Sl0NIGuC1rDi4AqG1U1kc1Qi9O5t\nbyJpUuwdd99xN9NaTqPj/I6cunzK7XA8NnvnbDYGb2R049E3vP7WW3DiBHz5pUuBpVAitmvykCGJ\nT4qTQxNjlTT/+5+dxm38eLcjcVShnIVY7b+a0ZtGM27zuIQ33rbNDiD49FPfBKc4eO4gdafXpf/j\n/fGv6O92OOla5wqdKVQkkg+XzeLvv92OxjNXI6/SY0kPxjYZS86sznzzfv+9bQ1M7G1glbBGJRrh\nX8GfTvM7ERWd8htogkKDeHnpy8xqPYvsWbLf8LvMmeGLL+D11+2aFspasMCOY+/WzbflalcKlXR7\n99rZKX79Fe65x+1oHBUUGkSd6XV4vfrr9Kra678bRERAtWp2hcCuXX0fYDp0PSl+s8abvPCwsyNX\ntCuFZ9YfWU+Tz9vT4uifzPwi+613cFn/Vf3Zc3oP89vNd+T4589DuXIwfbqucOeEyOhIGnzZgEfu\nfoQR9Ue4HU68rkRcocYXNfCv4M+r1V6Nd7v+/WH3bpg/X7tUXLtmJ8GaOBHqJ3EctXalUL5XujT0\n7QtduthJudOw4ncWJ9A/kI9++SjuluNhw+x0U126+Dy29OjQuUM+S4qV52oUrUHD+x/ju9MfsmmT\n29EkbFPwJj7f+jnjmzp31+uVV6BZM02KnZIpQybmPTWPebvnMWP7DLfDiZOI0H1xd8rmK8srj7yS\n4LYDB8L+/XZV5fRu1CibGCc1KU6WpEx+nJQHusBH2hQZaWerHznS7Uh84tC5Q1J8dHH5+JeP/31x\n82YRPz+RY8fcCywd2Xt6rxT9uKiM3zzeZ2WiC3x47HDoYckxJI+UrblPIr2wTo4TLodfllJjS8nc\nnXMdK2PBArvs70UvrzKv/mvnyZ2S78N8suHIBrdD+Y9RG0ZJxc8qyuXwyx5tv2WLXcji6FGHA0vB\nDh8WyZ1b5MCB5B0nqfW2thir5MmYEaZNg+HD7T2gNK74ncVZ22Ut434dx/Cfhtu5GTt3hk8+scvg\nKkftPLWTOtPr8G6td+n5cE+3w1FxKJqrKIPr9+dopeeZOCll3knqu7IvDxV8iKfKPuXI8U+dgp49\nbReKHDkcKULFUtavLNOenEabuW04dO6Q2+H8Y/lfy/lg/QcsaLeAbJk9m6qlUiV4+WXbrza9TWJt\nmwAAG1pJREFU9j7t3dv+De69153ytY+x8o5Jk+zjl1/sSII07vjF49SbUY/JgXfwaMZimDlz3A4p\nzdt6fCtPzHqCUQ1H0aF8B5+WrX2MEycqOoqKnz5K0PxnOfRNd/Lm9XJwybDq4Cr8F/qzo+cOct+e\n2+vHF7GT0pQqBSNSbrfXNGnCrxP46JePWNdlHXffcbersWwK3kSzr5uxoN0CHiv6WKL2jYy0w3f8\n/dPBwh83Wb7cnvPOnXZxzOTQPsbKXc8/DwUKwDvvuB2JTxTMWZANhd+lxKot9G2Vk2hJmS1jacXa\noLU0mtmIcU+M83lSrBIvY4aMfN3+c6Jq9eel/sfcDucfJy6doPPCznzR8gtHkmKAqVPtol6DE7ku\nkEq+ng/3pMdDPaj/ZX1Xp3HbHbKblrNbMq3ltEQnxWBXQ54xw66mvmePAwGmUNeu2RWhx4xJflKc\nHJoYK+8wxn4jfPkl/Pij29E478QJ7vzfq2SfM5+NV/fTaX4nwqPC3Y4qTVq0dxFPzXuKr9t8Tesy\nrd0OR3monF85Xqr+AgvDX2DtWvfvFkZGR9Lh2w48V+k5Gt7X0JEy/vzTzkk7e7aubueWN2u8SZsy\nbWg0sxFnw876vPyg0CAaz2xMQIMAmpZqmuTjlC5teyi2b2/XjUoP3n/fDrhrmvQ/m1doVwrlXYGB\n0LGjXd+yQAG3o3FGdDQ0amRn6x88mLCIMNp9046I6AjmPTWPHFm0U6G3TN06lbdXv83iDoupUqiK\na3FoV4qkuRZ5jTKjqnFpbXcOf9PT1Vag/qv6s/nvzSzruIyMGTJ6/fhXr9oZG194Abp39/rhVSKI\nCH1X9mXRvkUs67iMYncW80m5O0/tpMlXTehbo2/c03omkgi0a2e/Ssc4syhjirFjB9SrB9u3e2+4\njitdKYwxbY0xO40xUcaYysk5lkoj6tSB556zA9LS6hRuH35o7/kMHAjA7ZlvZ367+RTMUZBa02px\n4tIJlwNM/USEQWsGMXTdUAL9A11NilXSZc2UleXPzuVC5Xf53+AtrsXx/b7vmbFjBl+1/sqRpBjs\nzJUlStheZcpdxhg+aPAB/3vof9T4ogbbTmxzvMyfj/xMvRn1CGgQ4JWkGOyN2EmTYNEiWLzYK4dM\nkSIj7UK6w4enkDHsSZnK4voDKA2UBFYDlW+xbfLm3VCpR0SEncJt0CC3I/G+wECR/PlFjhz5z6+i\no6NlyJohUnx0cdl1apfvY0sjrkVeE/8F/lJlUhU5cfGE2+GIiE7XllwT18+WjL3vk8ANoV47pqe2\nHt8q+T7MJ+uPrHesjIULRYoWFTl71rEiVBLN3TlX8n2YT+bvnu9YGV//8bXk+zCf/PjXj44c/+ef\n7YygQUGOHN51AQEideuKREd797hJrbe9VYEGamKsbnD8uEjhwiKLF7sdifccPixSoIDIypUJbjZ9\n23TxC/CTFQdW+CiwtOPMlTNSd3pdaT6ruVy6dsntcP7hVGIM3AX8COwFlgO54tmuMfAnsA94y5P9\ngX7AfmAP0DDW64Exx9oKbAHyxlOmV/+G9Ub1lDueaythYV7+9ktA0LkguXvk3TJv1zzHyti3z847\nu2mTY0WoZNp4dKPc+8m98tx3z8nFa96bWPrC1Qviv8BfSo0tJVv+3uK148YlIECkShWRsDBHi/G5\nfftE8uRJ/pzFcUlqva2D75QzChSAefPsZIz79rkdTfKFhUHr1nYx+3r1Ety0c4XOzG07l07zOzF2\n09jrSYa6hd0hu6k6uSqVClRiQbsFZM+S8pcU9oK+wEoRKY2989bv5g2MMRmAT4FGQFmggzHm/oT2\nN8Y8ADwNlAGaAOONuWGR2Q4iUklEKovIaWdO7UaLXxxFxruCqTmkry+K41zYOZp81YTXqr9G2wfa\nOlLG5cu2WhgyBKpWdaQI5QWPFH6EbT22ESmRVJ5YmRUHViS7Xg48FEiliZXInCEzW7pvoVLBSl6K\nNm6vvQbFitnVFNOK8HB45hk7g4tbcxbH5ZaD74wxK4D8sV8CBOgvIotjtgkEXhOReDuRGWPk3Xff\n/ed57dq1qV27dtIjV6nDlCl2bceNG+GOO9yOJmlE7FLPERF2rU4PF7E/dO4QLWa3oHrh6nz6xKdk\nyZjF2ThTse/3fU/X77oS0CAA/4r+bofDmjVrWLNmzT/PBw8ejDgw+M4Y8ydQS0ROGmMKAGtE5P6b\ntqkGvCsiTWKe98W2hHwQ3/6xt4nZZykwSEQ2xdTXr4vI77eITbx9Ubcv+AxlP3qcrhW7ManL6149\ndmznws7xxKwnqHZ3NT5u/LEjZYhAp052aq1p0zyuFpTLFuxZwFsr36JQzkIMqzuMGkVrJGr/X47+\nwoDAARwOPUxAgwBalWnlUKT/deGCvQB76y3o2tVnxTqmXz87X/GiRc58fpI8aDopzcw3P9CuFCoh\nL7wg0rChSHi425EkzXvviVSqJHLZsyU9Y7tw9YI8OftJeWTyI3I49LADwaVukVGRMnD1QLl75N2O\n9gFNLpzrSnE2oecxr7UBJsV63gkYE/Pzubj2B8YCz8R6fQrQWv6tr//AdqMYkEBsjvwtv1pyRDK+\nVlTG/jTNkeMfv3hcyo8vL72X9ZZob3dajGXkSJEKFZJULSiXRURFyOdbPpdiHxeTyhMry9C1Q2XX\nqV3xvl/2hOyRET+NkGpTqkmRUUVk8u+TJTzSne+zXbtE8uYV2bjRleK9ZvVqkYIFRU6edK6MpNbb\nmRKdScdPr5dV3D75BFq1snMYffFF6mpamTHDtnpv2ADZPFvSM7acWXMy/+n5BGwIoOrkqkx/cjqN\nSjRyINDUJ+RyCB3ndyQiOoLfuv9GgRxpc3q/BO66DYhj8+Q20Xqy/zMictwYkx2Yb4zpJCIz49pw\n0KBB//zsrbt8zzQtwqp1y3l9aV0k80VeeuTFZB/zusOhh2nwZQP+78H/Y0DNARiH6ppFi2DkSLvQ\nZxKqBeWyTBky0a1SNzpX6MzPR35m/p75NJ7ZmHNXz1HkjiIUvqMwgnD84nGOXzrO7Zlup2Xplgyq\nNYg699Rx9e7fAw/Yr9FWrez7r5hvZqLzqjNn7MRVU6eCn5/3jnvznb4kS0o2Lf+2KDwJHAXCgOPA\n0gS2de6yQKV8ly6JPPywyDvvuB2J53780c5AsXu3Vw635tAaKTSykPRd0de11oaUYvXB1VJ4VGHp\nu6KvRERFuB3OLeFci/EeIH/MzwWAPXFsUw1YFut5X2IG4MW3f+xtYp4vAx6J49j+xLQ+x/E7h/6a\nIteuiZSveUD8Bj8gPZf09MrnYfHexVLgowLyycZPvBBh/LZssS12Otgu7QkNC5WdJ3fK0v1LZdn+\nZbLjxA4JuRzi6J2HpBo1SqRcOZHz592OJHEiIkQaNBB5/XXny0pqva0LfCjfOXXKLorx6qvwovda\niRyxeTM0awbffguPP+61w566fIpu33Xj5OWTzGo9i5J5Snrt2KlBeFQ4A1cPZOYfM5nacqpjK5B5\nm1MLfBhjPsB2f/jAGPMWcJeI9L1pm4zYWSfqYRsgNmMHz+2Jb/+YwXdfAY8AdwMrsFNrZgDuFJEz\nxpjMwCxghYhMiiM2R+vs4GCoUuMCRXq3J1fucD5v8XmSFmIIiwjjjRVvsGTfEma2npmkJXg9FRwM\n1avDxx9DW2fG8ynlERG7mExQkL2DkTmz2xF55s037fpfy5bZ/vlOcmWBD6USxc8PVqyAjz6C8ePd\njiZ+15PiqVO9mhQD+GX3Y3GHxXSp0IVHv3iUCb9OIFrS6EIoN9l+YjvVplTjzzN/sq3HtlSTFDvs\nA6CBMeZ64jsCwBhT0BizBEBEooAXsdOy7QJmi8iehPYXkd3AXGA38APwQkyWmxVYbozZhu1jHAxM\n9sWJ3qxwYfjmqzsIGr6YcjlqUXlSZQauHsil8Ese7R8eFc7nWz6n/ITynLp8iq09tjqaFIeEQMOG\n8PLLmhQr9xljV8PLkMFO/pQa1tP6+mv45huYM8f5pDg5tMVY+d7Bg1C3rh1a27On29HcaPNmaN4c\nPv/cJscO2hOyh26LupElYxamNJ+SZluPr0VeY9hPw/jst88YUX8EXSt2dazvp1N0SWjnfPYZjB0L\nc5YdZcSv/Vh9aDXtyrajeenmPF70cTJn/LcpLCIqgq0ntrImaA3jfh1H6Tyl6f94f2oWq+noe+r8\neVtlNW4Mw4Y5VoxSiXblCjRpAmXLwrhxKXcIz++/28/PypVQoYJvykxqva2JsXLHwYN2+ehXXoHe\nvVPGp3ntWnj6aZ8kxddFRUcxdvNY3lv3Hn2q9+G16q+RNVNWn5TtC2uC1tDrh16UyF2CCU0nUChn\nSljvM/E0MXaOiK0Gtm2zt1cPXtrJgj0LWLxvMXvP7MUvux+3ZbqNTBkysf/Mfu7LfR81itSgS8Uu\nVL3b+cmDr1yBRo2gYkXbQpcSqiqlYrtwwU6vX6+eXVY5pb1H9+2DWrVgwgR48knflauJsUp9jhyB\npk3tJ2b0aHfvrcycCX36wKxZUL++z4s/dO4QvZf3ZlfILkY3Gk3TUk19HoM3HT1/lNdXvM6m4E2M\nbDiS1mVap7pW4tg0MXZWdLQdpR4aCgsW/Ntf8syVM5wJO8PVyKuER4VTMndJct2WyycxgW0pbt4c\n7rvPXi9n0M6HKoU6c8a2NTVqBB9+mHKS46NHbY/Ed96xXT58SRNjlTqdP2877GXNCrNnQ44cvi1f\nBN57z37rff+9vR/lomV/LePlpS9T/M7ivF/vfaoUquJqPIl1LuwcH67/kElbJtHr4V70fawv2TKn\n/vmsNDF2XkSEnYLqzjth+nTImNFnRccpJMTe+q1e/d++nEqlZGfPwhNPQPnytouS25+h06dtUvzs\ns3bRWF/TwXcqdcqVC374AQoVgocessNVfSUkBFq0gMWL7YSQLifFAI1LNGbnCztpdX8rWs5uyVPz\nnmLnqZ1uh3VLF65dYPhPwyn1aSlCroSwrcc2htQZkiaSYuUbmTPD3Lnw9992mdhr19yL5cgRqFnT\nJhljx2pSrFKH3LltH95Dh6BDB7h61b1YjhyxSXHbtu4kxcmhH3flvsyZYdIkGDTINtGMHOn8ENsV\nK2ynwbJl4eefoWBBZ8tLhCwZs9Dz4Z7sf2k/Dxd6mPoz6tNsVjPWHV5HSrvrcvzicfqu7Ms9n9zD\nH6f+4KeuPzGlxRSK5CridmgqFcqWzV4nR0bapPTCBd/HsHYtVKsGPXrA0KEp55a0Up7IkQOWLLE/\n16plpxj0tV274LHH7JpeQ4f6vvzk0q4UKmUJCoKOHW0Xh48/hkce8e7xjx2D/v1h1Sp7v7ZuXe8e\n3wFXI68yY/sMAjYEkDNLTp6v/DzPlH/Gp30tY4uWaAIPBTJ5y2SWH1hOp/Kd6FO9D/fcdY8r8fiC\ndqXwrago6NXLThLz3XdQxAfXWSK2dfj99+HLL6FBA+fLVMopIvDBB7Yb0Jw5Xp95NF5r1kC7drZ9\nq1Mn35QZH+1jrNKOqCj7zdS/P9SubS857703ecc8f94O8BszxjYF9esHOXN6JVxfiZZoVh5cyeQt\nk1lxYAVPlHyCNmXa0KRkE8e7LIgIW45v4Zvd3zB391xyZMlB98rd6fhgR+687U5Hy04JNDH2PRE7\niGjUKHtDqWVL58o6ccKuObR/PyxcCPek3Ws8lc4sWwb+/nYxkH79IItDq1lHRtrhOhMnwowZKePC\nUhNjlfZcugQBAXYxkCpV4H//s7NYeDp7hYjtszxhgl3BrmlT+8ktXtzRsH3h1OVTzN8zn2/3fMvm\nY5upWawmdYrXoU7xOlQoUIEMJvm9pI5fPE5gUCCBhwJZcXAFmTNmpm2ZtrR9oC2VC1ZO1bNMJJYm\nxu755Rfb57hZMxgxArJn996xReyX+BtvwHPP2ZHzt93mveMrlRIEB9slA4KC4Isv4OGHvXv8w4fh\n//7PjqGfMSPl9EzUxFilXWFhdrmcCRNgzx6oUcN2nqpUCfLls4/Mme1gupAQO2ni2rX2kSmT7ejU\nrRvkz+/2mTjizJUzrDq0isBDgQQGBXLs4jHK+ZXjQb8HKZOvDIXvKEzhOwrjl92P2zPdzu2ZbydT\nhkyERYRxJeIK56+dJ/hCMMEXgjl07hDbT25n+8nthEWEUat4LeoUr0Pde+pSNl/ZdJUMx6aJsbtC\nQ+Gll2D1ahg8GLp2Td6IexF7rEGD4OJFmyxUruy1cJVKcUTsynN9+tihPAMGQIkSyTtmaKidN3nK\nFLvU8xtvpKyBqpoYq/Th1ClYt84mvbt2/ZsMR0T8myQXL26HlNeqBSVLprvRM6FXQ/nj5B9sP7md\nvaf3cuziMYIvBBNyJYSwiDDCIsOIjI4kW+ZsZMucjZxZcv6TPBe/szjl/cpToUAFiuUqlm4T4Ztp\nYpwybN5sR7ifPWvXBWrb1k5s46mrV2HpUts94+RJ20Lcvn3KXp5WKW8KDbU9CseMsQNce/a0Q3kS\nk9AGBdnejp9+auf5HjLETiyV0mhirJRSDtHEOOUQscntlCm21bdJE7smz/VJZmJ3hQgLgz//tNfQ\ny5bZqcorVrTzqmpCrNKz0FDbS3HmTNtrsW1bO0CvbFm7oE3sOzLnzsH27bB1qx0Mu3OnHWDXsyeU\nK+feOdyKJsZKKeUQTYxTpjNnYN482LDBLim9f79NjDNksDeKLl+2t4sfeMDeRGrTBgoUcDtqpVKW\nXbtsb8Vff7U/nzhh+/JHR9ux8NHR8OCD9qKyXj07XCdrVrejvjVNjJVSyiGaGKcO4eE2Gb7+hX7X\nXf8uL62U8szly/Zuy/ULzFy5UlbfYU9pYqyUUg7RxFgppVIXXRJaKaWUUkqpZNDEWCmllFJKKTQx\nVkoppZRSCtDEWCmllFJKKUATY6WUUkoppQBNjJVSSimllAI0MVZKKaWUUgrQxFgppZRSSilAE2Ol\nlFJKKaUATYyVUkoppZQCNDFWSimllFIK0MRYKaWUUkopQBNjpZRSSimlAE2MlVJKKaWUAjQxVkop\npZRSCkhmYmyM+dAYs8cYs80Y860x5g5vBaaUUkoppZQvJbfF+EegrIhUBPYD/ZIfklJKKaWUUr6X\nrMRYRFaKSHTM041A4eSHpJRSSimllO95s49xN2CpF4+nlFJKKaWUz9wyMTbGrDDG7Ij1+CPm3+ax\ntukPRIjIrISONWjQoH8ea9asSX70KVx6OMeb6TmnfenhfNesWXNDfeUUY8xdxpgfjTF7jTHLjTG5\n4tmusTHmT2PMPmPMW7fa3xiT2xiz2hhz0Rgz5qZjVY6pw/cZY0Y7dnKpUHp4b99Mzzl9SI/nnFS3\nTIxFpIGIPBjrUT7m38UAxpguwBPAM7c6Vuwvmtq1ayc39hQvPb4R9ZzTvvRwvrVr1/ZJYgz0BVaK\nSGlgNXGM0zDGZAA+BRoBZYEOxpj7b7H/VWAA8FocZU4AnhWRUkApY0wjL55PqpYe3ts303NOH9Lj\nOSdVcmelaAy8AbQQkWveCUkppdKNlsD0mJ+nA0/GsU1VYL+IHBaRCGB2zH7x7i8iV0RkA3BDvWyM\nKQDkFJFfY16aEU+ZSimVLiW3j/FYIAewwhizxRgz3gsxKaVUeuEnIicBROQE4BfHNncDR2M9D455\nDSC/B/vffKzgeI6llFLpnhER3xRkjG8KUkopB4iIScp+xpgVQP7YLwGC7eowTURyx9r2jIjkuWn/\nNkAjEeke87wTUFVEXjbGnBORu+Lb3xjjDzwkIi/HPH8IGC4iDWOePwa8KSIt4ohb62ylVKqWlHo7\nkxOBxCWpXypKKZWaiUiD+H5njDlpjMkvIidjujmcimOzY0DRWM8Lx7wGcMKD/W8+VpF4jnVz3Fpn\nK6XSHV0SWiml3LMI6BLzsz/wXRzb/AqUMMYUM8ZkAdrH7Ofp/v8kuDHdLc4bY6oaYwzQOZ59lFIq\nXfJZVwqllFI3MsbkBuZiW3EPA0+LSKgxpiAwWUSaxWzXGPgE25jxuYiMSGj/mN8dAnICWYBQoKGI\n/BnTnWIacBvwg4i84qvzVUqplE4TY6WUUkoppXCgK0V8E9HftM0YY8x+Y8w2Y0xFb8fgS7c6X2PM\nM8aY7TGPn40x5d2I05s8+T+O2e5hY0yEMaa1L+Nzgofv69rGmK3GmJ3GmEBfx+htHry37zDGLIr5\nHP8RM6d5qmWM+Tymz++OBLZJM3XXdemtzgatt9NDva11dtqvs8GheltEvPbAJtp/AcWAzMA24P6b\ntmkCfB/z8yPARm/G4MuHh+dbDcgV83Pj1Hy+np5zrO1WAUuA1m7H7YP/51zALuDumOd53Y7bB+fc\nDzvDAUBe4AyQye3Yk3HOjwEVgR3x/D7N1F2J/H9OU+et9Xbar7e1zk4fdXbMeXi93vZ2i3FCE9Ff\n1xI7qTwisgnIZYzJT+p0y/MVkY0icj7m6UZS/5yhnvwfA7wEfMOtR8mnBp6c8zPAtyJyDEBETvs4\nRm/z5JwF24eVmH/PiEikD2P0KhH5GTiXwCZpqe66Lr3V2aD1dnqot7XOTgd1NjhTb3s7MU5oIvr4\ntjkWxzaphSfnG9tzwFJHI3LeLc/ZGFMIeFJEJhBrRHwq5sn/cykgtzEm0BjzqzHm/3wWnTM8OedP\ngQeMMX8D24G0PogrLdVd16W3Ohu03oa0X29rna119nWJrr98No9xemeMqQN0xTb7p3Wjgdj9m1J7\nJeuJTEBloC6QHfjFGPOLiPzlbliOagRsFZG6xpj7sCtgPigil9wOTClv0Ho7TdM6W+vsOHk7MU5o\nIvrY23g0wXwq4Mn5Yox5EJgENBaRhJr8UwNPzrkKMDtmntS8QBNjTISILCJ18uScg4HTInIVuGqM\nWQdUwPb5So08OeeuwHAAETkQMz3Y/cBvPonQ99JS3XVdequzQettSPv1ttbZWmdfl+j6y9tdKRKa\niP66RdhJ5THGVANCReSkl+PwlVuerzGmKPAt8H8icsCFGL3tlucsIvfGPO7B9ld7IZVWrtd58r7+\nDnjMGJPRGJMN28l/j4/j9CZPzvkwUB8gps9WKeCgT6P0PkP8LWVpqe66Lr3V2aD1dnqot7XOTj91\nNni53vZqi7GIRBljXgR+5N+J6PcYY3rYX8skEfnBGPOEMeYv4DL2CiZV8uR8gYFAbmB8zJV4hIhU\ndS/q5PHwnG/YxedBepmH7+s/jTHLgR1AFDBJRHa7GHayePj//B4wLdY0OW+KyFmXQk42Y8wsoDaQ\nxxhzBHgXuzhGmqu7rktvdTZovU06qLe1zk4fdTY4U2/rAh9KKaWUUkrhwAIfSimllFJKpUaaGCul\nlFJKKYUmxkoppZRSSgGaGCullFJKKQVoYqyUUkoppRSgibFSSimllFKAJsZKKaWUUkoB8P8ImNto\n4o4C2AAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy.special import hermite\n", "from scipy.misc import factorial\n", "from math import pi\n", "root_pi = np.sqrt(pi)\n", "def N(n, alpha):\n", " return np.sqrt(alpha / (root_pi * (2.0**n) * factorial(n)))\n", "def phi(x,n,alpha):\n", " return N(n,alpha) * hermite(n)(alpha * x) * np.exp(-0.5 * alpha**2 * x**2)\n", "\n", "x2 = np.linspace(-width/2,width/2,num_x_points)\n", "#pl.plot(x,phi(x2,1,np.sqrt(np.sqrt(omega))))\n", "\n", "# Define a figure to take two plots\n", "fig3 = pl.figure(figsize=[12,3])\n", "# Add subplots: number in y, x, index number\n", "axb = fig3.add_subplot(121,autoscale_on=False,xlim=(0,1),ylim=(-2.1,2.1))\n", "axb.set_title(\"Eigenvectors for perturbed system\")\n", "axb2 = fig3.add_subplot(122,autoscale_on=False,xlim=(0,1),ylim=(-0.001,0.001))\n", "axb2.set_title(\"Difference to perfect square well eigenvectors\")\n", "#axb2.set_title(\"Difference to QHO eigenvectors\")\n", "for m in range(3): # Plot the first four states\n", " psi = np.zeros(num_x_points)\n", " for i in range(num_basis):\n", " psi = psi+eigenvectors[i,m]*basis_functions_array[i]\n", " if 2*(m/2)!=m: # This is just to ensure that psi and the basis function have the same phase\n", " psi = -psi\n", " axb.plot(x,psi)\n", " psi = psi - basis_functions_array[m]\n", " axb2.plot(x,psi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we would expect, the eigenvectors are almost unchanged.\n", "\n", "### Large perturbation - approximate QHO\n", "\n", "Now we will go beyond a small perturbation, by making the QHO potential much stronger. We have to be a little careful how we do this: we'll see the effects of making the potential *too* strong lower down.\n", "\n", "We'll also plot the eigenvectors, this time comparing them to the full QHO eigenvectors." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 45.776 -0.000 47.494 -0.000 8.795 0.000 3.078 -0.000 1.425 -0.000\n", " -0.000 108.074 -0.000 56.290 0.000 11.874 0.000 4.503 -0.000 2.199\n", " 47.494 -0.000 141.544 0.000 59.368 0.000 13.298 -0.000 5.277 0.000\n", " 0.000 56.290 0.000 179.166 0.000 60.793 -0.000 14.072 -0.000 5.744\n", " 8.795 -0.000 59.368 -0.000 225.004 -0.000 61.567 0.000 14.539 -0.000\n", " 0.000 11.874 0.000 60.793 -0.000 280.060 -0.000 62.033 0.000 14.842\n", " 3.078 -0.000 13.298 -0.000 61.567 -0.000 344.679 -0.000 62.336 -0.000\n", " -0.000 4.503 -0.000 14.072 0.000 62.033 -0.000 419.004 -0.000 62.544\n", " 1.425 -0.000 5.277 -0.000 14.539 -0.000 62.336 -0.000 503.104 -0.000\n", " 0.000 2.199 0.000 5.744 -0.000 14.842 -0.000 62.544 -0.000 597.013\n", "Perturbation matrix elements:\n", " 40.841 -0.000 47.494 0.000 8.795 0.000 3.078 -0.000 1.425 0.000\n", " -0.000 88.335 -0.000 56.290 0.000 11.874 -0.000 4.503 -0.000 2.199\n", " 47.494 -0.000 97.130 -0.000 59.368 0.000 13.298 0.000 5.277 0.000\n", " 0.000 56.290 -0.000 100.209 -0.000 60.793 -0.000 14.072 -0.000 5.744\n", " 8.795 0.000 59.368 -0.000 101.634 0.000 61.567 0.000 14.539 -0.000\n", " 0.000 11.874 0.000 60.793 0.000 102.407 -0.000 62.033 -0.000 14.842\n", " 3.078 -0.000 13.298 -0.000 61.567 -0.000 102.874 -0.000 62.336 -0.000\n", " -0.000 4.503 -0.000 14.072 0.000 62.033 -0.000 103.177 -0.000 62.544\n", " 1.425 -0.000 5.277 -0.000 14.539 -0.000 62.336 -0.000 103.385 -0.000\n", " 0.000 2.199 0.000 5.744 -0.000 14.842 -0.000 62.544 -0.000 103.533\n", "\n", "Eigenvalues and eigenvector coefficients printed roughly\n", "[ 25.0007 75.0161 125.1641 175.9898 228.9861 286.5714 351.5116\n", " 424.9498 529.4435 620.7907]\n", "[ 9.0718e-01 9.9888e-16 3.8803e-01 -1.5581e-16 1.5570e-01\n", " 8.0255e-17 -4.5610e-02 4.1496e-17 -1.1746e-02 -5.1886e-17]\n", "[ 6.1062e-16 -8.4746e-01 1.1102e-15 4.9390e-01 -2.2204e-16\n", " 1.8744e-01 -6.1062e-16 5.0480e-02 3.7470e-16 1.3696e-02]\n", "[ -4.1202e-01 5.5511e-16 7.4170e-01 -1.6653e-16 4.9802e-01\n", " 2.7756e-16 -1.7329e-01 6.9389e-18 -4.5479e-02 1.5092e-16]\n", "\n", " QHO Square Perfect QHO Difference Perfect Square Difference\n", " 25.001 25.000 0.001 4.935 20.066\n", " 75.016 75.000 0.016 19.739 55.277\n", " 125.164 125.000 0.164 44.413 80.751\n", " 175.990 175.000 0.990 78.957 97.033\n", " 228.986 225.000 3.986 123.370 105.616\n", " 286.571 275.000 11.571 177.653 108.919\n", " 351.512 325.000 26.512 241.805 109.706\n", " 424.950 375.000 49.950 315.827 109.122\n", " 529.443 425.000 104.443 399.719 129.724\n", " 620.791 475.000 145.791 493.480 127.310\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Make omega larger, so that the QHO energy dominates the square well\n", "omegaLarger = 50.0\n", "omegaLarger2 = omegaLarger**2\n", "Potential_with_QHO2 = np.linspace(0.0,width,num_x_points)\n", "potential_bump = square_well_and_QHO_potential(x,Potential_with_QHO2,omegaLarger2)\n", "\n", "# Declare space for the matrix elements\n", "H_matrix3 = np.eye(num_basis)\n", "\n", "# Loop over basis functions phi_n (the bra in the matrix element)\n", "for n in range(num_basis):\n", " # Loop over basis functions phi_m (the ket in the matrix element)\n", " for m in range(num_basis):\n", " # Act with H on phi_m and store in H_phi_m\n", " H_phi_m = -0.5*second_derivative_basis_functions_array[m] \n", " add_potential_on_basis(H_phi_m,Potential_with_QHO2,basis_functions_array[m])\n", " # Create matrix element by integrating\n", " H_matrix3[m,n] = integrate_functions(basis_functions_array[n],H_phi_m,dx)\n", " # The comma at the end prints without a new line; the %8.3f formats the number\n", " print \"%8.3f\" % H_matrix3[m,n],\n", " # This print puts in a new line when we have finished looping over m\n", " print\n", " \n", "print \"Perturbation matrix elements:\"\n", "# Loop over basis functions phi_n (the bra in the matrix element)\n", "for n in range(num_basis):\n", " # Loop over basis functions phi_m (the ket in the matrix element)\n", " for m in range(num_basis):\n", " # Act with H on phi_m and store in H_phi_m\n", " H_phi_m = np.zeros(num_x_points)\n", " add_potential_on_basis(H_phi_m,Potential_with_QHO2,basis_functions_array[m])\n", " # Create matrix element by integrating\n", " H_mn = integrate_functions(basis_functions_array[n],H_phi_m,dx)\n", " # The comma at the end prints without a new line; the %8.3f formats the number\n", " print \"%8.3f\" % H_mn,\n", " # This print puts in a new line when we have finished looping over m\n", " print\n", " \n", "# Solve using linalg module of numpy (which we've imported as la above)\n", "eigenvalues, eigenvectors = la.eigh(H_matrix3)\n", "# This call above does the entire solution for the eigenvalues and eigenvectors !\n", "# Print results roughly, though apply precision of 4 to the printing\n", "print\n", "print \"Eigenvalues and eigenvector coefficients printed roughly\"\n", "np.set_printoptions(precision=4)\n", "print eigenvalues\n", "print eigenvectors[0]\n", "print eigenvectors[1]\n", "print eigenvectors[2]\n", "print\n", "\n", "print \" QHO Square Perfect QHO Difference Perfect Square Difference\"\n", "for i in range(num_basis):\n", " n = i+1\n", " print \" %8.3f %8.3f %8.3f %8.3f %8.3f\" % (eigenvalues[i],omegaLarger*(i+0.5),eigenvalues[i] - omegaLarger*(i+0.5),n*n*np.pi*np.pi/2.0,eigenvalues[i] - n*n*np.pi*np.pi/2.0)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define a figure to take two plots\n", "fig4 = pl.figure(figsize=[12,3])\n", "# Add subplots: number in y, x, index number\n", "axc = fig4.add_subplot(121,autoscale_on=False,xlim=(0,1),ylim=(-2.1,2.1))\n", "axc.set_title(\"Eigenvectors for perturbed system\")\n", "axc2 = fig4.add_subplot(122,autoscale_on=False,xlim=(0,1),ylim=(-0.1,0.1))\n", "#axc2.set_title(\"QHO eigenvectors\")\n", "axc2.set_title(\"Difference to QHO eigenvectors\")\n", "for m in range(3): # Plot the first four states\n", " psi = np.zeros(num_x_points)\n", " for i in range(num_basis):\n", " psi = psi+eigenvectors[i,m]*basis_functions_array[i]\n", " #if 2*(m/2)!=m: # This is just to ensure that psi and the basis function have the same phase\n", " # psi = -psi\n", " axc.plot(x,psi)\n", " psi = psi - phi(x2,m,np.sqrt(omegaLarger))\n", " axc2.plot(x,psi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can see two things:\n", "\n", "* For the lower eigenvalues, the energy is almost a perfect match to the QHO, and the eigenvectors are also an excellent match (except at the edges, where the hard walls of the square well will have an effect)\n", "* For the higher eigenvalues, once the energy is within 10-20% of the energy at the top of the QHO potential, the eigenvalues diverge strongly \n", "\n", "This second result comes about when the perturbation (the QHO well) becomes comparable to the square well energy. If we went higher in energy, we'd gradually recover the square well eigenvalues.\n", "\n", "## Basis set size\n", "\n", "We'll now see the problem with using a finite basis set (we defined `num_basis`, the number of basis functions to include, as 10 above, to make matrices a sensible size). If we make the QHO potential *huge* compared to the square well eigenvalues, we'll find that the resulting eigenfunctions are very compressed, and that our ten square well eigenstates are not enough to properly represent them. \n", "\n", "The calculation takes the usual form: define a potential; form a Hamiltonian matrix (we won't print the potential matrix this time); diagonalise; analyse the results." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4089.027 -0.000 4749.429 0.000 879.522 0.000 307.831 -0.000 142.479 0.000\n", " -0.000 8853.261 -0.000 5628.951 -0.000 1187.353 -0.000 450.310 -0.000 219.873\n", "4749.429 -0.000 9757.457 -0.000 5936.782 0.000 1329.832 0.000 527.703 0.000\n", " 0.000 5628.951 -0.000 10099.831 -0.000 6079.261 -0.000 1407.225 -0.000 574.367\n", " 879.522 0.000 5936.782 -0.000 10286.723 0.000 6156.655 0.000 1453.889 -0.000\n", " 0.000 1187.353 0.000 6079.261 0.000 10418.400 -0.000 6203.318 -0.000 1484.172\n", " 307.831 -0.000 1329.832 -0.000 6156.655 -0.000 10529.215 -0.000 6233.601 -0.000\n", " -0.000 450.310 -0.000 1407.225 0.000 6203.318 -0.000 10633.521 -0.000 6254.361\n", " 142.479 -0.000 527.703 -0.000 1453.889 -0.000 6233.601 -0.000 10738.172 -0.000\n", " 0.000 219.873 0.000 574.367 -0.000 1484.172 -0.000 6254.361 -0.000 10846.779\n", " QHO Square Perfect QHO Difference\n", " 341.200 250.000 91.200\n", " 1091.149 750.000 341.149\n", " 2607.504 1250.000 1357.504\n", " 3836.361 1750.000 2086.361\n", " 6937.708 2250.000 4687.708\n", " 8364.067 2750.000 5614.067\n", " 13428.721 3250.000 10178.721\n", " 14703.795 3750.000 10953.795\n", " 22085.462 4250.000 17835.462\n", " 22856.419 4750.000 18106.419\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEACAYAAABGYoqtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xv81/P9//Hbo1qFDhNySCWrdBiSie9iPhjpy9RsyKma\n+JFT2ExhK6dZDUtSZjRFiTGKtUrjs7BUttL5MKlVKl+pUA4dHr8/nq+P3vL59Hn3eR9e78P9erm8\nL16f5+f1er8f75dP78f7eTZ3R0REpDzV4g5ARERyl5KEiIhUSElCREQqpCQhIiIVUpIQEZEKKUmI\niEiFKk0SZlbLzKab2Swzm2tm/aPy/ma2ysz+HT3OTLimn5ktNbOFZnZGQnl7M5tjZkvMbHBCeU0z\nGxtdM83MmqT7jYqIyJ6rNEm4+xfAKe5+DNAO6GxmHaJfP+Du7aPHRAAzaw2cD7QGOgPDzMyi84cD\nvdy9JdDSzDpF5b2Aj9y9BTAYGJSm9yciIilIqrnJ3bdEh7WAGkDZDDwr5/QuwFh33+buy4GlQAcz\nOwio6+4zo/NGAV0TrhkZHT8HnLYnb0JERDIjqSRhZtXMbBawFngl4YP+WjObbWaPmVn9qKwRsDLh\n8tVRWSNgVUL5qqjsa9e4+3Zgo5k1qMobEhGR9Em2JrEjam46lFAraAMMAw5393aE5HF/GuMqr4Yi\nIiJZVmNPTnb3j82sFDjT3R9I+NUfgZei49VA44TfHRqVVVSeeM37ZlYdqOfuH+36+mamhaZERKrA\n3av05TuZ0U37lzUlmdlewOnAoqiPocy5wLzoeDzQLRqx1AxoDsxw97XAJjPrEHVkdwfGJVzTIzo+\nD3i1onjcXQ93+vfvH3sMufLQvdC90L3Y/SMVydQkDgZGmlk1QlJ5xt0nmNkoM2sH7ACWA1dGH+IL\nzOxZYAGwFbjad0Z5DfAEUBuY4NGIKOBx4EkzWwqsB7ql9K5ERCQtKk0S7j4XaF9OeffdXHMvcG85\n5f8Cjiyn/AvCsFkREckhmnGdp0pKSuIOIWfoXuyke7GT7kV6WKrtVdlkZp5P8YqI5AIzwzPVcS0i\nIsVLSUJERCqkJCEiIhVSkhARkQopSYiISIWUJEREpEJKEiIiUiElCRERqZCShIiIVEhJQkREKqQk\nISIiFVKSEBGRCilJiIhIhZQkRESkQkoSIiJSISUJERGpkJKEiEgB+/zz1K5XkhARKWDdu6d2fd4l\nifXr445ARCQ/rFoFU6ak9hx5lyQefzzuCERE8sMjj8DFF6f2HObu6YkmC8zMmzZ13n0XqlePOxoR\nkdz1xRfQpAn84x/QurXh7laV56m0JmFmtcxsupnNMrO5ZtY/Kt/XzCab2WIzm2Rm9ROu6WdmS81s\noZmdkVDe3szmmNkSMxucUF7TzMZG10wzsyYVxXPQQfDyy1V5qyIixePZZ+Hoo6FVq9Sep9Ik4e5f\nAKe4+zFAO6CzmXUA+gJT3P0I4FWgH4CZtQHOB1oDnYFhZlaWwYYDvdy9JdDSzDpF5b2Aj9y9BTAY\nGFRRPNddB0OH7vkbFREpJkOHwrXXpv48SfVJuPuW6LAWUANwoAswMiofCXSNjs8Bxrr7NndfDiwF\nOpjZQUBdd58ZnTcq4ZrE53oOOK2iWM47D+bNg4ULk4lcRKT4zJgBH3wAZ52V+nMllSTMrJqZzQLW\nAq9EH/QHuvs6AHdfCzSMTm8ErEy4fHVU1ghYlVC+Kir72jXuvh3YaGYNyoulZk244grVJkREKvLQ\nQ3DNNenpu62RzEnuvgM4xszqAS+YWVtCbeJrp6Uezlcq7GAZMGAAmzfDiBHQuXMJZ59dksaXFRHJ\nb+vWwQsvlHLIIaUMGJD68yWVJMq4+8dmVgqcCawzswPdfV3UlPRBdNpqoHHCZYdGZRWVJ17zvplV\nB+q5+0flxTAgetdr1sDSpXsSvYhI4QvDXksYOLDkq7I77rijys+XzOim/ctGLpnZXsDpwEJgPNAz\nOq0HMC46Hg90i0YsNQOaAzOiJqlNZtYh6sjuvss1PaLj8wgd4bt1/fWhSrV9e+VvUkSkGHz5ZUgS\n11+fvudMpiZxMDDSzKoRksoz7j7BzN4CnjWzy4AVhBFNuPsCM3sWWABsBa72nZMxrgGeAGoDE9x9\nYlT+OPCkmS0F1gPdKgvqhBPggAPCcNguXZJ8tyIiBezZZ6Ft2/BIl7ybTJcY75gx8Nhj8Gql9Q4R\nkcLmDh06wK9/DT/60dd/Z5bByXS57Kc/hUWLYM6cuCMREYnXtGmwYUN6hr0myuskUbMm9O4NQ4bE\nHYmISLwefDBMNq6W5k/1vG5ugjBh5Igjwkin/fePKTARkRitWgVHHQXLl0O9et/8fdE2NwE0bAhd\nu8If/hB3JCIi8Rg6FC69tPwEkaq8r0lA6JM488yQRWvWzH5cIiJx2bwZmjaF6dPhO98p/5yirklA\nqGa1aQPPPBN3JCIi2TVyJJx0UsUJIlUFkSQAbrwRfv/7MAxMRKQY7NgBgwfDTTdl7jUKJkl07gxb\ntsDUqXFHIiKSHRMmhH6IE0/M3GsUTJKoVg1uuCHUJkREisEDD4RWFKtSb0NyCqLjusyWLaEDZ9o0\naN48i4GJiGTZ7Nlw9tmwbFnlA3aKvuO6zN57h70mHnww7khERDJr8OCwZ0SmR3QWVE0C4P334bvf\nhf/8BxqUu22RiEh+29PPOdUkEhxyCJxzjibXiUjheughuOSS7HwRLriaBMDcudCpE7z3HtSqlYXA\nRESy5NNP4bDDwj7Whx+e3DWqSeziyCPDBLunn447EhGR9BoxAk45JfkEkaqCrEkAvPJKGBo2d25m\nh4eJiGTLtm3QogWMHQvHH5/8dapJlOOHP4Tq1WHSpLgjERFJj7/8BRo12rMEkaqCTRJm8POfw333\nxR2JiEjq3OH+++EXv8ju6xZskgDo1i3sXDdrVtyRiIik5vXXw85zu25NmmkFnSRq1gxLdQwaFHck\nIiKpGTQo1CKqV8/u6xZsx3WZjz8OowBmzoRmzTIUmIhIBs2bB6efHob1166959er43o36tULS3U8\n8EDckYiIVM1998H111ctQaSq4GsSAGvWQNu2sGSJ9sEWkfyyciW0axeW4Nh336o9R0ZrEmZ2qJm9\nambzzWyumV0Xlfc3s1Vm9u/ocWbCNf3MbKmZLTSzMxLK25vZHDNbYmaDE8prmtnY6JppZtakKm+m\nIgcfDD/5CTz8cDqfVUQk8wYPhp49q54gUlVpTcLMDgIOcvfZZlYH+BfQBbgA+MTdH9jl/NbAGOA4\n4FBgCtDC3d3MpgPXuvtMM5sAPOjuk8ysN3Cku19tZhcAP3b3buXEUqWaBMDixWGLv/feg332qdJT\niIhk1YYNYVvSd96Bxo2r/jwZrUm4+1p3nx0dfwosBBqVvXY5l3QBxrr7NndfDiwFOkTJpq67z4zO\nGwV0TbhmZHT8HHBaFd7Lbh1xRNi9acSIdD+ziEhmDB8e9oxIJUGkao86rs3sMKAdMD0qutbMZpvZ\nY2ZWPyprBKxMuGx1VNYIWJVQvoqdyeara9x9O7DRzNK+vmHfvqEDaOvWdD+ziEh6bdkCQ4bALbfE\nG0eNZE+MmpqeA/q4+6dmNgy4M2pGuhu4H7g8TXFVWC0aMGDAV8clJSWUlJQk/aQdOoQd655+Grp3\nTyU8EZHMGjECTjghDLrZU6WlpZSWlqYljqRGN5lZDeBl4G/u/o1938ysKfCSux9lZn0Bd/eB0e8m\nAv2BFcBr7t46Ku8GnOzuvcvOcffpZlYdWOPuDct5nSr3SZSZMiUMJZs3L+yLLSKSa7ZuDQv5PfNM\netZpysY8iRHAgsQEEfUxlDkXmBcdjwe6RSOWmgHNgRnuvhbYZGYdzMyA7sC4hGt6RMfnAa9W5c0k\n47TTwjan48dn6hVERFLz9NNhEnA2F/KrSDKjmzoCU4G5gEePW4GLCP0TO4DlwJXuvi66ph/QC9hK\naJ6aHJUfCzwB1AYmuHufqLwW8CRwDLAe6BZ1eu8aS8o1CYDnnw9T3N96S8uIi0hu2bEj7IkzeHCY\nZZ0OqdQkimIy3a527IA2bcLIgVNOSUNgIiJpMm4c3HVXWEooXV9itSzHHqpWLYwY+M1v4o5ERGQn\n9/C51Ldv7rRyFGWSALj44rBMx/TplZ8rIpINf/87fPIJnHtu3JHsVLRJomZN+OUv4Z574o5ERCS4\n+27o1y+3Rl4WZZ9Emc8+C1Pe//Y3OProtD2tiMgee+ONMH9ryRKokfQMtuSoT6KK9torbHGqvgkR\nids994RaRLoTRKqKuiYB8OmnYTzy1KnQqlVan1pEJClvvw0//nFYDrxWrfQ/v2oSKahTJ8zAvvfe\nuCMRkWJ1zz1w882ZSRCpKvqaBMDGjWFNpxkzQq1CRCRb5s4Nk+aWLQurQWSCahIp+va3oXdv9U2I\nSPbddVfoG81UgkiVahKRjz4KC2r9619w2GEZeQkRka+ZPx9OPRXefTc0fWeKahJp0KABXHkl/Pa3\ncUciIsXinnvgxhszmyBSpZpEgg8/DDvYzZoFTdK6y7aIyNctWgQ/+EGoRdStm9nXUk0iTfbfHy6/\nHAYOjDsSESl099wDffpkPkGkSjWJXXzwQZgvMWcOHHpoRl9KRIrU0qXw/e+HWkS9epl/PdUk0qhh\nQ+jVS30TIpI5d90F112XnQSRKtUkyvHBB9C6NcyeDY0bZ/zlRKSILF4MJ54YZlfXr5+d11RNIs0a\nNoQrrtC8CRFJvzvvDCOaspUgUqWaRAXKRjr9+9/QtGlWXlJECtzChXDyydkZ0ZRINYkM2H9/uOoq\n7TchIulzxx1hdnWuj2hKpJrEbpTNwn77bWjWLGsvKyIFaN48OO20zM+uLo9qEhnSoAFcc00YiSAi\nkoo77ggrveby7OryqCZRiY0bQ23izTehZcusvrSIFIhZs+Css8KIpjgW8lNNIoO+/e0wEmHAgLgj\nEZF89atfwa235u5Kr7tTaZIws0PN7FUzm29mc83s+qh8XzObbGaLzWySmdVPuKafmS01s4VmdkZC\neXszm2NmS8xscEJ5TTMbG10zzcxyauWk66+HV18N676LiOyJadPCZ8cVV8QdSdUkU5PYBtzk7m2B\n/wGuMbNWQF9girsfAbwK9AMwszbA+UBroDMwzMzKqjnDgV7u3hJoaWadovJewEfu3gIYDAxKy7tL\nkzp14JZbwrcBEZE9cdtt8Otf5+auc8moNEm4+1p3nx0dfwosBA4FugAjo9NGAl2j43OAse6+zd2X\nA0uBDmZ2EFDX3WdG541KuCbxuZ4DTkvlTWVC795hr4kZM+KORETyxd//DqtWQY8ecUdSdXvUJ2Fm\nhwHtgLeAA919HYREAjSMTmsErEy4bHVU1ghYlVC+Kir72jXuvh3YaGYN9iS2TKtdG26/XbUJEUmO\ne/jMuOMOqFEj7miqLunQzawO4Vt+H3f/1Mx2HWaUzmFHFfbCD0joQS4pKaGkpCSNL7t7l10GgwZB\naSlk8WVFJA+9/DJs3gwXXJD91y4tLaW0tDQtz5XUEFgzqwG8DPzN3R+MyhYCJe6+LmpKes3dW5tZ\nX8DdfWB03kSgP7Ci7JyovBtwsrv3LjvH3aebWXVgjbs3LCeOrA+B3dWYMTBkSOiMsioNKBORQrd9\nOxx9dFhN+uyz444mO0NgRwALyhJEZDzQMzruAYxLKO8WjVhqBjQHZkRNUpvMrEPUkd19l2vKWu3O\nI3SE56Ru3eCzz2DcuMrPFZHiNHp0GD5/1llxR5K6SmsSZtYRmArMJTQpOXArMAN4FmhMqCWc7+4b\no2v6EUYsbSU0T02Oyo8FngBqAxPcvU9UXgt4EjgGWA90izq9d40l9poEwIQJ8ItfhGFt1avHHY2I\n5JIvvgiLgz71VFgSPBekUpPQjOsqcA8rOV52GfTsGXc0IpJLhgyByZNDn0SuUJKIwZtvwkUXhQ1E\nateOOxoRyQWffBKW8Zk8GY46Ku5odtKyHDHo2DF0TA0bFnckIpIr7r8/rPSaSwkiVapJpGDePDj1\nVFiyJHRSiUjxWrsW2rbNza0F1NwUo8svDxsU/fa3cUciInG6+urQ9PzAA3FH8k1KEjFavTpULWfN\ngiY5tSyhiGTL4sVhJNOiRbDffnFH801KEjG77baQLJ54Iu5IRCQO554Lxx8fFgLNRUoSMdu0KWxI\n9MorhdVhJSKV++c/wyTbxYthr73ijqZ8Gt0Us/r1w0Jev/xl3JGISDa5hy1J77wzdxNEqpQk0uTK\nK8MG55MmxR2JiGTL88+HRfwuvTTuSDJHzU1p9OKLYSnx2bO1XIdIofviC2jTBh59NMyNyGVqbsoR\nXbpAgwYwYkTckYhIpg0dGpJErieIVKkmkWb/+ldYGnjJEqhbN+5oRCQT1q+HVq3g9dfDf3OdRjfl\nmO7dw5yJu++OOxIRyYQ+fcKeEUOHxh1JcpQkcszKldCunSbYiRSisolzCxbAAQfEHU1y1CeRYxo3\nhmuvzd2JNSJSdT//OfTtmz8JIlWqSWTI5s2hrfLpp3Nn4xERSc3EiXD99WFxz5o1444meapJ5KB9\n9oGBA+GGG2DHjrijEZFUbd0KN94YFvDLpwSRKiWJDLrwwvDHNHJk3JGISKqGDw99jIWwb/WeUHNT\nhs2cGeZPLF6sIbEi+erDD8OciNLS8N98o9FNOa5nTzjwwND8JCL5p3dvqFEDHnoo7kiqRkkix61d\nC9/9btgX+4gj4o5GRPbErFnQuTMsXAj77ht3NFWjjuscd9BBcOutoRM7D3OcSNFyh+uuCxNj8zVB\npEpJIkuuuw5WrICXXoo7EhFJ1ujRYSG/yy6LO5L4VJokzOxxM1tnZnMSyvqb2Soz+3f0ODPhd/3M\nbKmZLTSzMxLK25vZHDNbYmaDE8prmtnY6JppZlaQc5S/9S0YMiTUJj77LO5oRKQyH38cJsQOHQrV\nivjrdDJv/U9Ap3LKH3D39tFjIoCZtQbOB1oDnYFhZlbWDjYc6OXuLYGWZlb2nL2Aj9y9BTAYGFT1\nt5PbfvhDaN8efve7uCMRkcrcdRd06hS2JS1mlSYJd38D2FDOr8rrBOkCjHX3be6+HFgKdDCzg4C6\n7j4zOm8U0DXhmrKZBM8BBb3w7v33hxrFe+/FHYmIVGT+/LBn/b33xh1J/FKpRF1rZrPN7DEzqx+V\nNQJWJpyzOiprBKxKKF8VlX3tGnffDmw0swYpxJXTmjaFX/wi9FGoE1sk97jD1VfDHXeEoevFrkYV\nrxsG3OnubmZ3A/cDl6cppt0O0xowYMBXxyUlJZSUlKTpZbPnppvCLOzx48NEOxHJHU89FdZeu/LK\nuCOputLSUkpLS9PyXEnNkzCzpsBL7n7U7n5nZn0Bd/eB0e8mAv2BFcBr7t46Ku8GnOzuvcvOcffp\nZlYdWOPuDSuIIy/nSZTntdfCJLsFC8I6TyISv40boXXr8AXuuOPijiZ9sjFPwkj4hh/1MZQ5F5gX\nHY8HukUjlpoBzYEZ7r4W2GRmHaKO7O7AuIRrekTH5wGvVuWN5JtTTgmrw2pjIpHccfvt0LVrYSWI\nVFVakzCzMUAJsB+wjlAzOAVoB+wAlgNXuvu66Px+hBFLW4E+7j45Kj8WeAKoDUxw9z5ReS3gSeAY\nYD3QLer0Li+WgqlJAKxZA0cdFdaDads27mhEitvbb4ethxcsCHvVFxIty5HHHn4Yxo6Ff/yjuMdi\ni8Rp2zbo0CEsBX7ppXFHk35aliOPXXVVWKf+8cfjjkSkeA0ZEmoPl1wSdyS5RzWJHDBnTphoN3eu\nhtyJZNuKFXDssTBtGrRoEXc0maHmpgJwyy2wciWMGRN3JCLFwx3OOQdOOAFuuy3uaDJHzU0FoH9/\neOstmDQp7khEisdf/gLLlsHNN8cdSe5STSKHTJoU+ijmzoU6deKORqSwbdgQ9nl59lno2DHuaDJL\nzU0FpEePsG794MGVnysiVderF+y9d/7uNrcnlCQKyPr14dvNCy+EdlIRSb8pU0KSmDevOPaeV59E\nAdlvv1CL6NUrbHYiIum1eTP8v/8HjzxSHAkiVapJ5CD3sDTAMcdAwnqGIpIGN90E//d/8OSTcUeS\nPWpuKkCrV4ck8corcPTRcUcjUhj++U/4yU/C4JD99487muxRc1MBatQIBg4MK8Vu3Rp3NCL577PP\nwl7VQ4cWV4JIlZJEDuvZEw4+WLtjiaTDr34F7dqFmoQkT81NOW7VqtDsNGWKmp1EqqqsmWnOHDjg\ngLijyT41NxWwQw+FQYPU7CRSVYnNTMWYIFKlmkQecA/r3H/ve2HfXRFJ3o03hr1bxo6NO5L4aHRT\nEVizJrSnvvRSWPdeRCr32mthf4h33glzkIqVmpuKwMEHh+UDLr0UtmyJOxqR3LdpU2im/eMfiztB\npEo1iTxz0UVh+N6QIXFHIpLbevaE2rXDzOpil0pNoka6g5HMevjhsC/2OeeEjYpE5JteeAHeeANm\nz447kvynmkQeeuWVMFpj9mxVo0V29f770L592Cvi+9+PO5rcoI7rInTTTbB8OTz/PFiV/teLFJ4d\nO+DMM0Ny0LpnO6njugj95jfw7rswYkTckYjkjgcfhE8+gdtvjzuSwqGaRB6bPx9OPjnMJm3ZMu5o\nROL1zjuhn276dDj88LijyS0ZrUmY2eNmts7M5iSU7Wtmk81ssZlNMrP6Cb/rZ2ZLzWyhmZ2RUN7e\nzOaY2RIzG5xQXtPMxkbXTDOzJlV5I8WobdtQpb74Yvjyy7ijEYnPli1h5N/99ytBpFsyzU1/Ajrt\nUtYXmOLuRwCvAv0AzKwNcD7QGugMDDP7qsV8ONDL3VsCLc2s7Dl7AR+5ewtgMDAohfdTdK65Jsyh\n6Ncv7khE4nPDDWGy6aWXxh1J4ak0Sbj7G8CGXYq7ACOj45FA1+j4HGCsu29z9+XAUqCDmR0E1HX3\nmdF5oxKuSXyu54DTqvA+ipYZ/OlP8Oc/w1//Gnc0Itn3zDNhZvUjj2gQRyZUteO6obuvA3D3tUDD\nqLwRsDLhvNVRWSNgVUL5qqjsa9e4+3Zgo5k1qGJcRWm//WD06LDl6erVcUcjkj3LlsG114ZEoa1I\nMyNdk+nS2Zu82+8CAxLGtZWUlFBSUpLGl85fJ50Ump4uvhj+/neoXj3uiEQy68sv4YILwkim9u3j\njia3lJaWUlpampbnSmp0k5k1BV5y96OinxcCJe6+LmpKes3dW5tZX8DdfWB03kSgP7Ci7JyovBtw\nsrv3LjvH3aebWXVgjbs3/GYUGt1Ume3b4Ywzwhjxu+6KOxqRzLrhBnjvPXjxRTUzVSYb8ySMr3/D\nHw/0jI57AOMSyrtFI5aaAc2BGVGT1CYz6xB1ZHff5Zoe0fF5hI5wqYLq1WHMmNBHMXFi3NGIZM5z\nz8H48fDEE0oQmVZpTcLMxgAlwH7AOkLN4EXgz0BjQi3hfHffGJ3fjzBiaSvQx90nR+XHAk8AtYEJ\n7t4nKq8FPAkcA6wHukWd3uXFoppEEqZOhfPPhxkzoIkGFEuBWbIEOnYMX4SOPTbuaPKDluWQbxg0\nKKxdM3Uq1KwZdzQi6bFlC/zP/0Dv3nDVVXFHkz+UJOQbduyArl3hsMO0rLgUBvewsOWXX8JTT6mZ\naU9oqXD5hmrVYORIOO64sJPdJZfEHZFIaoYPh7ffhrfeUoLIJtUkCty8eXDKKTB5MhxzTNzRiFTN\nm2/Cj38c1ilr3jzuaPKPVoGVCn33u2GjonPPhfXr445GZM+9/34YiPHEE0oQcVBNokjcfHPYpOhv\nf4MaamSUPPHFF3DqqWGPiF/9Ku5o8pc6rqVS27bB//5vWDn297+POxqRyrnD5ZfDhg1hXkQ1tXtU\nmTqupVI1aoT1bY4/Ho48MowSEcllDz4YOqrffFMJIk6qSRSZRYvgBz8IG8V37Bh3NCLlmzwZevSA\nadPCMG5JjTquJWmtWoWhseedBytWxB2NyDctXhz2hXj2WSWIXKAkUYQ6dw4d2WefDZs2xR2NyE4f\nfghnnRX2cD/ppLijEVBzU9FyD0uLv/suvPwyfOtbcUckxe7zz8Me1SeeCL/9bdzRFBaNbpIq2bYN\nfvQjaNo0zGbVLFaJi3vYC2Xr1jDAQh3V6aU+CamSshFP//wn3Hdf3NFIMfv1r8Muc6NGKUHkGg2B\nLXL16oW9sTt2hEaN4KKL4o5Iis0f/gBPPx2Guu61V9zRyK6UJITGjWHChDCz9cAD4bTT4o5IisW4\ncTBgALz+evjbk9yjPgn5yj/+EYbGTp4M7drFHY0UumnT4JxzwheU446LO5rCpj4JSYuTT4Zhw8IQ\nxGXL4o5GCtmCBWFV11GjlCBynZqb5Gt++tMwVv3000MTwCGHxB2RFJr33oNOncJgic6d445GKqMk\nId9w1VVhUbUzzghNUPvtF3dEUijWrAlfQPr21UZY+UJ9ElIud7jllpAkpkyBunXjjkjy3UcfQUlJ\n2Bvi9tvjjqa4aDKdZIR7qFUsWhQ6F/fZJ+6IJF9t2hRmU598Mvzud5q4mW1KEpIxO3ZAr17w3/+G\n5Ts0jl321CefhKbL730PhgxRgoiDkoRk1Pbt0L172P70xRehdu24I5J8sXlz6Jxu00ZLv8QptiGw\nZrbczN4xs1lmNiMq29fMJpvZYjObZGb1E87vZ2ZLzWyhmZ2RUN7ezOaY2RIzG5xKTJJ+1auH5cXr\n1YOf/CQsxCZSmc2bw0rDzZuHodVKEPkp1XkSO4ASdz/G3TtEZX2BKe5+BPAq0A/AzNoA5wOtgc7A\nMLOv/myGA73cvSXQ0sw6pRiXpFmNGjB6NNSpA126wJYtcUckuezjj8O+1M2awR//qPWY8lmq/+us\nnOfoAoyMjkcCXaPjc4Cx7r7N3ZcDS4EOZnYQUNfdZ0bnjUq4RnLIt74VEsUBB4RviJs3xx2R5KKN\nG8M8iLZt4bHHQk1U8leqScKBV8xsppldHpUd6O7rANx9LdAwKm8ErEy4dnVU1ghYlVC+KiqTHFSj\nRmh6ato0tDV//HHcEUkuWb8+zIM47rjQB6EaRP5LdTJdR3dfY2YHAJPNbDEhcSRKa0/zgAEDvjou\nKSmhpKTcVoEwAAAJ60lEQVQknU8vSaheHR5/HK67Dk45BSZODLULKW6rV4dRTGedBQMHqg8iTqWl\npZSWlqbludI2usnM+gOfApcT+inWRU1Jr7l7azPrC7i7D4zOnwj0B1aUnROVdwNOdvfe5byGRjfl\nEPewD8Cf/xwWBWzSJO6IJC5Ll4YEcdVVYRKm5JZYRjeZ2d5mVic63gc4A5gLjAd6Rqf1AMZFx+OB\nbmZW08yaAc2BGVGT1CYz6xB1ZHdPuEZymBncdRdceWXYj3jRorgjkjjMnh1mUt96qxJEIUqluelA\n4AUz8+h5Rrv7ZDN7G3jWzC4j1BLOB3D3BWb2LLAA2ApcnVAtuAZ4AqgNTHD3iSnEJVl2443QoEH4\noHjuubBHsRSHV14J244OGxYWh5TCo8l0kjaTJ4dF2/SBURxGjoRf/jJ8MTjppLijkd1JpblJq8BK\n2pxxRkgUZ58dlvG48UZ1XhYid7j7bhgxAkpLoXXruCOSTFJNQtLuv/+FH/0IOnSAhx+GmjXjjkjS\n5bPP4PLLQ0f1+PFw0EFxRyTJ0M50klOaNAmb2n/wQahdfPhh3BFJOqxdG4Y879gRlpBXgigOShKS\nEXXqwAsvwAknwPHHw5w5cUckqZg5M/x/POssGDNGqwEXEzU3ScaNGQN9+sCDD8JFF8Udjeypxx4L\nw1v/8IewL7XkHy0VLjlvzhw499zwTfS++8I6UJLbPv88zKp/8034y1+gVau4I5KqUp+E5LyjjgpN\nFsuWhd3JVqyIOyLZnaVL4fvfDzvKTZ+uBFHMlCQka/bdF8aNC3tSHHdc+HYquWf06JAgrrgCnnlG\n+5sXOzU3SSymT4cLLwx7Dtx3H+y9d9wRyccfh76jadNCcjj66LgjknRRc5PkneOPh3//O3wwHXMM\nzJgRd0TF7fXXoV27sBT8228rQchOqklI7P78Z7j22rCC6G23afJdNn3+eVjJ96mn4NFHw2x5KTyq\nSUheO+88mDUrfIP93vdUq8iWqVNDjWHZMnjnHSUIKZ9qEpIz3GHs2LDm04UXhmXI69SJO6rCs2lT\nWNL75ZfhoYc096EYqCYhBcEsJId588I2mG3ahKYofS9ID3cYNSosyLdjR7jPShBSGdUkJGdNnRr6\nKg44IHzjbdMm7ojy1+zZ4V5+8QUMHRoGDkjxUE1CCtIPfhBGQHXtGibg9e4dFpmT5K1cCT/7GXTq\nBD16wFtvKUHInlGSkJxWo0ZYGmLx4jCXom1bGDAgDJ2Vim3YAP36hWGthxwCS5aEyXHVq8cdmeQb\nJQnJCw0awP33hxFQ774LzZvDb36jZLGrDRugf39o0QL+7//CqKV77oH69eOOTPKVkoTklWbN4Mkn\nQ3/FggUhWdx5p/asWLs2zDFp0QJWrQrDiB97DA49NO7IJN8pSUheatUqTAB7/fXQ7t6iReizWLIk\n7siya/586NUrjFjauDEsd/L443D44XFHJoVCSULy2hFHwB//CAsXwv77Q8eOcPrp8PzzsHVr3NFl\nxhdfwNNPh878006Dww4Lq7Y+/DB85ztxRyeFRkNgpaB8/nlYXfaRR+A//wmbHF18cejAtSoNAMwN\n7mGp9dGjw4TDI4+EK6+ELl20jIlUriA2HTKzM4HBhNrN4+4+sJxzlCQkaYsWhSap0aPDyKgLLgjD\naY88Mj8ShntYruTFF0NicA8J75JLQl+MSLLyfp6EmVUDhgKdgLbAhWambU52o7S0NO4QckZF96JV\nK7j77rA20aOPhpE/XbuG9vo+fcKyFLk2OmrjxpAUrrkGmjaFbt3gs89CZ/2SJWH47+4ShP4udtK9\nSI+cSBJAB2Cpu69w963AWKBLzDHlNP0D2Kmye2EW+ip+//swfHb8eDjwwPBzo0Zhg52bb4bnngud\n4NmqrLrD8uVh74abboIOHaBxYxg+PCSISZPC/JDf/S5MgEum9qO/i510L9KjRtwBRBoBKxN+XkVI\nHCJpZRaam448Em69NXxLnzYtPEaNCt/g3cMSIG3bhlFDhx0GTZqED+569fasqco9LKi3YkV4LF8e\nOtnnzw9DeGvWDAmgQ4eQDE44AWrVytS7F9lzuZIkRGKx115w6qnhAeFDfc2a8AE+f35YBO+vf4X/\n/jd8yG/bFib2NWgQEkatWuGDvkaNMJrqyy/DY9Mm+Oij8KhVa2eSado0JKDzzgv/PfDA/OgfkeKV\nEx3XZnYCMMDdz4x+7gv4rp3XZhZ/sCIieSivRzeZWXVgMXAasAaYAVzo7gtjDUxEpMjlRHOTu283\ns2uByewcAqsEISISs5yoSYiISG7KlSGwX2NmZ5rZIjNbYma3VHDOEDNbamazzaxdtmPMlsruhZld\nZGbvRI83zOzIOOLMhmT+LqLzjjOzrWZ2bjbjy6Yk/42UmNksM5tnZq9lO8ZsSeLfSD0zGx99Vsw1\ns54xhJlxZva4ma0zszm7OWfPPzfdPacehMT1H6Ap8C1gNtBql3M6A3+Njo8H3oo77hjvxQlA/ej4\nzGK+Fwnn/R14GTg37rhj/LuoD8wHGkU/7x933DHei37AvWX3AVgP1Ig79gzcixOBdsCcCn5fpc/N\nXKxJJDOxrgswCsDdpwP1zezA7IaZFZXeC3d/y903RT++RZhzUoiSnXB5HfAc8EE2g8uyZO7FRcDz\n7r4awN0LdTH1ZO6FA3Wj47rAenfflsUYs8Ld3wA27OaUKn1u5mKSKG9i3a4ffLues7qccwpBMvci\n0eXA3zIaUXwqvRdmdgjQ1d2HA4U8+yCZv4uWQAMze83MZprZpVmLLruSuRdDgTZm9j7wDtAnS7Hl\nmip9bubE6CZJnZmdAvyMUOUsVoOBxDbpQk4UlakBtAdOBfYBppnZNHf/T7xhxaITMMvdTzWz7wCv\nmNlR7v5p3IHlg1xMEquBJgk/HxqV7XpO40rOKQTJ3AvM7CjgUeBMd99ddTOfJXMvvgeMNTMjtD13\nNrOt7j4+SzFmSzL3YhXwobt/DnxuZlOBownt94UkmXvxM+BeAHd/18zeA1oBb2clwtxRpc/NXGxu\nmgk0N7OmZlYT6Abs+o98PNAdvpqtvdHd12U3zKyo9F6YWRPgeeBSd383hhizpdJ74e6HR49mhH6J\nqwswQUBy/0bGASeaWXUz25vQUVmIc4+SuRcrgB8CRG3wLYFlWY0ye4yKa9BV+tzMuZqEVzCxzsyu\nDL/2R919gpn9r5n9B9hM+KZQcJK5F8CvgAbAsOgb9FZ3L7jFEZO8F1+7JOtBZkmS/0YWmdkkYA6w\nHXjU3RfEGHZGJPl3cTfwRMLQ0F+6+0cxhZwxZjYGKAH2M7P/Av2BmqT4uanJdCIiUqFcbG4SEZEc\noSQhIiIVUpIQEZEKKUmIiEiFlCRERKRCShIiIlIhJQkREamQkoSIiFTo/wPc3KZ8oTK9IgAAAABJ\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Make omega larger, so that the QHO energy dominates the square well\n", "omegaH = 500.0\n", "omegaH2 = omegaH**2\n", "Potential_with_QHO3 = np.linspace(0.0,width,num_x_points)\n", "potential_bump = square_well_and_QHO_potential(x,Potential_with_QHO3,omegaH2)\n", "\n", "# Declare space for the matrix elements\n", "H_matrix4 = np.eye(num_basis)\n", "\n", "# Loop over basis functions phi_n (the bra in the matrix element)\n", "for n in range(num_basis):\n", " # Loop over basis functions phi_m (the ket in the matrix element)\n", " for m in range(num_basis):\n", " # Act with H on phi_m and store in H_phi_m\n", " H_phi_m = -0.5*second_derivative_basis_functions_array[m] \n", " add_potential_on_basis(H_phi_m,Potential_with_QHO3,basis_functions_array[m])\n", " # Create matrix element by integrating\n", " H_matrix4[m,n] = integrate_functions(basis_functions_array[n],H_phi_m,dx)\n", " # The comma at the end prints without a new line; the %8.3f formats the number\n", " print \"%8.3f\" % H_matrix4[m,n],\n", " # This print puts in a new line when we have finished looping over m\n", " print\n", " \n", "# Solve using linalg module of numpy (which we've imported as la above)\n", "eigenvalues, eigenvectors = la.eigh(H_matrix4)\n", "print \" QHO Square Perfect QHO Difference\"\n", "for i in range(num_basis):\n", " n = i+1\n", " print \" %8.3f %8.3f %8.3f\" % (eigenvalues[i],omegaH*(i+0.5),eigenvalues[i] - omegaH*(i+0.5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the first clue that we have a problem: the eigenvalues from the matrix using the limited square well basis set are too high. There is a significant error. Let's plot the resulting eigenfunctions, along with the perfect eigenfunctions, to compare. (As before, don't worry about the minus sign in the functions - this is just a phase.)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define a figure to take two plots\n", "fig5 = pl.figure(figsize=[12,3])\n", "# Add subplots: number in y, x, index number\n", "axd = fig5.add_subplot(121,autoscale_on=False,xlim=(0,1),ylim=(-3.1,3.1))\n", "axd.set_title(\"Eigenvectors for perturbed system\")\n", "axd2 = fig5.add_subplot(122,autoscale_on=False,xlim=(0,1),ylim=(-3.1,3.1))\n", "#axc2.set_title(\"QHO eigenvectors\")\n", "axd2.set_title(\"QHO eigenvectors\")\n", "for m in range(3): # Plot the first four states\n", " psi = np.zeros(num_x_points)\n", " for i in range(num_basis):\n", " psi = psi+eigenvectors[i,m]*basis_functions_array[i]\n", " if 2*(m/2)!=m: # This is just to ensure that psi and the basis function have the same phase\n", " psi = -psi\n", " axd.plot(x,psi)\n", " #psi = psi - phi(x2,m,np.sqrt(omegaH))\n", " #axd2.plot(x,psi)\n", " axd2.plot(x,phi(x2,m,np.sqrt(omegaH)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we see the problem: the sum over the basis functions (left graph) contains ringing. We would need to include many more basis functions to correctly represent these rapidly varying functions (if you remember Fourier analysis, you might like to think about what this means in terms of Fourier analysis).\n", "\n", "Feel free to play with `num_basis` and see how the agreement improves with basis size." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.11" } }, "nbformat": 4, "nbformat_minor": 0 }