Chapter C
Notes on numerical methods
The algorithms behind every simulation here: finite differences, exact diagonalisation, split-operator.
- Sections
- 3
- Finalised
- 3/3
- Simulations
- 0
- Estimated time
- 2 hours
- Read first
- Chapter 04
- C.1Finite differences for stationary statesDiscretise the stationary Schrödinger equation into a tridiagonal eigenvalue problem — 30 lines of numpy solve the levels and wavefunctions of any 1D potential, with convergence checks and the usual traps.
- C.2The split-operator methodThe algorithm behind this site's wave-packet animations: multiply a potential phase in position space, a kinetic phase in momentum space, and let the FFT hop between them — strictly norm-preserving, second-order convergent, with full code and a trap list.
- C.3Exact diagonalisation and Monte CarloTwo numerical routes into the many-body problem: brute-force the ground state of a Heisenberg chain with sparse matrices plus Lanczos, or replace integration by sampling with variational Monte Carlo — full code included, plus an honest confession about the sign problem.