{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## The Variational Method\n", "\n", "The variational method is a simple approach to finding the energy of the ground state of a system. We write a *trial* wavevector which depends on one or more parameters, and then vary the parameters to find the lowest energy. We will show in lectures that this always gives an *upper bound* to the energy of the system; we define the energy for the system in the trial state as:\n", "\n", "$$\n", "E(\\lambda) = \\frac{\\langle \\psi(\\lambda) \\vert \\hat{H} \\vert \\psi(\\lambda) \\rangle}{\\langle \\psi(\\lambda)\\vert \\psi(\\lambda)\\rangle}\n", "$$\n", "\n", "where $\\lambda$ is the parameter.\n", "\n", "We will start with a simple example: finding the optimum value of the exponent, $\\alpha$, for the ground state of the quantum harmonic oscillator. As we know the exact answer, we can check that the approach is correct." ] }, { "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", "\n", "# Define the x-axis from -width to +width\n", "# This makes the QHO finite in width, which is an approximation\n", "# We will need to be careful not to make omega too small\n", "width = 10.0\n", "num_x_points = 1001\n", "x = np.linspace((-width),width,num_x_points)\n", "dx = 2.0*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", "# 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": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Define the potential in the square well\n", "def square_well_potential(x,V,a):\n", " \"\"\"Potential for a particle in a square well, expecting two arrays: x, V(x), and potential height, a\"\"\"\n", " for i in range(x.size):\n", " V[i] = 0.5*a*x[i]*x[i]\n", " # If necessary, plot to ensure that we know what we're getting\n", " #pl.plot(x,V)\n", " \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lets plot the potential we're trying to find a solution to" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(-10.0, 10.0)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Make an array for the potential and create it before plotting it\n", "omega = 2.0 # Set the frequency\n", "Potential_QHO = np.linspace(0.0,width,num_x_points)\n", "square_well_potential(x,Potential_QHO,omega*omega)\n", "pl.plot(x,Potential_QHO)\n", "pl.xlim(-width,width)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's define the trial function to use, which will be a gaussian:\n", "$$f(x) = A exp(-0.5\\alpha^2 x^2)$$\n", "\n", "Where \n", "$$A = (\\frac{\\alpha}{\\pi^{1/2}})^{1/2}$$\n", "\n", "We'll also need its second derivative for the energy, which we can find analytically in this case:\n", "$$df/dx = -x\\alpha^2 A exp(-0.5\\alpha x^2)$$\n", "$$d^{2}f/dx^{2} = -\\alpha^2 A exp(-0.5\\alpha x^2) + \\alpha^4 x^2 A exp(-0.5\\alpha x^2) = \\alpha^2 A (\\alpha^2 x^2 -1) exp(-0.5\\alpha x^2)$$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "From theory, E min, alpha: 1.0 1.41421356237\n", "Norm is: 1.0\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEACAYAAABI5zaHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHONJREFUeJzt3X2wXHWd5/H3J4EQQyAPCiEPJEBCEhIEkRBZtaAFB6Kl\nxIcZN5kqFZwdGTFTW25ZG9zZLS5K1eq6WiuyLGZkfJhZN+rqYBQHIgXtKOgSkSAPN0883CQ3yQ0E\nwQgEk8t3/zj3hqZzc7v73tN9+pz+vKq66Idfn/MlXD73l+8553cUEZiZWbGMyboAMzNLn8PdzKyA\nHO5mZgXkcDczKyCHu5lZATnczcwKqK5wl7RM0iZJWyStHuLzyZJ+KOkhSb+WtCj9Us3MrF41w13S\nGOAm4HJgMbBS0sKqYf8JeDAizgU+CtyYdqFmZla/embuS4GtEdETEQeBtcDyqjGLgLsBImIzcJqk\nk1Kt1MzM6lZPuM8EdlS83jnwXqWHgA8ASFoKzAZmpVGgmZk1Lq0Dqp8Hpkj6LfBJ4EGgP6Vtm5lZ\ng46pY0wvyUx80KyB9w6LiP3AxwZfS3oSeKJ6Q5K8kI2Z2QhEhBoZX8/MfQMwT9IcSeOAFcC6ygGS\nJkk6duD5XwM/j4g/HqVAP1J6XHfddZnXUITHpz4VTJkSzJlzHf392ddThId/NtN9jETNcI+IfmAV\nsB54FFgbEd2Srpb08YFhZwGPSOomOavm34+oGrMW27gR1q6FrVuhvx++/e2sKzJLRz1tGSLiDmBB\n1Xtfq3j+6+rPzfJgzRq45hp4/evhoovgllvgyiuzrsps9HyFao6VSqWsS8i1/n747nfhIx9JXn/s\nYyV6emDbtkzLKgT/bGZPI+3njGhnUrRyf2bD+c1v4KMfhUcfffW9q66CJUvgk5/Mri6zapKIJhxQ\nNSuke+6BSy557XuXXQbr12dTj1maHO7Wse6++8hwv+giuO8+8F8wLe8c7taRXnkF7r03CfNKM2fC\nscdCT082dZmlxeFuHenxx2Hq1OQsmWpLliT9eLM8c7hbR9q4Ed70pqE/u+AC2LChtfWYpc3hbh1p\n40Y477yhP3O4WxE43K0jDTdzf+MbX3t6pFkeOdytIz30EJx77tCfzZgBBw7As8+2tiazNDncrePs\n3w+//z3Mnj305xIsXAjd3a2tyyxNDnfrONu2wdy5MGaYn/5Fi+Cxx1pXk1naHO7WcbZsgfnzhx9z\n1lmeuVu+Odyt42zdCmeeOfwYh7vlncPdOk49M/f585NfAmZ55XC3jlPPzH3OHNixI1kW2CyP6gp3\nScskbZK0RdLqIT4/UdI6SRslPSzpytQrNUvJli21w338eDjpJNi5szU1maWtZrhLGgPcRHL7vMXA\nSkkLq4Z9Eng0It4EvAP4kqS67vJk1kr79sGhQ3DyybXHnnEGPPlk82sya4Z6Zu5Lga0R0RMRB4G1\nwPKqMQGcMPD8BGBfRBxKr0yzdAy2ZFTHbQ9OPx2eeKL5NZk1Qz3hPhPYUfF658B7lW4CFknaBTyE\nb5Btbeqpp5LQrodn7pZnabVOLgcejIhLJM0FfibpnIj4Y/XArq6uw89LpZLvtWgt1dOTHCytx+mn\nw513Nrces6GUy2XK5fKotlFPuPcClRdqzxp4r9JVwH8FiIjHJT0JLASOWBW7MtzNWm379mRpgXp4\n5m5ZqZ74Xn/99Q1vo562zAZgnqQ5ksYBK4B1VWN6gHcCSJoGzAfcrbS209Nz9DVlqrnnbnlWc+Ye\nEf2SVgHrSX4Z3BoR3ZKuTj6ONcANwDcl/W7ga/8xIrymnrWdRtoy06fD88/Diy/ChAnNrcssbYoW\n3glYUrRyf2bVJk1KWi1Tp9Y3fsECuO22ZDkCs6xIIiLqOMfrVb5C1TrGc88lN8aeMqX+75x6qi9k\nsnxyuFvH2L49acnUc477oFmzkmUIzPLG4W4do5GDqYNmzfLM3fLJ4W4do5GDqYNOPdUzd8snh7t1\njO3bPXO3zuFwt46xY0cyE2+EZ+6WVw536xi7dsHM6lWRavDM3fLK4W4dY9cumDGjse9MmQIHD8L+\n/c2pyaxZHO7WESKgt7fxcJc8e7d8crhbR3j+eTjmGDjhhNpjq7nvbnnkcLeOMJJZ+yDP3C2PHO7W\nEUZyMHWQw93yyOFuHWEkB1MHTZ8Ou3enW49ZszncrSP09o585u5wtzxyuFtH8MzdOo3D3TrCaA6o\nTp+e/HIwy5O6wl3SMkmbJG2RtHqIzz8t6UFJv5X0sKRDkianX67ZyIzmgOopp0BfX7IWvFle1Ax3\nSWOAm4DLgcXASkmvucVwRPz3iDgvIt4MfAYoR8RzzSjYbCRG05YZPx4mToR9+9KtyayZ6pm5LwW2\nRkRPRBwE1gLLhxm/Evg/aRRnlob+/mTmPX36yLfhvrvlTT3hPhOovD5v58B7R5D0OmAZ8IPRl2aW\njqefhsmTYdy4kW9jxgyHu+XLMSlv773AL4dryXR1dR1+XiqVKJVKKZdg9lqjOQ1ykGfu1krlcply\nuTyqbdQT7r1A5S0OZg28N5QV1GjJVIa7WSvs3j26lgw43K21qie+119/fcPbqKctswGYJ2mOpHEk\nAb6uepCkScDFwI8arsKsifbsSc54GQ2Hu+VNzXCPiH5gFbAeeBRYGxHdkq6W9PGKoe8D7oyIl5pT\nqtnI9PXBtGmj24bD3fKmrp57RNwBLKh672tVr78FfCu90szS0dcHZ5wxum34QibLG1+haoXnmbt1\nIoe7FV6aPfeIdGoyazaHuxVeGjP3iRPh2GOTOzqZ5YHD3QovjXCHZPbv1ozlhcPdCu3ll+GFF2DK\nlNFva9q05BeFWR443K3Q+vrg5JNhTAo/6Q53yxOHuxVaWi0ZcLhbvjjcrdAc7tapHO5WaGmcBjlo\n2jTYuzedbZk1m8PdCs0zd+tUDncrNIe7dSqHuxWaw906lcPdCi3tnntfn5cgsHxwuFuhpTlzP/54\nGDsW9u9PZ3tmzeRwt0JLM9zBrRnLD4e7FdaBA+ktPTDI4W55UVe4S1omaZOkLZJWH2VMSdKDkh6R\ndE+6ZZo1bu/e9JYeGORwt7yoeScmSWOAm4BLgV3ABkk/iohNFWMmAf8TuCwieiW9oVkFm9Ur7ZYM\nONwtP+qZ0ywFtkZET0QcBNYCy6vG/CXwg4joBYiIZ9It06xxDnfrZPWE+0xgR8XrnQPvVZoPTJV0\nj6QNkj6cVoFmI5XmaZCDHO6WF3XdILvO7bwZuAQ4HviVpF9FxLbqgV1dXYefl0olSqVSSiWYvZZn\n7pZX5XKZcrk8qm3UE+69wOyK17MG3qu0E3gmIg4AByT9K3AuMGy4mzVTXx+ccUa623S4WytUT3yv\nv/76hrdRT1tmAzBP0hxJ44AVwLqqMT8C3i5prKQJwFuA7oarMUtRX5/bMta5as7cI6Jf0ipgPckv\ng1sjolvS1cnHsSYiNkm6E/gd0A+siYjHmlq5WQ179rgtY51L0cKFMiRFK/dnnW3hQvjhD2HRovS2\nGQETJsAzzyTLEZi1giQiQo18x1eoWmE144Cq5Nm75YPD3QqpGUsPDHK4Wx443K2QmrH0wCCHu+WB\nw90KqRktmUEOd8sDh7sVUjNOgxzkcLc8cLhbITXjNMhBDnfLA4e7FZLbMtbpHO5WSA5363QOdysk\nh7t1Ooe7FZLD3Tqdw90KqZnhPnlycpHUgQPN2b5ZGhzuVkjNDHcpuUDKs3drZw53K5w//Qn274ep\nU5u3D7dmrN053K1w9u6Fk05qztIDg045xeFu7c3hboXTzJbMoGnTkgulzNpVXeEuaZmkTZK2SFo9\nxOcXS3pO0m8HHv85/VLN6tOqcPfM3dpZzTsxSRoD3ARcCuwCNkj6UURsqhr6rxFxRRNqNGtIq8J9\n2xF3CDZrH/XM3JcCWyOiJyIOAmuB5UOMa+guIWbN4pm7WX3hPhPYUfF658B71f6NpI2SbpeU4o3N\nzBrTinA/5RT33K29pXVA9QFgdkS8iaSFc1tK2zVrmGfuZnX03IFeYHbF61kD7x0WEX+seP4vkm6W\nNDUinq3eWFdX1+HnpVKJUqnUYMlmw3O4W96Vy2XK5fKotqGIGH6ANBbYTHJAdTdwP7AyIrorxkyL\niL6B50uB70XEaUNsK2rtz2y0zj4bvvMdOOec5u0jAo47Dv7wBxg/vnn7MQOQREQ0dFyz5sw9Ivol\nrQLWk7Rxbo2IbklXJx/HGuDPJX0COAi8BPzbxss3S0crZu5Sso+9e2H27NrjzVqt5sw91Z155m5N\ndugQvO51yaJeY8c2d19LlsDNN8PSpc3dj9lIZu6+QtUK5emnkzVlmh3s4L67tTeHuxVKK1oygxzu\n1s4c7lYorQx3Lx5m7czhboXS6pm7L2SyduVwt0LZuze5kUYruC1j7czhboXinrtZwuFuheJwN0s4\n3K1QWn1A1T13a1cOdyuUVob7lCnw4ovJBVNm7cbhboXSynCXkoO3e/e2Zn9mjXC4W2G88go880zr\nzpYB992tfTncrTD27YMTT4Rjj23dPt13t3blcLfCaGVLZpBn7tauHO5WGA53s1c53K0wHO5mr3K4\nW2FkEe5ePMzaVV3hLmmZpE2StkhaPcy4CyQdlPSB9Eo0q09WM3cfULV2VDPcJY0BbgIuBxYDKyUt\nPMq4zwN3pl2kWT3cljF7VT0z96XA1ojoiYiDwFpg+RDj/hb4v4Av6bBM7NmTtElayeFu7aqecJ8J\n7Kh4vXPgvcMkzQDeFxH/C2joPn9madm9G6ZPb+0+p0yBF16Al19u7X7NaknrgOr/ACp78Q54a7ks\nwn3MmOSKWM/erd0cU8eYXmB2xetZA+9VWgKslSTgDcC7JB2MiHXVG+vq6jr8vFQqUSqVGizZ7EiH\nDsGzz7Z26YFBg62Z2bNrjzWrR7lcplwuj2obiojhB0hjgc3ApcBu4H5gZUR0H2X8N4AfR8QPh/gs\nau3PbCR6e2HJkmT23mrvfjdccw285z2t37d1BklEREMdkZoz94jol7QKWE/Sxrk1IrolXZ18HGuq\nv9JIAWZpyKIlM8gHVa0d1dOWISLuABZUvfe1o4z9WAp1mTUky3D34mHWjnyFqhVCluE+fXo27SCz\n4TjcrRCyDPcZMxzu1n4c7lYIWc/cd+3KZt9mR+Nwt0LIeubucLd243C3Qsh65r57d3KbP7N24XC3\nQsgy3MePhxNOSG7zZ9YuHO6We6+8kpxn3upFwyr5oKq1G4e75d6+fcnM+bjjsqvBB1Wt3TjcLff2\n7MmuJTPIB1Wt3TjcLfey7LcPcrhbu3G4W+453M2O5HC33HO4mx3J4W651w7h7vVlrN043C33du3K\nPtw9c7d243C33OvthVmzsq3hlFOSc+19laq1C4e75d7OndmH+3HHwaRJ8PTT2dZhNqiucJe0TNIm\nSVskrR7i8yskPSTpQUn3S3pb+qWaHam/vz3Ocwe3Zqy91Ax3SWOAm4DLgcXASkkLq4bdFRHnRsR5\nwF8BX0+9UrMh9PXB1KkwblzWlfigqrWXembuS4GtEdETEQeBtcDyygER8WLFy4mAO4/WEu3Qbx/k\nmbu1k3rCfSawo+L1zoH3XkPS+yR1Az8GfB9Va4l26LcPmjEj+WVj1g7qukF2PSLiNuA2SW8HbgD+\nbKhxXV1dh5+XSiVKpVJaJVgH2rkTZh4x1cjGrFnwwANZV2FFUC6XKZfLo9qGImL4AdKFQFdELBt4\nfS0QEfGFYb7zOHBBRDxb9X7U2p9ZI1avhsmT4TOfyboSuP12+OpX4Y47sq7EikYSEaFGvlNPW2YD\nME/SHEnjgBXAuqodz614/mZgXHWwmzVDO7VlTj0VduyoPc6sFWq2ZSKiX9IqYD3JL4NbI6Jb0tXJ\nx7EG+KCkjwB/Al4CPtTMos0G9fa2T1vG4W7tpGZbJtWduS1jKZs3D376U5g/P+tKIAJOPDH528Sk\nSVlXY0XSrLaMWVuKaK8DqlIye9++PetKzBzulmP79sGECXD88VlX8iq3ZqxdONwtt9pp1j7I4W7t\nwuFuueVwNzs6h7vl1vbtMGdO1lW8lsPd2oXD3XLrqafgtNOyruK1Zs92uFt7cLhbbrVjuHvmbu3C\n4W651dPTnm2ZnTuT0zTNsuRwt9xqx5n7hAnJ45lnsq7EOp3D3XLppZfg+eeTe5e2m9mzfSGTZc/h\nbrnU05O0QMa04U/w6afDk09mXYV1ujb8X8Ostp6e9mvJDDr9dHjiiayrsE7ncLdceuqp9juYOuiM\nMzxzt+w53C2XPHM3G57D3XLJM3ez4TncLZfa8TTIQaedlpwt09+fdSXWyeoKd0nLJG2StEXS6iE+\n/0tJDw08finpjemXavaqdm7LjB8Pr3897NqVdSXWyWqGu6QxwE3A5cBiYKWkhVXDngAuiohzgRuA\nv0+7ULNBBw4ka7nPmJF1JUd3xhnuu1u26pm5LwW2RkRPRBwE1gLLKwdExK8j4vmBl78G2mwhViuS\nJ55I+u1jx2ZdydH5XHfLWj3hPhOoXAppJ8OH978D/mU0RZkNZ9u25N6p7cwzd8vaMWluTNI7gKuA\ntx9tTFdX1+HnpVKJUqmUZgnWAbZtgzPPzLqK4Z1+Otx1V9ZVWF6Vy2XK5fKotqGosXydpAuBrohY\nNvD6WiAi4gtV484BfgAsi4jHj7KtqLU/s1o+8QlYvBhWrcq6kqP7xS/g2mvh3nuzrsSKQBIRoUa+\nU09bZgMwT9IcSeOAFcC6qh3PJgn2Dx8t2M3Skoe2zNy5SZ1mWanZlomIfkmrgPUkvwxujYhuSVcn\nH8ca4L8AU4GbJQk4GBFLm1m4da48hPv06fDii/DcczB5ctbVWCeq2ZZJdWduy9govfwyTJoEf/wj\nHJPqEaP0nX8+3HwzvOUtWVdiedestoxZ23jyyWSp33YPdoAFC2DLlqyrsE7lcLdc2bq1/VsygxYs\ngM2bs67COpXD3XJl0yZYWH19dJuaP9/hbtlxuFuuPPYYLFqUdRX18czdsuRwt1zJU7jPn5+c2fPK\nK1lXYp3I4W65EQHd3XDWWVlXUp+JE2HqVN8s27LhcLfc6O2F449PAjMvFi2CRx/NugrrRA53y408\ntWQGvfGN8PDDWVdhncjhbrnhcDern8PdcsPhblY/h7vlxkMPwdlnZ11FYxYtSi68+tOfsq7EOo3D\n3XLh0CF45BE499ysK2nM616X3DXK57tbqzncLRc2b07umXriiVlX0ji3ZiwLDnfLhQcfhPPOy7qK\nkTnnHPjd77KuwjqNw91yIc/hfv758JvfZF2FdRqHu+VCnsP9gguScPcyBNZKdYW7pGWSNknaImn1\nEJ8vkHSfpAOS/kP6ZVoni4CNG/Mb7iedBFOmJGfNmLVKzXCXNAa4CbgcWAyslFS96Oo+4G+BL6Ze\noXW8rVuTdVqmTcu6kpG74ALYsCHrKqyT1DNzXwpsjYieiDgIrAWWVw6IiGci4gHgUBNqtA53333w\ntrdlXcXoXHAB3H9/1lVYJ6kn3GcCOype7xx4z6wl7rsP3vrWrKsYnaVLHe7WWi2/E2VXV9fh56VS\niVKp1OoSLGfuvRf+5m+yrmJ0lixJznV/8UWYMCHraqzdlctlyuXyqLahiBh+gHQh0BURywZeXwtE\nRHxhiLHXAfsj4stH2VbU2p9Zpd//HmbPTv6Zh5tiD+etb4XPfQ4uvTTrSixvJBERauQ79bRlNgDz\nJM2RNA5YAawbro5GCjAbzq9+lfSr8x7sAO94B4xyMmZWt5rhHhH9wCpgPfAosDYiuiVdLenjAJKm\nSdoBfAr4O0nbJU1sZuHWGe66Cy65JOsq0lEqOdytdWq2ZVLdmdsy1qCzz4Z/+IfkgGTevfBCcjrn\n3r3uu1tjmtWWMcvEzp2wZ09y+X4RHH98ciHWL36RdSXWCRzu1rbWr4d3vhPGjs26kvS8972wbrgj\nVmYpcbhb27rjDrjssqyrSNcVVyTh7u6kNZvD3drSCy8kM/crrsi6knQtWJDcwGPjxqwrsaJzuFtb\nuv12eMtb4A1vyLqSdEnJL6zbbsu6Eis6h7u1pe99Dz70oayraI4VK+Af/9FLAFtzOdyt7Tz/PPzs\nZ/D+92ddSXOcf35y5ozPmrFmcrhb2/n2t2HZMpg6NetKmkOCq66Cb34z60qsyHwRk7WVCFi8GG6+\nObmis6j27oWFC5Mbf590UtbVWLvzRUyWe7ffDsceCxdfnHUlzXXyyckxhRtvzLoSKyrP3K1tRMCF\nF8KnPw1/8RdZV9N8jz+enBH0xBNw4olZV2PtzDN3y7Xvfx8OHIAPfjDrSlpj7tzktMjPfS7rSqyI\nPHO3tvCHPySLhP3TP8FFF2VdTev09SX/3vfck/zTbCieuVsuRSR3Wnr3uzsr2CFZJfKGG+AjH4GX\nXsq6GisSz9wtczfeCGvWwIYNyaX5nSYCVq6E8ePhG99ITpU0q9S0mbukZZI2SdoiafVRxtwoaauk\njZLe1EgR1rnWrIEvfQl+8pPODHZIwvzrX4dNm+Caa3zlqqWjZrhLGgPcBFwOLAZWSlpYNeZdwNyI\nOBO4GrilCbValdHeQDdLL7wAq1bBF7+Y3G3ptNOyrijbP8+JE5OF0rq7k/bUnj2ZlZKKPP9sFkU9\nM/elwNaI6ImIg8BaYHnVmOXAtwEi4v8BkyRNS7VSO0Ie/wfavx9uuQXOOguefTZpxZx5ZtZVJbL+\n8zzxxGTZhSVLkoOrn/0s7N6daUkjlvWfpUE9tx2eCeyoeL2TJPCHG9M78F7fqKqzXDt4MAmnLVvg\n4Yfh7rvhl79MbhT9ne/A29+edYXt59hjkwOsV14Jn/88LFqU3L3p4ouTG4XPnZv8Lee447Ku1Npd\ny+8p/573vPq8+tjqUMdaa43p5O/s2AF33tletR06BM89lzxeeik5G2TBguRS+w9/ODlgWLRlfJth\n3rykD/+Vr8DPf548vvKV5IKnnh4YNw4mT4ZJk5IDscccc+RjzDB/Lx/uoO3RPmvkO5s3wwMPHH28\nNV/Ns2UkXQh0RcSygdfXAhERX6gYcwtwT0R8d+D1JuDiiOir2pZPlTEzG4FGz5apZ+a+AZgnaQ6w\nG1gBrKwasw74JPDdgV8Gz1UH+0iKMzOzkakZ7hHRL2kVsJ7kAOytEdEt6erk41gTET+V9G5J24AX\ngKuaW7aZmQ2npRcxmZlZa7Rk+QFJfy7pEUn9kt5c9dlnBi5+6pZUsHvdN5+k6yTtlPTbgceyrGvK\nm3ou0rP6SXpK0kOSHpR0f9b15I2kWyX1SfpdxXtTJK2XtFnSnZIm1dpOq9aWeRh4P/DzyjclnQV8\nCDgLeBdws+SLr0fgyxHx5oHHHVkXkyf1XKRnDXsFKEXEeRFRfdq01fYNkp/HStcCd0XEAuBu4DO1\nNtKScI+IzRGxFagO7uXA2og4FBFPAVs58hx6q82/EEeunov0rDHCixKOWET8Evh91dvLgW8NPP8W\n8L5a28n6P8DRLn6yxqwaWNPn6/X8dc1eY6iL9PwzODoB/EzSBkl/nXUxBXHy4BmIEbEHOLnWF1K7\niEnSz4DKJQdE8h/57yLix2ntpxMN92cL3Ax8NiJC0g3Al4G/an2VZoe9LSJ2SzqJJOS7B2ajlp6a\nZ8KkFu4R8Wcj+FovcGrF61kD71mFBv5s/x7wL9LG9AKzK177Z3CUImL3wD+flvTPJK0vh/vo9Ema\nFhF9kk4B9tb6QhZtmcr+8DpghaRxkk4H5gE+ut6Agf/Qgz4APJJVLTl1+CI9SeNILtJbl3FNuSVp\ngqSJA8+PBy7DP5MjIY7MyisHnn8U+FGtDbRkbRlJ7wO+CrwB+ImkjRHxroh4TNL3gMeAg8A1vptH\nw/7bwPr5rwBPkSy5bHU62kV6GZeVZ9OAfx5YauQY4H9HxPqMa8oVSd8BSsDrJW0HrgM+D3xf0seA\nHpKzDIffjrPUzKx4sj5bxszMmsDhbmZWQA53M7MCcribmRWQw93MrIAc7mZmBeRwNzMrIIe7mVkB\n/X/WxyYNrFxuqgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from math import pi\n", "root_pi = np.sqrt(pi)\n", "# Define a gaussian with proper normalisation as our test function\n", "def gaussian(x,alpha):\n", " return np.sqrt(alpha / (root_pi))* np.exp(-0.5 * alpha**2 * x**2)\n", "# We can also write the second derivative function easily enough\n", "def second_derivative_gaussian(x,alpha):\n", " return np.sqrt(alpha / (root_pi))* alpha**2 * (alpha**2*x**2 - 1) * np.exp(-0.5 * alpha**2 * x**2)\n", "\n", "# Declare space for the potential and call the routine\n", "omega = 2.0 # Set the frequency\n", "Potential_QHO = np.linspace(0.0,width,num_x_points)\n", "square_well_potential(x,Potential_QHO,omega*omega)\n", "print \"From theory, E min, alpha: \",0.5*omega,np.sqrt(omega)\n", "psi = gaussian(x,np.sqrt(omega))\n", "# Check that I've normalised the gaussian correctly\n", "print \"Norm is: \",integrate_functions(psi,psi,dx)\n", "pl.plot(x,psi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have the trial function, with the parameter $\\alpha$ as our variational parameter, we can vary the energy and look for the minimum. We'll do this in a **very** crude way, just scanning values of $\\alpha$. There are much better approaches, though, which we will address in a later notebook." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Energy at optimum alpha is: 1.0\n", "Min E and alph: 1.0000178072 1.41\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psi = gaussian(x,np.sqrt(omega))\n", "# Kinetic energy\n", "Hpsi = -0.5*second_derivative_gaussian(x,np.sqrt(omega))\n", "# Add potential\n", "add_potential_on_basis(Hpsi,Potential_QHO,psi)\n", "# Check the exact answer - we won't be able to do this normally !\n", "print \"Energy at optimum alpha is: \",integrate_functions(psi,Hpsi,dx)\n", "\n", "alpha_values = np.linspace(0.1,10.1,num_x_points)\n", "energy = np.zeros(num_x_points)\n", "i=0\n", "Energy_minimum = 1e30\n", "Alpha_minimum = 0.0\n", "for alpha in alpha_values:\n", " psi = gaussian(x,alpha)\n", " norm = integrate_functions(psi,psi,dx)\n", " #if np.abs(norm-1.0)>1e-6:\n", " # print \"Norm error: \",alpha,norm\n", " Hpsi = -0.5*second_derivative_gaussian(x,alpha)\n", " add_potential_on_basis(Hpsi,Potential_QHO,psi)\n", " energy[i] = integrate_functions(psi,Hpsi,dx)\n", " if energy[i]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define the eigenbasis - normalisation needed elsewhere\n", "def square_well_eigenbasis(n,width,norm,x):\n", " \"\"\"The eigenbasis for a square well, running from 0 to a, sin(n pi x/a)\"\"\"\n", " fac = np.pi*n/width\n", " return norm*np.sin(fac*x)\n", "\n", "# We will also define the second derivative for kinetic energy (KE)\n", "def second_derivative_square_well_eigenbasis(n,width,norm,x):\n", " \"\"\"The eigenbasis for a square well, running from 0 to a, sin(n pi x/a)\"\"\"\n", " fac = np.pi*n/width\n", " return -fac*fac*norm*np.sin(fac*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", "# 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_array = np.zeros((num_basis,num_x_points))\n", "second_derivative_basis_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_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_eigenbasis(n,width,1.0,x),square_well_eigenbasis(n,width,1.0,x),dx)\n", " # Use 1/sqrt{A} as normalisation constant\n", " normalisation = 1.0/np.sqrt(integral)\n", " basis_array[i,:] = square_well_eigenbasis(n,width,normalisation,x)\n", " second_derivative_basis_array[i,:] = second_derivative_square_well_eigenbasis(n,width,normalisation,x)\n", "\n", "# Define the potential in the square well\n", "def square_well_linear_potential(x,V,a):\n", " \"\"\"Potential for a particle in a square well, expecting two arrays: x, V(x), and potential height, a\"\"\"\n", " for i in range(x.size):\n", " V[i] = a*(x[i]-width/2.0)\n", " # Plot to ensure that we know what we're getting\n", " pl.plot(x,V)\n", " pl.title(\"Potential\")\n", " \n", "# Declare an array for this potential (Diagonal_Potential) and find the potential's values\n", "Diagonal_Potential = np.linspace(0.0,width,num_x_points)\n", "square_well_linear_potential(x,Diagonal_Potential,1.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now build the Hamiltonian - we could actually evaluate the expectation value by using vector-matrix-vector algebra, though we will use integration below for now." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Full Hamiltonian\n", " 4.935 -0.180 -0.000 -0.014 0.000 -0.004 0.000 -0.002 0.000 -0.001\n", " -0.180 19.739 -0.195 -0.000 -0.018 0.000 -0.006 -0.000 -0.002 -0.000\n", " 0.000 -0.195 44.413 -0.199 -0.000 -0.020 -0.000 -0.006 0.000 -0.003\n", " -0.014 -0.000 -0.199 78.957 -0.200 -0.000 -0.021 -0.000 -0.007 -0.000\n", " 0.000 -0.018 -0.000 -0.200 123.370 -0.201 0.000 -0.021 -0.000 -0.007\n", " -0.004 -0.000 -0.020 -0.000 -0.201 177.653 -0.201 -0.000 -0.022 0.000\n", " 0.000 -0.006 -0.000 -0.021 0.000 -0.201 241.805 -0.202 0.000 -0.022\n", " -0.002 -0.000 -0.006 -0.000 -0.021 -0.000 -0.202 315.827 -0.202 0.000\n", " 0.000 -0.002 0.000 -0.007 -0.000 -0.022 0.000 -0.202 399.719 -0.202\n", " -0.001 0.000 -0.003 -0.000 -0.007 0.000 -0.022 0.000 -0.202 493.480\n" ] } ], "source": [ "# Declare space for the matrix elements\n", "H_Matrix2 = 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_array[m] \n", " add_potential_on_basis(H_phi_m,Diagonal_Potential,basis_array[m])\n", " # Create matrix element by integrating\n", " H_Matrix2[m,n] = integrate_functions(basis_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_Matrix2[m,n],\n", " # This print puts in a new line when we have finished looping over m\n", " print\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we set up the crude parameter scan. I have chosen a range for $\\alpha$ which is helpful, though this approach sometimes requires a degree of trial and error." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Minimum Energy and alpha: 4.93261131357 0.012\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_alpha = 101\n", "alpha_values = np.linspace(-0.1,0.1,n_alpha)\n", "energy2 = np.zeros(n_alpha)\n", "i=0\n", "Energy_minimum = 1e30\n", "Alpha_minimum = 0.0\n", "for alpha in alpha_values:\n", " psi = basis_array[0] + alpha*basis_array[1]\n", " H_psi = -0.5*(second_derivative_basis_array[0] + alpha*second_derivative_basis_array[1])\n", " add_potential_on_basis(H_psi,Diagonal_Potential,psi)\n", " norm = integrate_functions(psi,psi,dx)\n", " #print alpha, norm\n", " #print H_Matrix2[0,0] + H_Matrix2[1,0]*alpha + H_Matrix2[0,1]*alpha + H_Matrix2[1,1]*alpha*alpha\n", " energy2[i] = integrate_functions(psi,H_psi,dx)/norm\n", " if energy2[i]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Diagonal_Potential2 = np.linspace(0.0,width,num_x_points)\n", "square_well_linear_potential(x,Diagonal_Potential2,20.0) # A much larger potential\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", "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_array[m] \n", " add_potential_on_basis(H_phi_m,Diagonal_Potential2,basis_array[m])\n", " # Create matrix element by integrating\n", " H_Matrix3[m,n] = integrate_functions(basis_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" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ground state energy: 4.08338931328\n", "Ground state wavevector: [ 9.73020341e-01 2.29548881e-01 2.26424844e-02 4.99446267e-03\n", " 8.93004688e-04 5.21069181e-04 1.27824770e-04 1.14624515e-04\n", " 3.24084063e-05 3.62462861e-05]\n", "Min E and alph: 4.10605694331 0.24\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Use exact algebra to find the result for comparison\n", "import numpy.linalg as la\n", "Energy_values, Energy_vectors = la.eigh(H_Matrix3)\n", "print \"Ground state energy: \",Energy_values[0]\n", "print \"Ground state wavevector: \",Energy_vectors[:,0]\n", "\n", "# Now set up the simple parameter scan\n", "n_alpha = 101\n", "alpha_values = np.linspace(-1,1,n_alpha)\n", "energy3 = np.zeros(n_alpha)\n", "i=0\n", "Energy_minimum = 1e30\n", "Alpha_minimum = 0.0\n", "for alpha in alpha_values:\n", " psi = basis_array[0] + alpha*basis_array[1]\n", " H_psi = -0.5*(second_derivative_basis_array[0] + alpha*second_derivative_basis_array[1])\n", " add_potential_on_basis(H_psi,Diagonal_Potential2,psi)\n", " norm = integrate_functions(psi,psi,dx)\n", " #print alpha, norm\n", " #print H_Matrix2[0,0] + H_Matrix2[1,0]*alpha + H_Matrix2[0,1]*alpha + H_Matrix2[1,1]*alpha*alpha\n", " energy3[i] = integrate_functions(psi,H_psi,dx)/norm\n", " if energy3[i]