Quantum Mechanics Programs
Interactive Python simulations for quantum mechanics β inspired by qmsolve
These simulations run entirely in your browser using Pyodide (WebAssembly Python). For advanced 3D visualizations and GPU-accelerated computations, install qmsolve locally.
These programs use the same numerical methods as qmsolve (split-step Fourier, eigenstate solvers) but run directly in your browser. The first run downloads the Python environment (~15MB). Click "Run" to execute!
1D Harmonic Oscillator
Solve the quantum harmonic oscillator analytically. Visualize eigenstates, probability densities, and energy levels. Uses Hermite polynomials and demonstrates the equally-spaced energy spectrum E_n = (n+1/2)hbar*omega.
Click Run to execute the Python code
First run will download Python environment (~15MB)
Fundamental Equations of Quantum Mechanics
The Schrodinger Equation
The fundamental equation governing quantum mechanical systems:
Time-Dependent Schrodinger Equation:
Time-Independent Schrodinger Equation:
where \( \hat{H} = -\frac{\hbar^2}{2m}\nabla^2 + V(\mathbf{r}) \)
Split-Step Fourier Method (used in tunneling & double-slit simulations):
Harmonic Oscillator
Wavefunctions:
Infinite Square Well
Wavefunctions:
Hydrogen Atom
Energy levels:
Radial wavefunction:
Quantum numbers:
\( n = 1, 2, 3, \ldots \) β principal quantum number
\( l = 0, 1, \ldots, n{-}1 \) β angular momentum
\( m = -l, \ldots, +l \) β magnetic quantum number
Tunneling probability (rectangular barrier):
About qmsolve
The simulations on this page are inspired by qmsolve, a Python module for solving and visualizing the Schrodinger equation. For more advanced capabilities, install it locally:
# Basic installation
pip install qmsolve
# With 3D volumetric visualization (Mayavi)
pip install qmsolve[with_mayavi]
Eigenstate Solver
Solves for eigenstates of 1D, 2D, and 3D systems using ARPACK's Lanczos method and LOBPCG. Handles single and two-particle systems.
Time-Dependent Solver
Split-step Fourier and Cayley-Crank-Nicolson methods for time evolution. Supports complex potentials and momentum-dependent interactions.
3D Visualization
Volumetric rendering via Mayavi, interactive eigenstate exploration with sliders, and GPU acceleration through CuPy/CUDA.
Quick Example (local installation)
from qmsolve import Hamiltonian, SingleParticle, TimeSimulation
from qmsolve.util.constants import eV, Γ
def harmonic_oscillator(particle):
k = 100. * eV / Γ
**2
return 0.5 * k * particle.x**2
H = Hamiltonian(
particles=SingleParticle(),
potential=harmonic_oscillator,
spatial_ndim=1, N=512, extent=20*Γ
)
eigenstates = H.solve(max_states=30)
eigenstates.visualize(show=True)Run It Here: qmsolve-Style Eigenstate Solver
This self-contained implementation reproduces qmsolve's eigenstate solver using finite-difference discretization of the Hamiltonian. It solves the 1D time-independent SchrΓΆdinger equation for three potentials: harmonic oscillator, double well, and Morse potential β computing eigenstates, energies, probability densities, and expectation values.
Click Run to execute the Python code
Code will be executed with Python 3 on the server
Run It Here: Fortran Eigenstate Solver
A Fortran implementation of the same finite-difference eigenstate solver β solving the 1D SchrΓΆdinger equation for a quantum harmonic oscillator using the Jacobi eigenvalue algorithm (no LAPACK required).
Click Run to execute the Fortran code
Code will be compiled with gfortran and executed on the server