The fast and accurate computation of eigenvalues and eigenfunctions of time-independent one-dimensional Schrödinger equations

Abstract In this paper, we present the basic routines of the C++ -program Matslise 3.0, an updated but yet restricted version of the matlab package Matslise 2.0. Matslise 3.0 currently allows the accurate, but in comparison to Matslise 2.0, faster computation of eigenvalues and eigenfunctions of one dimensional time-independent Schrodinger problems. The numerical examples show that speed up factors up to 20 (for the eigenvalues) and 200 (for the eigenfunctions) are obtained. These highly optimized routines will enable us, in the near future, to extend Matslise 3.0 to solve time-independent 2D and 3D as well as time-dependent 1D problems. Program summary Program Title: Matslise 3.0 CPC Library link to program files: https://dx.doi.org/10.17632/4yn7pp92y4.1 Developer’s repository link: https://github.com/twist-numerical/matslise Code Ocean capsule: https://codeocean.com/capsule/2123682/tree/v1 Licensing provisions: MIT Programming language: C++, Python Nature of problem: The time-independent one-dimensional Schrodinger equation is an ordinary differential equation with highly oscillatory solutions. This program calculates the eigenvalues and eigenfunctions for a given potential accurately and efficiently. Solution method: A constant-perturbation method is used. In this method a piecewise constant approximation of the potential is improved by adding perturbation terms. To locate the eigenvalues multiple shooting is employed. Additional comments including restrictions and unusual features: The code submitted also contains routines to solve the two-dimensional time-independent Schrodinger equation. This extra code will be described in a later article.

[1]  Marnix Van Daele,et al.  The accurate numerical solution of the Schrödinger equation with an explicitly time-dependent Hamiltonian , 2014, Comput. Phys. Commun..

[2]  Guido Vanden Berghe,et al.  A numerical procedure to solve the multichannel Schrödinger eigenvalue problem , 2007, Comput. Phys. Commun..

[3]  H. De Meyer,et al.  SLCPM12 - A program for solving regular Sturm-Liouville problems. , 1999 .

[4]  H. De Meyer,et al.  CP methods for the Schro¨dinger equation revisited , 1998 .

[5]  John D. Pryce,et al.  A test package for Sturm-Liouville solvers , 1999, TOMS.

[6]  Steven Pruess,et al.  Using the SLEDGE package on Sturm-Liouville problems having nonempty essential spectra , 1996, TOMS.

[7]  Guido Vanden Berghe,et al.  CP methods of higher order for Sturm-Liouville and Schrödinger equations , 2004, Comput. Phys. Commun..

[8]  Guido Vanden Berghe,et al.  MATSLISE: A MATLAB package for the numerical solution of Sturm-Liouville and Schrödinger equations , 2005, TOMS.

[9]  Paul B. Bailey,et al.  Algorithm 810: The SLEIGN2 Sturm-Liouville Code , 2001, TOMS.

[10]  L.Gr. Ixaru,et al.  CP methods for the Schrödinger equation , 2000 .

[11]  Liviu Gr Ixaru,et al.  Numerical methods for differential equations and applications , 1984 .

[12]  L.Gr. Ixaru LILIX—A package for the solution of the coupled channel Schrödinger equation☆ , 2002 .

[13]  Liviu Gr. Ixaru New numerical method for the eigenvalue problem of the 2D Schrödinger equation , 2010, Comput. Phys. Commun..

[14]  David E. Keyes,et al.  KBLAS: An Optimized Library for Dense Matrix-Vector Multiplication on GPU Accelerators , 2014, ACM Trans. Math. Softw..