BPM

An open source virtual laboratory for the Schrödinger equation. A simple Python-based open source software library for the numerical simulation of the linear or nonlinear time-dependent Schrödinger equation in one and two dimensions is presented. The integration is performed using a first-order split-step pseudospectral method, relying on the fast Fourier transform. The software library could be useful for undergraduate courses in elementary quantum mechanics, wave optics and computational physics. It could also be of interest for graduate students working with nonlinear waves, in frameworks such as laser beam propagation in nonlinear optical materials, matter waves within ultracold gases, dark matter or superfluid dynamics, among others. The discussion is complemented by solved examples and suggestions for educational applications of the code.