{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "A particle moves in a periodic box of length $L=10$. Consider a position-space wavefunction $\\psi(x)$ which is unity in the interval $x_1=2\\le x \\le x_2=3$ and zero for all other values of $x$. Approximate this wave function as a Fourier series with $2\\ell+1$ terms with $-\\ell \\le m \\le \\ell$ and plot the result for $\\ell$ =10, 20, 40, 80, 100 and 200." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nuMCcqbvvtt+/u04lKyuBb3zDHKG777Zll14KXHONOT/f/W5q3UMOsfBvd6HLsrLOnw0caOfGo4/a\nE1l5uT1ZPvww8MtfWj3b2+2JtqlpZyemtNRcRrd8r71sv+fOtaeyp56y47b33uYerVtnZbmuLRzu\nSdhRUmJP+hs3ppZPmADcdBNw0UWpBgoi5gasXGm/s7t8HX98KvzXU0/oxxxjx/zmm80tGTQo9QSr\nau/d+eRaMz71lP1WDQ1W9rBh9jvuvz9w9NEW2uwu5DVwYCpUNHGiuWyulWj6NW7IEKtLc7OdT88+\na+dBTU3KtaioMCdnzBj7PZz70BszZpgzUlubcgoPPdRcoI8+SjkNBx9s5a5alfruwQfb+fPGG/Z7\nlJXZPj30UO/bTd//sjL7/tixVueyMpuWl9vvMG6cuWQVFSkXuaXFvt/UZPO1tdlt03HCCVZuU1Nq\nv0eOtN902jTb/8pKc9WGD7dj39Ji16PSUvvNnYP0l79knxNYUWG/6dChts3Bg20f29psf3fssPO9\nstKmQ4bYZyNH2vadaztkiJ13Q4ak3NzGRiu3oSG1fPDg1HqNjZ3n3Xrpn7v/Xvq0tTW1/uDBqWPk\njoGrs+tk1znK7hx2jo07l9rb7XvNzSm3q6TE3NCoR7roiV50RSfKymx/ul5buysjfbl7X1pq1yZ3\nH4oIn47V4QAWpc1fAuCSLussAnB4x/tSAHXoCDN298qrY9WVDz5QXbDAHISBA1V33111zBi7dcyc\nqfrMM9mXdcIJ5gZt3Jj582uusXLr6/3Uva/8/e/mRH3961aPTZt2XqeuTvWYY+zzffc15ysTl19u\n6/zsZ6qf/KQ5RM7BmTlTddKk1NPDF75g5a5bZ/O33tp7XdvbVV95RfWWW1S/9z3Vb35T9brrVBcu\nzFzvrtTW2rZuvjm1bI89zDl77TXVp59Wff111Y8+Uv30p80t+uMfzYmrrFR97rnOdbnlFtV/+ifV\n884z1+noo1PnyU03mRN6yy02P3as6p57qv7hD+bYzZ6dcgSd+5ZOU5Nqc7O9b2lRffdd2/4LL9gx\na2npfX8nTzbXbt48Vfd/Ovfc1DE46iir/+mn23xFRcqpbWhQ/cEPVG+4QXXHjlSZ77zTefsrV9q5\n+957qjfeaK7jYYeZA3zmmVbuZz+789PjZz7Te/37ypQpVnZ5eWo7Rx6ZOr/mzlU96yzV9evNbd6y\nxc6/tWtVt29P/d7ZsHmzHbfnn7f311yj+te/msv4+c9nfmKeO9fv/i5b1v3T+ec+Z870E0+o3n23\nak2NHbuWFju2vmhvt/1/5RVz3TM5qD6ZO3fn8r/9bdUXXzT3mpACgiwdq2yEVSmA9wFMB1AG4HUA\ne3dZ52sAft7x/nQA9/VWbkGFlWPFCruBn3qqhcfuuadvF19Vu2GLWDmZ+Oxn7YZbaB57zA73n/+8\n82etrSYu99lHta2t+zJaWlQPPzx1wbvrLrvxXnON3bzPPFP1yivts1tuse+88YbN33tvJLvVibY2\nu/BfeqnNuzDstdfuvO7776vusktKcDz/fHbbqK7uLMCcmANUv/IVW/bVr6qOHq36jW+Y6I6KWbPs\nJr///ikhc+utqfq8/XZq3aefNvHmkzfeUP2Hf1B99tnUNnfd1ab/8A9+t6WquttuVrYLdQOqL79s\n26qt9b+9TLS2mog54AC74acLgE9/2u+23nlnZ5Fx0UV2XrW3dxbE+ST9HPMtrNwDHqD68Y/3/XpM\nSIR4E1ZWFk4E8A4sd+qyjmVXATip4305gN8BWAHgbwBm9FZmEMLKF1/8oj1FV1d3Xt7WZk7GOecU\npl7pbN5sDt33v7/zZ3fdZafCAw/0Xk5jo+pvf2s36ky0t6uOH6969tk27wRdd+v7prLSRLKq6p/+\nZNt+/PHM61ZXq95+u7kxuXDuufbbOnF21VUp127y5NzK7on99lM96SQTiAsW2LLly+1c/NSnottu\nV5qbUzfDAw5I7btv9t7byj755Ghu6n1l4cLOAuPkk/2Wv3JltO5QLlRWRlOnOXNS5a5Y4bdsQnIk\nW2GVVWczqroQwMIuy65Ie98E4LRsyipKrrrKWhBedZXlHzmWLLH8oeOPL1zdHMOHW/7HokWdhwNp\nbrZcmKoqa03XG+Xl1tqwO0Qsr+TFF23e5UtMntz/uveF8eNTLdb+9jebVnUTEp840Voj5sqdd1o+\nm+urq7LSpitWRDuMz+DBllO1fn1qm7vvbi1hox6XMZ2yMuCGGyxXy53/ZWXRbAew1mzXXGP7Wkg+\n/nHLjRoxwnKDBg70W356eaefbq3rQuH556MZosvlFF59deQtvAiJCva87oMZM2xg2Dvv7Nwz8kMP\nWVLe3LmFq1s6c+dac/Pq6tSyX/7SkvWvucbfcBKHHmq/Q329bUsk1fQ7aqZPT/XP9fzz1m2E698q\n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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.integrate import quad\n", "# assign constants\n", "L=10 # size of region in which particle moves.\n", "x2=3 # upper limit of psi(x)\n", "x1=2 # lower limit of psi(x)\n", "l_max=200 #(-l \\le m \\le +l) largest value of l used below\n", "Dx = 0.01 # Accuracy for plotting position\n", "Nx = int(L/Dx)\n", "psi_tilde = np.zeros((2*l_max+1),dtype=complex)\n", "# Calculate psi_tilde for many values of m, not all of which must be used.\n", "for m in range(-l_max,l_max+1):\n", " fr = lambda x: np.cos(2*np.pi*m*x/L) # Real part of given wave function multiplied by inverse Fourier factor.\n", " fi = lambda x: np.sin(2*np.pi*m*x/L) # Imaginary part of given wave function multiplied by inverse Fourier factor.\n", " Ir = quad(fr, x1, x2)[0] # Perform the inverse Fourier transform integral for the real part\n", " Ii = -quad(fi, x1, x2)[0] # Perform the inverse Fourier transform integral for the imaginary part\n", " psi_tilde[m] = (Ir+1j*Ii)/L**0.5\n", "# print('psi_tilde = ', psi_tilde[m], 'm = ',m-l)\n", "# Reconstruct psi\n", "psi = np.zeros((Nx+1),dtype=complex) # array to hold the complex value of psi(x)\n", "psi_mag = np.zeros((Nx+1)) # array to hold the magnitude of psi(x) \n", "x = np.zeros((Nx+1)) # array to hold the values of the position used for plotting \n", "def wf(l): # define a function that reconstructs the wave function from 2l+1 terms in the Fourier series.\n", " for n in range(0,Nx+1):\n", " x[n]=n*Dx\n", " psi[n] = 0+0j\n", " for m in range(-l,l+1):\n", " psi[n] = psi[n]+psi_tilde[m]*np.e**(+2j*np.pi*m*x[n]/L)/L**0.5\n", "# psi_mag[n] = (psi.real[n]**2+psi.imag[n]**2)**0.5\n", " return psi.real\n", "MPSI = np.zeros((Nx+1))\n", "fig = plt.figure(figsize=(10,4))\n", "ax = fig.add_subplot(1,1,1)\n", "case=0 # Use this integer below to shift the position of each example to make them easier to compare.\n", "for l in (10,20,40,80,100,200):\n", " MPSI = wf(l) \n", " ax.plot(x+case,MPSI,'r-') #Add a curve described by the arrays x and psi.real to Plot, choose a red solid curve.\n", " case=case+3\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }