WOLFRAM NOTEBOOK

Abstract: This essay delves into the comprehensive exploration of the numerical treatment of one - dimensional solutions of the Schrödinger equation. Here, various solution approaches are discussed. The stability and accuracy of these approaches are compared using a square well potential as a benchmark.The numerical approach proposed by Goldberg ( 1967, one-dimensional) and Galbraight (1984, two-dimensional) are employed, with special consideration given to the causal interpretation of quantum mechanics (Bohmian mechanics). The method of solving the time-dependent Schrodinger equation is based on the Crank-Nicolson method, also called implicite difference scheme method and other methods. The methods presented here differ in various approaches and sometimes only in details within the algorithms and runtimes. However, they all lead to the same results within the given accuracy. The Bohmian perspective provides a more intuitive approach to quantum mechanics. The emphasis is primarily on the technical aspects that play a crucial role in the transition from the analytical to the numerical treatment of the Schrödinger equation. Various approaches and solution steps are implemented using Mathematica. Additionally, to illustrate the stability of solutions, a practical application involves the numerical solution of the KdV equation. This study aims to provide a thorough analysis of quantum mechanical systems, enhancing our understanding of the Schrödinger equation. The results contribute insights into the application of the Bohmian theory in numerical quantum mechanics.

4.0 Ontology of the One-Dimensional Wavefunction

The relevant Hilbert space for the wavefunction in quantum mechanics is an infinite-dimensional vector space. However, the nature and physical significance (=ontology) of a complex-valued wavefunction present challenges: at each point in space and time, the wavefunction is characterized by a complex number. In David Bohm’s causal interpretation of quantum mechanics, the wavefunction in a complex Hilbert space possesses objective reality (= physical entity). It offers a comprehensive description of the system, delineating an observer-independent reality that leads to precisely the same results as the conventional interpretation. Every complex number consists of a real component and an imaginary component. In the context of a one-dimensional wavefunction featuring a time-dependent phase, the wavefunction undergoes rotation around the x-axis. A quantum particle characterized by a higher wavenumber exhibits a wavefunction rotating at a greater frequency, derived from the overall phase of the wavefunction in polar form. The frequency of the wavefunction corresponds to the energy of the particle. The momentum of the quantum particle is influenced by the wavelength, which is expressed by the wave number
k
. To study this behavior, the algorithm mentioned above(xslittlegrass) is utilized. The wavefunction is displayed as the imaginary part, real part, and absolute value.
The squared magnitude of the wave function is commonly regarded as physically significant, representing a probability amplitude. However, there is more to the wave function. An exploratory approach, incorporating a blend of the de Broglie–Bohm interpretation (Bohmian mechanics), is presented in Eugene Khutoryansky’s video [20]. The space spanned by the real and imaginary components of a complex number is referred to as the complex plane or Gaussian plane. Mathematically, it is the two-dimensional vector space over the real numbers.
In[]:=
TDSE5[V_Function,Ct0_,{xmin_,xmax_},{tmin_,tmax_,dt_}]:=Module[{I0,Tmtx,Vmtx,Hmtx,Ct,Cls,dx,tls,xls,N0Grid=Length@Ct0},dx=(xmax-xmin)/(N0Grid-1);xls=Range[xmin,xmax,dx];tls=Range[tmin+0.5dt,tmax,dt];(*dt=1/2dx^2*)Tmtx=-(1/(2(dx)^2))SparseArray[{{i_,i_}->-2,{i_,j_}/;Abs[i-j]==1->1},{N0Grid,N0Grid}];(*kineticenergy*)I0=SparseArray[{{i_,i_}->1.},{N0Grid,N0Grid}];(*identitymatrix*)Ct=Ct0;Vmtx=SparseArray[Band[{1,1}]->V/@xls];(*potentialenergy*)Hmtx=Tmtx+Vmtx;(*totalHamiltonian*)Cls=Table[Ct=LinearSolve[(I0+I/2.(Hmtx)*dt),(I0-I/2.(Hmtx)*dt).Ct],{t,tls}];Cls]
NP=500;TimeSteps=1000;TimeEnd=TimeSteps*1/NP^2;stepsize=1/NP^2;xPotEnd=0.6;potH=6000;xMin=0;xMax=1;V=Array[If[#>0.5&&#<xPotEnd,potHUnitStep[#],0.0]&,NP,{xMin,xMax}];Ct0=ArrayExp100#-
2
(#-0.3)
2*
2
0.03
&,NP,{xMin,xMax}//N;(*initialwavefunction*)PsiNum=TDSE5[Function[{x},If[x>0.5&&x<xPotEnd,potHUnitStep[x],0.0]],Ct0,{0,1},{0.,TimeEnd,stepsize}];//AbsoluteTiminglengthAni=Length[PsiNum]Do[{PsiNum5[i]=PsiNum[[i]]},{i,1,lengthAni,1}];(*time-optimizedversion*)(*ListPlot[Abs[PsiNum[[1;;len;;len/10]]],Joined->True,PlotRange->All]*)
In[]:=
NP=500;xPotEnd=0.6;potH=6000;V=Array[If[#>0.5&&#<xPotEnd,potHUnitStep[#],0.0]&,NP,{0,1}];PsiNum8=TDSE5[Function[{x},If[x>0.5&&x<xPotEnd,potHUnitStep[x],0.0]],Ct0,{0,1},{0.,0.004,0.4*10^-6}];//AbsoluteTimingTimeEnd=Length[PsiNum8]Lx=Array[#&,NP,{0,1}];Ly=Array[0.6&,NP,{0,1}];Ly2=Array[0.4&,NP,{0,1}];Ly3=Array[0.2&,NP,{0,1}];Ly4=Array[0.8&,NP,{0,1}];Ly5=Array[1.0&,NP,{0,1}];LPot=V/10000;BK="White";FC="Black";potV=Table[{Lx[[k]],Ly2[[k]],LPot[[k]]},{k,1,NP,1}];(For[i=TimeEnd,i1,i--,{ImPsi=Im[PsiNum8[[i]]];RePsi=Re[PsiNum8[[i]]];AbsPsi=Abs[PsiNum8[[i]]];points=Table[{Lx[[k]],ImPsi[[k]],RePsi[[k]]},{k,1,NP,1}];prob=Table[{Lx[[k]],Ly[[k]],AbsPsi[[k]]},{k,1,NP,1}];ImPsiP=Table[{Lx[[k]],Ly4[[k]],ImPsi[[k]]},{k,1,NP,1}];RePsiP=Table[{Lx[[k]],Ly4[[k]],RePsi[[k]]},{k,1,NP,1}];ImRePsi[i]=Graphics3D[{Green,Thickness[0.008],Line[points]},PlotRange{{0,1},{-1.0,1.0},{-1.0,1.0}},AxesTrue,AxesStyleDirective[FC,10],AxesOrigin{0.0,0.,0.0},BackgroundBK];probPlot[i]=Graphics3D[{Red,Thickness[0.008],Line[prob]},PlotRange{{0,1},{-1.0,1.0},{-1.0,1.0}},AxesTrue,AxesStyleDirective[FC],AxesOrigin{0.0,0.,0.0},BackgroundBK];ImPlot[i]=Graphics3D[{Yellow,Thickness[0.008],Line[ImPsiP]},PlotRange{{0,1},{-1.0,1.0},{-1.0,1.0}},AxesTrue,AxesStyleDirective[FC,10],AxesOrigin{0.0,0.,0.0},BackgroundBK];RePlot[i]=Graphics3D[{Orange,Thickness[0.008],Line[RePsiP]},PlotRange{{0,1},{-1.0,1.0},{-1.0,1.0}},AxesTrue,AxesStyleDirective[FC,10],AxesOrigin{0.0,0.,0.0},BackgroundBK];probV[i]=Graphics3D[{Blue,Thickness[0.008],Line[potV]},PlotRange{{0,1},{-1.0,1.0},{-1.0,1.0}},AxesTrue,AxesStyleDirective[FC,10],AxesOrigin{0.0,0.,0.0},BackgroundBK];}])//AbsoluteTiming(For[i=1,iTimeEnd,i++,{alltogether4[i]=Show[{probPlot[i],ImRePsi[i],probV[i],ImPlot[i],RePlot[i]},AxesTrue,AxesStyleDirective[Green,10],AxesLabel{"x","Im Psi","Re Psi"},LabelStyleDirective[White,Bold,11],Ticks{{0,1/2,1},{0,1/2,1},{-1,0,1}},AxesOrigin{0,0,0},PlotRange{{0,1},{-1,1},{-1,1}},SphericalRegionTrue,BackgroundBlack,ImageSize600,AxesLabel{"x","Im Psi","Re Psi"},LabelStyleDirective[White,Bold,11]]}])//AbsoluteTiming
Out[]=
{6.36309,Null}
Out[]=
10000
Out[]=
{22.7619,Null}
Out[]=
{0.637028,Null}
In[]:=
graphTable=GraphicsGrid[Partition[Table[alltogether4[i],{i,1,TimeEnd,TimeEnd/4}],2],Frame->All,ImageSize->600]
In[]:=
Animate[alltogether4[i],{i,1,TimeEnd,1},AnimationRunning->False]
The graphic shows the time-dependent combination of the of the complex valued wave function in the two dimensional Gaussian plane (green), squared wave function (red) the imaginary part (yellow), real part (orange), and the barrier potential (blue). Saving the animation as a GIF file .
In[]:=
steps=50;(plotTunnelFastOntology1=Table[alltogether4[i],{i,1,TimeEnd,TimeEnd/steps}];)//AbsoluteTiming
Out[]=
{0.0026259,Null}
Creating a video sequence.
In[]:=
filename="TunnelingOntology1.gif";directory="AnimationsFiles";(Export[NotebookDirectory[]<>FileNameJoin[{directory,filename}],plotTunnelFastOntology1,RasterSize->400,"AnimationRepetitions"->Infinity,CompressionLevel->1])//AbsoluteTimingVideoGifAll=Import[NotebookDirectory[]<>FileNameJoin[{"animations","TunnelingOntology1.gif"}]];AnimatedImage[VideoGifAll,FrameRate->10,AnimationRunning->False,ImageSize->400]
Out[]=
{26.2314,I:\KlausMemory\AnimationsFiles\TunnelingOntology1.gif}
Out[]=

5.0 The Causal Interpretation of the Quantum Theory

The causal interpretation of the quantum theory (de Broglie - Bohm theory), also known as Bohmian mechanics or pilot - wave theory, offers an alternative interpretation of quantum mechanics. Unlike the conventional Copenhagen interpretation, the Bohmian approach postulates the existence of real, deterministic trajectories for quantum particles. In this theory, it is assumed that each particle is guided by a so-called pilot wave, which could be described by the so called quantum potential. This pilot wave influences the distribution of the probability amplitude described by the Schrödinger equation. However, the particle’s position is determined by the trajectory guided by the pilot wave or quantum potential.
The Bohmian mechanics is non-local, as the trajectory of a particle is influenced by the wave function at all points in the configuration space. Although this theory is philosophically intriguing, it has not made experimental predictions differing from the Copenhagen interpretation, remaining an alternative perspective on quantum mechanics.
In the realm of quantum mechanics, where analytical solutions are limited, the utilization of numerical methods becomes imperative to broaden the spectrum of possible solutions. Transitioning from analytical to numerical treatments of the Schrödinger equation involves implementing computational algorithms that can simulate the intricate behavior of particles. These numerical approaches provide a versatile toolkit for exploring diverse quantum systems and generating trajectories in accordance with the principles of Bohmian mechanics. The flexibility of numerical methods opens up new possibilities for studying particles in nonlinear potentials, which would otherwise be limited by the lack of analytical solutions. This enables the investigation of complex quantum phenomena and provides new insights into the behavior of particles in various scenarios.
Unlike some interpretations where the wave function is considered a mathematical tool devoid of physical reality, Bohmian mechanics asserts that the wave function has a genuine, physical entity, representing an objective element guiding the trajectories of particles. This perspective further underscores the importance of numerical methods in capturing the dynamic interplay between particles and their associated wave functions within the Bohmian framework.
The work by Dewdney and Hiley [8a], titled “A Quantum Potential Description of One-Dimensional Time-Dependent Scattering From Square Barriers and Square Wells,” stands as an first work of applying Bohmian mechanics to time-dependent scattering theory in quantum mechanics. Dewdney and Hiley investigated the scattering of wave functions by square barrier and well potentials, analyzing them while considering the concept of quantum potential.
So, in 1982, Dewdney and Hiley became the pioneers in employing the Crank-Nicolson method for numerically solving the Schrödinger equation, as delineated by Goldberg et al.[1], within the framework of time-dependent scattering theory for trajectory determination.

5.1 Quantum Potential

Creating a video sequence.

5.2 Linear Interpolation as an Approximation of the Velocity

To compute the quantum potential a central five point method is used .
On the right, the graphic shows the squared wavefunction and the trajectories. The left shows the particles' position (from black to green), the squared wavefunction (blue) and the quantum potential (red). The quantum potential is scaled to fit.
Creating a video sequence.

6.0 Numerical Solution of a Polynomial Potential with Customizable Shape

One intriguing application of numerical solutions lies in the dynamic behavior of wave functions within potentials characterized by polynomials of various orders. This exploration goes beyond the constraints of traditional wave simulations, opening up possibilities to investigate complex phenomena and behaviors that arise when initial wave functions interact with customizable polynomial potentials.
An application of numerical solution with a rich complex structure is the behavior of an initial Gaussian wave in a potential described by a polynomial of order 5. In this case, the shape of the potential can be freely determined by specifying 6 points. In this scenario, the motion is determined by the shape of the potential, transitioning from periodic motion characterized by a stable wave density to aperiodic motion with a dispersive wave density. On the left, the graphic shows the potential. In the middle the squared wavefunction is displayed. The left shows the squared wavefunction (red), and the potential (black). The data input via the “Manipulate” function can lead to unexpected program terminations and is not yet very stable.
The computational effort for determining the trajectories and the quantum potential is approximately 400 seconds. To save computation time, only 400 grid points were used in this case. The computation time is approximately 350 seconds.
Creating a video sequence.

7.0 Mathematica Solution Using Only Built-In Functions

For the exclusive treatment of the Schrödinger function without explicit input of discretization steps, the approach of Michael Trott [19] with special Dirichlet boundary conditions is used as a basis. In this context, not only the boundary conditions of the function itself are crucial for the stability of the wave function, but also the grid size and time steps. If the box size is chosen too large relative to the position and initial width of the wave function, the solution becomes unstable. It always requires a careful balance between the stability of the solution, grid size, and the number of time steps. In the next plots, you can see the absolute value of the wave function in the two- and three-dimensional representation and the individual trajectories for 58 different initial positions. As an example, the interference of two particles described by two Gaussian waves is employed. The interference of these waves results in the interference pattern, which illustrates the wave-particle duality. The groundbreaking work by C. Philippidis, C. Dewdney, and B. J. Hiley, presented in “Quantum Interference and the Quantum Potential,”[8b] established Bohmian theory by determining trajectories resulting from the interference of two waves. Their work exemplified how interference patterns of Gaussian waves illustrate Bohmian mechanics. Their study significantly advanced understanding of quantum physics and laid the groundwork for further investigations into the quantum potential.
In the next steps, the velocity is determined from the interpolated solution function, and the initial positions are set. The interpolated function for velocity provides the numerical equation for time integration to calculate the trajectories
Creating a video sequence. The rater size may need to be adjusted if necessary.

References

Wolfram Demonstrations by Klaus von Bloh

Wolfram Community posts by Klaus von Bloh

Articles

I generated some of the formulations and translations into English using ChatGPT. I have incorporated some sentences verbatim from my Wolfram demonstrations without properly attributing them as quotations.
[1] A. Goldberg, H. Schey, and J. L. Schwartz, “Computer-Generated Motion Pictures of One-Dimensional Quantum Mechanical Transmission and Reflection Phenomena,” American Journal of Physics., 35(3), 1967 pp. 177–186.
[2] I. Galbraith, Y. S. Ching, and E. Abraham, “Two-Dimensional Time-Dependent Quantum-Mechanical Scattering Event,” American Journal of Physics, 52(1), 1984 pp. 60–68. doi: 10.1119/1.13811.
[3] R. D. Richtmyer and K. W. Morton, Difference Methods for Initial-Value Problems, New York,John Wiley & sons, 1967.
[4] S. E. Koonin, Computational Physics, Menlo Park, California, Benjamin/Cummings , 1986.
[5] B. P. Flannery, W. H. Press , S. A. Teukolsky , Numerical Recipes in Pascal: The Art of Scientific Computing, New York: New York : Cambridge University Press, 1989.
[6] R. E. Crandall , Mathematica for the Sciences, New York : Addison Wesley, 1991.
[8a] C. Dewdney and B. J. Hiley, “A Quantum Potential Description of One-Dimensional Time-Dependent Scattering from Square Barriers and Square Wells,” Found. Phys. 12(1), 1982 pp. 27–48. doi: 10.1007/BF00726873.
[8b] C. Philippidis, C. Dewdney and B. J. Hiley, “Quantum Interference and the Quantum Potential,” Il Nuovo Cimento B Series 11, 52(1), 1979 pp. 15–28. doi:10.1007/BF02743566.
[9] P . R . Holland, The Quantum Theory of Motion: An Account of the de Broglie–Bohm Causal Interpretation of Quantum Mechanics, New York : Cambridge University Press, 1993.
[10] J. Caulfield, “What Determines Alpha Decay?,” Portsmouth Polytechnic (England), student research project (supervisor: Chris Dewdney), unpublished, 1991 .
[11] C. Wachter, “Numerical Solution of the Time-Dependent 1D-Schrodinger Equation using Absorbing Boundary Conditions,” University of Graz (Austria), Bachelor Thesis, 2017.
[12] F. L. Dubeibe, “Solving the time-dependent Schrödinger equation with absorbing boundary conditions and source terms in Mathematica 6.0,” International Journal of Modern Physics C (IJMPC) 21(11), 2010 pp. 1391–1406. doi:10.1142/S0129183110015919 or arXiv:1005.0044v3 [quant-ph]
[13] R. J. LeVeque, “Finite Difference Methods for Differential Equations,”University of Washington (USA), Course script, 2005.
[14] Wikipedia. “Finite difference coefficient.” (Jan 4, 2024) https://en.wikipedia.org/wiki/Finite_difference_coefficient.
[15] C. R. Taylor, “Finite Difference Coefficients Calculator.” Website (2016). https://web.media.mit.edu/~crtaylor/calculator.html (Jan 4,2024).
[16] T. Robb, “Animating Schroedinger’s Equation in Two Dimensions.” Wolfram Library Archive (1993). https://library.wolfram.com/infocenter/MathSource/453/ (Jan 4,2024).
[17] G. J. Köhn, “Solving the Time-Dependent-Schroedinger Equation,” Website (2021), https://www.g15n.net/projects/tdse/index.html.
[18] P. B. Visscher, “A fast explicit algorithm for the time-dependent Schrodinger equation” Computers in Physics 5, 1991 pp. 596-598. doi:/10.1063/1.168415 or Research Gate Article.
[19] M. Trott, The Mathematica Guide Book for Numerics, Champaign, Illinois, Springer, 2006.
[20] E. Khutoryansky, “Quantum Wave Function Visualization” [Video]. (Nov. 12, 2020) www.youtube.com/watch?v=KKr91v7yLcM&t=368s.
[21] Wikipedia. “Linear interpolation” (Jan 4, 2024) https://en.wikipedia.org/wiki/Linear_interpolation.
[22] Wikipedia. “Tridiagonal matrix algorithm” (Mar 4, 2024) https://en.wikipedia.org/wiki/Tridiagonal_matrix_algorithm.
[23] Wikipedia. “Courant–Friedrichs–Lewy condition” (Mar 4, 2024) https://en.wikipedia.org/wiki/Courant%E2%80%93Friedrichs%E2%80%93Lewy_condition.

Other Demonstrations and internet sources :

[3] T. Dombou, “Creating a function from an expression containing variables”, Wolfram Community, community.wolfram.com/groups/-/m/t/988844.
[4] xslittlegrass, “How to speed up this TDSE code?”, mathematica.stackexchange.com/questions/44930/how-to-speed-up-this-tdse-code.
Other Internet Sources:
[5] G. J. Köhn, “Solving the Time-Dependent-Schroedinger Equation,” Website (2021), www.g15n.net/projects/tdse/index.html.
[6] K. von Bloh. The Causal Interpretation of Quantum Tunnelling through a Square Barrier. [Video]. (Feb 23, 2024) www.youtube.com/watch?v=aLBFa-njXK4.
[7] K. von Bloh. The Causal Interpretation of Quantum Tunneling through a Square Barrier with Different Widths. [Video]. (Feb 23, 2024) www.youtube.com/watch?v=McHd8ML4lgM&t=24s.
[8] K. von Bloh. The Causal Interpretation of Quantum Tunneling through a Smooth Potential with Different Heights. [Video]. (Feb 23, 2024) www.youtube.com/watch?v=SfQ6DATjSNA.
[9] K. von Bloh. Real and Imaginary Parts of the Quantum Tunneling Process in the de-Broglie-Bohm approach. [Video]. (Feb 23, 2024) www.youtube.com/watch?v=AtyJa-zuNCs&t=13s.

CITE THIS NOTEBOOK

Wolfram Cloud

You are using a browser not supported by the Wolfram Cloud

Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.


I understand and wish to continue anyway »

You are using a browser not supported by the Wolfram Cloud. Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.