Abstract
A large class of problems in quantum physics involve solution of the time independent Schrodinger equation in one or more space dimensions. These are boundary value problems, which in many cases only have solutions for specific (quantized) values of the total energy. In this article we describe a Python package that ``automagically'' transforms an analytically formulated Quantum Mechanical eigenvalue problem to a numerical form which can be handled by existing (or novel) numerical solvers. We illustrate some uses of this package. The problem is specified in terms of a small set of parameters and selectors (all provided with default values) that are easy to modify, and should be straightforward to interpret. From this the numerical details required by the solver is generated by the package, and the selected numerical solver is executed. In all cases the spatial continuum is replaced by a finite rectangular lattice. We compare common stensil discretizations of the Laplace operator with formulations involving Fast Fourier (and related trigonometric) Transforms. The numerical solutions are based on the NumPy and SciPy packages for Python 3, in particular routines from the \btt{scipy.linalg}, \btt{scipy.sparse.linalg}, and \btt{scipy.fftpack} libraries. These, like most Python resources, are freely available for Linux, MacOS, and MSWindows. We demonstrate that some interesting problems, like the lowest eigenvalues of anharmonic oscillators, can be solved quite accurately in up to 3 space dimensions on a modern laptop --- with some patience in the 3-dimensional case. We demonstrate that a reduction in the lattice distance, for a fixed the spatial volume, does not necessarily lead to more accurate results: A smaller lattice length increases the spectral width of the lattice Laplace operator, which in turn leads to an enhanced amplification of the numerical noise generated by round-off errors.
Highlights
The Schrödinger equation has been a central part of “modern” physics for almost a century
We mainly restrict our discussion to the non-relativistic, time independent form
This constitutes an eigenvalue problem for E (there are many cases where the operator defined by Equation (1) allows for a continuous spectrum of E-values, but this will not directly influence the treatment of finite discretizations of such systems)
Summary
The Schrödinger equation has been a central part of “modern” physics for almost a century. This model has often functioned as a theoretical laboratory [5, 6], for instance to investigate the behavior and properties of perturbative [7, 8] and other [9,10,11,12] expansions, and alternative solution methods [13,14,15] It this article we describe some attempts to simplify numerical solutions of eigenvalue problems like (1). Other options involve selection of numerical approaches, like whether dense or iterative sparse matrix solvers should be used Such decisions have consequences for many “trivial” details of the numerical programs, but they can be provided in the form of parameters and selectors, automatically implemented without further tedious and error-prone human intervention. Even many of the decisions indicated above may by delegated to artificial intelligence systems, but this is beyond our current scope
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have