* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Numerical Methods Project: Feynman path integrals in quantum mechanics Nis Dam Madsen∗ (Dato: 25. juni 2009) This project revolve around the implementation of the Feyman path integral method in C++. In the present paper the theory behind and the considerations that went into the project is discussed. The program has been tested on the harmonic oscillator potential, computing energy levels and eigenfunctions, wavefunction propagation and expectation values. The results from this computation is given at the end of the paper and comparred to the corrosponding analytical results for an estimation of accuracy. Introduction A new approuch to quantum theory was developed by Richard Feynman during the early 1940’s, the theory Richard Feynman presented was based on the conjecture that the transition amplitude going from one space time point |x, ti to another |x0 , t + ∆ti corrosponds to 0 hx , t + ∆t|x, ti = w exp i ~ Z ! t+∆t L(x, ẋ)dt (1) t where L is the langragian, ∆t is assumed to be infinitesimally small and the weight factor w is assumed to be independent of the potential. The expression above is also know as the short time propagator. Richard Feynman is said to have been led to this idea by Paul Dirac who made a similar comment about the connection between the classical Lagrangian and transtion amplitude. In quantum mechanics we can write the operator that evolves an initial state |x0 i into a final state |x00 i as K(x00 , t00 ; x0 , t0 ) = hx00 , t00 |x0 , t0 i = hx00 |Ut0 →t00 |x0 i (2) (3) K is known as the propagator and U is it’s matrix representation in the position basis. The propagator matrix can be thought of as the unitary change of basis operation that evole the basis set into the base set time (t00 − t0 ) later. The entries in the U metrix is simply the inner products hx00 |Ut0 →t00 |x0 i. The progator is independent of the initial state wavefunction, this means that we can evolve any given state once we know the propagator. In Schrödinger’s wave-mechanics we can compute the propagetor once we know the energy eigenvalues and eigenfunctions. This is shown in many textbooks on quantum dynamics and a brief example is given in the note for this project. The result is; 00 00 0 0 K(x , t ; x , t ) = X a ∗ Institut 00 where |ai are the eigenkets. From this expression it is readily seen that a fourie transform of this time series’s trace would yield peaks at the energilevels divided by 2π. Since the trace is independent of basis we use this observation to find the energies from the Feynman propagator. To construct to the propagator using the method of Feynman we need to utilize the infinite propagator given in ( 1). To that end we will use the composition proporty of the propagator to construct the finite time propagator from infinite steps. The composition proporty is; 0 hx |aiha|x i exp iEa (t00 − t0 ) (4) ~ for Fysik og Astronomi, Aarhus Universitet, Danmark hx00 , t00 |x0 , t0 i = X ∆xhx0 , t0 |x000 , t000 ihx000 , t000 |x0 , t0 i(5) x000 = ∆xhx0 , t0 |Ut00 →t000 Ut0 →t00 |x0 , t0 i (6) P This rely on fact that ∆x|x000 , t000 ihx000 , t000 | = 1, which means that the position space constitutes a full basis. In the second line the matrix representation is introduced, this is the form that is useful in a numerical solution of the problem. The composition proporty can be used recursively of course, such that each division is made infinitesimal small and thus making way for the infinitesimal propagator 1. The price paid to obtain this form is that we are left with an infinit amount sums corrosponding to the sum of all possible paths going from an initial state to a final state. If the sums is substituted for integrals we are left with is what is known as Feynman’s path integral, which in its formal form is, 00 00 0 0 Z x2 hx , t |x , t i = D[x(t)] exp x1 i ~ Z t+∆t ! L(x, ẋ)dt (7) t using the same notation as Sakurai, the weight factor from ( 1) is included in the D symbol and is determined by comparing the analytacal solution for a free particle (V=0) with the corrosponding result in the Schördinger formulation. This gives the weight factor w as: r w= m 2πi~t (8) the unit of the weight factor is 1/lenght, which we expect due to the normalization requirement (15). 2 Dicrete formulation Eigenfunctions The key idea in the Feynman’s path integral formulation was the use of infinite time steps to compute finite time propagators, in a discrete formulation we will let the elapsed time be divided into N steps, which means that the infinite number of integrals in ( 7) will be reduced to a finite number. Furthermore we will decretize the space axis into M equidistant points. This yields the following definitions for dt and dx: It is also possible to use this formalism to produce the partion function for a quantum system. By propagating the system in complex time τ = i~t and replacing the action with the hamiltonian for the system we get the heat kernel for the system. Probagation in complex time is the same as lowering the temperature of the system, meaning that a random state |ψ0 i would be driven into the groundstate??. a−b M −1 t2 − t1 dt = N −1 dx = (9) (10) If we write the propagator operator in it’s metrix representation for a small time step say ∆t then we can write the propagator in its position matrix representation as: tn (∆t) = hxi |Utn →tn +∆t |xj i Uij r m i = exp Sij 2πi~t ~ (11) xj + xi xj − xi , ) (13) 2 ∆ Here we have approximated the action using the midpoint rule assuming that the short time propagator moves along straight lines. This means that we are approximating the paths by a polygon. Now using the composition rule 5 we can write a matrix equation that yield the finite time propagator. (14) These equations can be readily implementet in a computer. One concern implementing this system in a computer is the convergence of high powers of the matrix U which might diverge due to small diviations in the eigenvalues 1 from ∆x , in order to counter this divergens a renormalization can be done, when appropriate. The normalization requirement reflects the fact that a quantum particle at a given initial point have to have probabillity 1 to be found somewhere at a later time. We this can formally be written as: (∆x)2 hxi |Uji (t)∗ Ujk (t)|xj i = 1 This mean that we can construct the eigenfunctions for the system by starting with an initial random state and propagating it to ground state, orthogonalize the initial state to this state and then probagate this state toward the ground state, but since there is no component of the groundstate in this new it will most like propagate to the first excited state. This is completely equivalent to finding eigenvectors to a matrix using the power method. The harmonic oscillator Sij ≈ ∆t · L( M X (16) (12) this is what we refer to as the small time propagator. Sij is called the short time action and is give by: U (t2 − t1 ) = (∆x)N −1 U (∆t)N τ →∞ exp (−τ H)|ψ0 i → |0i (15) i,j This must hold for all initial points k = 1, 2...M in principle, but due to our finite position space, there will be some discrepancies around the ends of the interval, this is shown in the results section. To test the program, the harmonic potential was chosen. It has good proporties such as being smooth and well confined, which means that the discrepancies around the endpoints become unimportant. Also the analytical solution for this problem is well known, which means that error estimating will be straight forward. The main characteristic is the energilevels, which are given by En = ~ω( 12 + n) these are the main objective to reproduce using the methods described above. Additionally since the propagator for the system is produced, so it seems obvious to look at the dynamics of the system and it’s expectancy values for position and potential as a function of time, these should according to the Ehrenfest’s theorem behave like the classical result for the harmonic oscillator. To produce produce the propator we need the action for the harmonic oscillator, which is given by; S(∆t) 1 1 = ~∆t(mẋ2 − ~mω 2 x2 ) ~ 2 2 (17) if we choose characteristic q lenght and time scales given ~ by t0 = ω −1 and x0 = ωm , where ω is the classical angular frequency, then the action reduce to S(∆t) 1 2 1 = ẋ0 − x02 ~ 2 2 (18) This achieves that the coefficients are of unity making the problem ready for a numerical solution, since high precision is usually achived by using units that gives numbers of same order of magnitude. In the program the 3 time measure has been choosen to be the classical period Tclassic = 2πω −1 instead, this is done because the FFT used to get the frequency spectre then will be in units of ω/2π, which means that we expect the energy poles at half integer values instead of half integer values divided by two π. As mentioned in the introduction all we have to do is to use fourie transform to extract the energies, but since the problem has been discretized we’ll use a FFT routine. Such a routine has also been produced and it will be used to compute the energies. Of course we can’t get infinitely many energy levels due to the discretization. If we had discretized 4 then in theory we should get the energy levels until the we reach the Nyquist frequency associated with the selected parameters, meaning that highst frequency we should be able to measure would be N ωmax = 2T ω. to later times. Ideally the real part (top) would be constant at 1 and the imaginary part (bottom) would be zero. Results Figur 1: probabillity The solution was implemented in C++, within the framework of a class called CMatrix, which is used for other proposes too. The program consist of a main program and three header files where the routions are defined called Feynman.h, CIOstream.h and CMatrix.h . There is two primary functions in the program, one is called pathintrace, which generates the trace as a function of time, the other is the fft function simply called FFT. All plots and evaluation of the results was done using MatLab’s plotting utillies, the data was transfered as CSV data using a function written for this purpose. The program has been runned with the following input parameters: The first result is the frequency spectra in figure[ ] corrsponding to the energies given in units of ~ω, here we see that the peaks are nicely located around the expected values of 0.5, 1.5 ... 9.5 T0−1 at 10.5 the peak is less significant and the next peak we see at 11.75 diviates from the analytical result. Tabel I: Input parameters for pathintrace(a,b,M,T,N), [a,b] is the space interval of intrest, M is the number of subdivisions of the space, T is number of periods considered and is number of time steps. a -5 b 5 M 500 T 4 N 512 In the simulation, the normalization requirement ( 15) has been used between each propagation to ensure the stabillity of the solution, however the program does run fine without for shorter times, for example does the avarage result for the norm 15 yield 0.982 at iteration start using the parameters above and after one periode it has dropped to 0.845 without renormalization, otherwise it is stable around 0.996. Of cause the speed would increase by a constant factor since renormalization process is a O(3) oparation just like the matrix multiplication. In figure [ 1] the result of ( 15) is shown as function of starting position. The important thing here is that the probabillity is conserved around the middel of the interval, which is used for propagating intitial wavefunctions In figure [ ] the trace, that were used to produce the frequency spektrum, is shown. Both the real part (green) and the imaginary part (red) has been plottet, because they show that there is some behavior with a period of 2T0 which is reminiscent from the ground level frequency. The propagator at each time step has also been used to propagate a gaussian wavepacket with width one in the characteristic units and a displacement of one from the center of the potential. This quantum particle was likewise propagated through four classical periods. The wavefunction was used after each step to compute expectation values for both position and potential energy. Due the probability loss at each time step, the wavefunction was renormalized, before use to avoid amplitude drifting 4 reproduce the classical behavior as it must according to Ehrenfest’s theorem. This is an indication that the program can be used for simulation of similar potentials. of the expectation values. In figure [ ] the wavefunction is shown at 8 successiv time steps seperated by T0 /8 making up haft a period. Figur 2: Propagation of gausssian wavepacket through half a classical period. In figure [ ] the motion of the classical particle (position expectation value) is shown, the period was determind to 0.9998 T0 using MatLab’s cftool. fittedmodel1 = The eigenfunctions for the system can be found as described above, this method is implemented in the header file Pathintracecplx(a,b,M,T,N). The routine uses the QR-decomposition to orthogonalize the vectors mutually, to get a new vector to propagate. I have used ψ0 = 21 exp(−|x − 0.3|) as initial function. The input parameters was; General model Fourier1: fittedmodel1(x) = a0 + a1*cos(x*w) + b1*sin(x*w) a b M T N Coefficients (with 95% confidence bounds): -5 5 200 1 64 a0 = -3.737e-008 (-3.712e-007, 2.964e-007) a1 = 0.9952 (0.9952, 0.9952) b1 = -0.09819 (-0.09819, -0.09819) In figure [ ] a plot of the first four eigenfunctions is shown. w = 6.282 (6.282, 6.282) The match with the the hermitian functions is so good that I have shifted the analytical wavefunction down 0.1 This gives us a deviation of 0.02% from the theoretical in energy to make the comparison easier. In figure [ ] result, which is satisfying for this project. For the potenthe difference between the analytical and the calculated tial energy, the deviation form a frequency of 2 is at most wavefunction is shown. The difference is of order 10−7 0.05%. This shows that our simulation has succeeded to which is very minute. 5 Conclusion In this numerical project we succeeded in using Feynman’s path integral formulation of quantum mechanics to simulate the harmonic oscillator potential. The accuracy the program is estimated by comparison with the analytical results for expectation values, from which it atmost deviates 0.05%. Furthermore the energy levels of the harmonic oscillator was recovered uptil n = 10, the first nine being very significant. And lastly the eigenfunctions was computed in excellent agreement with the analytical result. REFERENCER  Modern Quantum Mechanics, J.J. Sakurai.  Feynman’s Path integrals in quantum mechanics, Dmitri Federov.  Simple Quantum Mechanical Phenomena and the Feynman Real Time Path Integral, A. Dullweber et al.  Numerical Recipies C++, Willam H. Press et al.