Benjamin Crowell · Simple Nature Ch. 11 · CC BY-SA 3.0
Particles are waves of probability. The uncertainty principle says you cannot simultaneously know position and momentum with arbitrary precision. The Schrodinger equation governs how the probability amplitude evolves in time.
Wave-particle duality
Light acts as both wave and particle. The photoelectric effect showed light comes in quanta (photons) with energy E = h*f. De Broglie showed the reverse: particles have wavelength lambda = h/p. Every object has a wavelength, but for macroscopic objects it is absurdly small. For electrons, it matters.
Scheme
; De Broglie wavelength: lambda = h / p = h / (m*v); Photon energy: E = h * f = h * c / lambda
(define h 6.626e-34) ; Planck's constant (J*s)
(define c 3e8)
(define (de-broglie m v)
(/ h (* m v)))
(define (photon-energy lambda)
(/ (* h c) lambda))
; Electron at 1e6 m/s
(define m-e 9.109e-31)
(display "Electron (v=1e6 m/s):") (newline)
(display " wavelength = ")
(display (de-broglie m-e 1e6))
(display " m") (newline)
; Baseball at 40 m/s
(define m-ball 0.145)
(display "Baseball (v=40 m/s):") (newline)
(display " wavelength = ")
(display (de-broglie m-ball 40))
(display " m") (newline)
; Green photon (532 nm)
(display "Green photon (532 nm):") (newline)
(display " energy = ")
(display (photon-energy 532e-9))
(display " J = ")
(display (/ (photon-energy 532e-9) 1.6e-19))
(display " eV")
Python
h = 6.626e-34
c = 3e8def de_broglie(m, v):
return h / (m * v)
def photon_energy(lam):
return h * c / lam
m_e = 9.109e-31print(f"Electron wavelength: {de_broglie(m_e, 1e6):.3e} m")
print(f"Baseball wavelength: {de_broglie(0.145, 40):.3e} m")
E = photon_energy(532e-9)
print(f"Green photon: {E:.3e} J = {E/1.6e-19:.2f} eV")
The uncertainty principle
Heisenberg's uncertainty principle: delta_x * delta_p >= h_bar / 2. This is not about measurement clumsiness. It is a fundamental property of waves. A well-localized wave packet (small delta_x) must contain many wavelengths (large delta_p). You cannot have both.
Scheme
; Uncertainty principle: dx * dp >= hbar/2; hbar = h / (2*pi); Minimum uncertainty: dx * dp = hbar/2
(define h 6.626e-34)
(define pi 3.14159265)
(define hbar (/ h (* 2 pi)))
; If we know position to 1 nanometer, what's the minimum dp?
(define dx 1e-9)
(define dp-min (/ hbar (* 2 dx)))
(display "Position uncertainty: 1 nm") (newline)
(display "Minimum momentum uncertainty: ")
(display dp-min) (display " kg*m/s") (newline)
; For an electron, what velocity uncertainty does that imply?
(define m-e 9.109e-31)
(define dv (/ dp-min m-e))
(display "Electron velocity uncertainty: ")
(display dv) (display " m/s") (newline)
(display "That's ") (display (/ dv 1000)) (display " km/s") (newline)
; For a 1 kg ball?
(define dv-ball (/ dp-min 1.0))
(display "1 kg ball velocity uncertainty: ")
(display dv-ball) (display " m/s") (newline)
(display "Unmeasurably small: quantum effects are negligible for macroscopic objects.")
The Schrodinger equation
The Schrodinger equation is the wave equation for probability amplitudes. For a particle in a box (infinite square well), the allowed wavelengths are quantized: only standing waves fit. Energy levels go as n^2. The wave function psi gives probability density: the probability of finding the particle between x and x+dx is |psi(x)|^2 * dx.
Scheme
; Particle in a box: E_n = n^2 * h^2 / (8 * m * L^2); Standing waves: only wavelengths lambda = 2L/n fit.; Ground state is n=1 (not n=0): zero-point energy.
(define h 6.626e-34)
(define m-e 9.109e-31)
(define eV 1.6e-19)
(define (energy-level n m L)
(/ (* n n h h) (* 8 m L L)))
; Electron in a 1 nm box (roughly atomic scale)
(define L 1e-9)
(display "Electron in 1 nm box:") (newline)
(define (show-level n)
(let ((E (energy-level n m-e L)))
(display " n=") (display n)
(display ": E = ") (display (/ E eV))
(display " eV") (newline)))
(for-each show-level (list 12345))
; Energy ratios: E_n / E_1 = n^2
(display "Ratio E2/E1 = ")
(display (/ (energy-level 2 m-e L) (energy-level 1 m-e L))) (newline)
(display "Ratio E3/E1 = ")
(display (/ (energy-level 3 m-e L) (energy-level 1 m-e L)))
Probability amplitudes
The wave function psi is a probability amplitude, not a probability. Probability is |psi|^2. Amplitudes add before squaring, which is why interference happens. Two paths to the same point: if their amplitudes add constructively, the particle is likely there. If they cancel, the particle is never found there. This is how the double-slit pattern forms one particle at a time.
Scheme
; Probability amplitudes and interference; Two paths with amplitudes a1 and a2:; Classical: P = |a1|^2 + |a2|^2 (no interference); Quantum: P = |a1 + a2|^2 (interference!); Simulate with real amplitudes (ignoring complex phase for simplicity)
(define (classical-prob a1 a2)
(+ (* a1 a1) (* a2 a2)))
(define (quantum-prob a1 a2)
(let ((sum (+ a1 a2)))
(* sum sum)))
; Equal amplitudes
(define a 0.5)
; Constructive: both positive
(display "Constructive interference:") (newline)
(display " Classical: ") (display (classical-prob a a)) (newline)
(display " Quantum: ") (display (quantum-prob a a)) (newline)
; Destructive: opposite signs (phase difference of pi)
(display "Destructive interference:") (newline)
(display " Classical: ") (display (classical-prob a (- a))) (newline)
(display " Quantum: ") (display (quantum-prob a (- a))) (newline)
; Quantum probability can be ZERO even when both paths exist.; Classical probability is always positive.
(display "This is why quantum mechanics is different.")
Neighbors
Cross-references
Probability Ch.2 — continuous distributions: |psi|^2 is a probability density
Shannon Ch.1 — information = surprise: measurement collapses uncertainty
We use real-valued amplitudes for simplicity. The full Schrodinger equation uses complex amplitudes, and interference depends on relative phase. The particle-in-a-box is the simplest exactly solvable quantum system. Crowell builds up to the hydrogen atom (next chapter). Our probability amplitude example captures the essential logic: amplitudes add, then you square. This is the origin of all quantum weirdness.