Skip to content

Dirac Wave Packets

A free Dirac packet can contain positive- and negative-energy components even when only one fixed spinor component is initially populated. This calculation separates those notions with spectral projectors, then compares a coherent packet with the statistical mixture obtained by removing coherence between its energy sectors. It measures current oscillations, packet dephasing, and the limits of position moments in a periodic box. The operator derivation remains at Zitterbewegung.

Required background. Zitterbewegung supplies the independent velocity/displacement benchmark; The Dirac Hamiltonian supplies energy projectors; Dirac Current fixes density and flux. Helpful background. Negative-Energy Solutions explains the distinction from field-theoretic antiparticle counting.

Run the investigation. Download the complete package, extract it, and run python run.py --output-dir results in the environment described by Running an Experiment. The package verification report records the tested source, actual execution date, environment and scientific checks.

Exact evolution in a fixed-spin Dirac sector

Section titled “Exact evolution in a fixed-spin Dirac sector”

Use ℏ=c=1\hbar=c=1, mass m>0m>0, and free motion along zz. In the Dirac basis, the two-component column used by the program embeds as

Ψfour=(ψ1,0,ψ2,0)T.\Psi_{\rm four}=(\psi_1,0,\psi_2,0)^T.

This is an invariant spin-up sector for one-dimensional free motion. It is not an arbitrary three-dimensional Dirac spinor. Its matrices and dispersion are

H(k)=kσx+mσz,Ek=k2+m2.\begin{aligned} H(k)&=k\sigma_x+m\sigma_z,\\ E_k&=\sqrt{k^2+m^2}. \end{aligned}

On each retained Fourier mode,

Uk(t)=cos⁡(Ekt)I−iH(k)Eksin⁡(Ekt),P±(k)=12(I±H(k)Ek).\begin{aligned} U_k(t)&=\cos(E_kt)I-i\frac{H(k)}{E_k}\sin(E_kt),\\ P_\pm(k)&=\frac12\left(I\pm\frac{H(k)}{E_k}\right). \end{aligned}

The unitary FFT acts on the spatial index, leaving the two spinor components intact. With spacing Δz\Delta z, the norm is Δz∑jψj†ψj=Δz∑kψ^k†ψ^k\Delta z\sum_j\psi_j^\dagger\psi_j =\Delta z\sum_k\widehat\psi_k^\dagger\widehat\psi_k. Evolution is exact for the retained modes; there is no time-integration step.

The density and longitudinal current are

ρ=ψ†ψ,j=ψ†σxψ,∣j∣≤ρ.\rho=\psi^\dagger\psi,\qquad j=\psi^\dagger\sigma_x\psi,\qquad |j|\le\rho.

Both energy sectors have positive Hilbert norm. Their populations are conserved by this free Hamiltonian. A negative-sector weight is not a pair-production probability.

Download dirac-wave-packets.py. It is a standalone, import-safe NumPy program with no network access or repository-helper dependency. The retained environment is Python 3.12.14 and NumPy 2.3.5. In a Python 3.12 virtual environment:

Terminal window
python -m pip install "numpy==2.3.5"
python dirac-wave-packets.py --output-dir dirac-run

Choose a new directory; existing outputs are refused. The default execution reports "passed": true and 157 scientific checks. Use --help for profile parameters and destination overrides.

The default grid has L=128L=128, N=1024N=1024, and m=1m=1. The unprojected Gaussian has center −6-6, intensity width 22, and carrier momentum 0.90.9. Each preparation is normalized to unit total norm:

PreparationConstructionDefault negative-sector norm
positive_onlyApply P+P_+ and normalize4.67×10−324.67\times10^{-32}, numerical zero
negative_onlyApply P−P_- and normalize11
upper_component_onlyPopulate the upper fixed component0.126712670.12671267
coherent_mixedPrepare a coherent spinor with both energy sectors0.175059260.17505926

The upper-component example directly shows why deleting the lower component is not the same as projecting onto positive energy. The projectors depend on momentum.

For any normalized preparation, let ∣ψ±⟩=P±∣ψ⟩|\psi_\pm\rangle=P_\pm|\psi\rangle. The comparison mixture is

ϱdeph=∣ψ+⟩⟨ψ+∣+∣ψ−⟩⟨ψ−∣.\varrho_{\rm deph} =|\psi_+\rangle\langle\psi_+| +|\psi_-\rangle\langle\psi_-|.

Its trace is one because the original sector weights are retained. Independently normalizing each sector and adding the two projectors would generally change the mixture. A density matrix is also not a new spinor formed by adding probabilities.

Spectral interference and packet dephasing

Section titled “Spectral interference and packet dephasing”

Write the initial Fourier sectors as ak=P+ψ^ka_k=P_+\widehat\psi_k and bk=P−ψ^kb_k=P_-\widehat\psi_k. For the normalized packet, define

C(t)=Δz∑kak†σxbk e2iEkt,vdeph=Δz∑kkEk(∥ak∥2−∥bk∥2).\begin{aligned} C(t)&=\Delta z\sum_k a_k^\dagger\sigma_x b_k\,e^{2iE_kt},\\ v_{\rm deph} &=\Delta z\sum_k\frac{k}{E_k} \bigl(\|a_k\|^2-\|b_k\|^2\bigr). \end{aligned}

The mean current is

⟨v(t)⟩=vdeph+2Re⁡C(t).\langle v(t)\rangle=v_{\rm deph}+2\operatorname{Re}C(t).

The dephased mixture has the constant first term. A pure energy sector has C(t)=0C(t)=0. A coherent packet has a range of frequencies 2Ek2E_k, so its oscillatory contribution can decrease through phase dispersion without loss of total norm or transfer between the sectors.

Two coherent Dirac packets have oscillating mean current; the broader momentum packet has a faster decrease of the spectral coherence envelope.

A separate near-rest fixture uses m=1m=1, zero mean momentum, and momentum widths σk=0.25\sigma_k=0.25 and 0.06250.0625. Above: the coherent mean current, with lines joining exact samples separated by 0.50.5 in time. Below: ∣C(t)∣/∣C(0)∣|C(t)|/|C(0)|, computed from the complex spectral sum rather than estimated from sampled oscillation peaks. At t=128t=128 the envelopes are 0.2638240.263824 and 0.8431210.843121, respectively. This fixed fixture is distinct from the default moving profile packet.

The coordinate observable being studied matters. A consistent unitary change of representation transforms both states and observables and leaves their expectation values unchanged. The oscillation is not a literal microscopic trajectory of an electron and does not imply radiation or particle creation in this free calculation. The canonical interpretation explains the role of transformed observables. Phase dispersion in this finite-mode calculation is reversible and can recur; it is not irreversible loss of coherence to an environment.

DownloadContents
Summary and checksConventions, environment, program/CSV hashes, and all fixed checks
ProfilesComplex components, density/current, dephased profiles, and local interference
DiagnosticsSector/component populations, velocity, energy, and qualified position moments
RefinementsIndependent cutoff/box studies and numerical derivative residuals
Dephasing studyThe two fixed near-rest packets at 257 times each

Published report paths are normalized to download locations; numerical results and CSV bytes are unchanged. Custom command-line profile parameters do not replace the fixed verification or dephasing fixtures. Check the custom profile’s own diagnostics.

Place the TikZ/PGFPlots source beside dephasing.csv and run:

Terminal window
latex notebook-dirac-coherence.tex
dvisvgm --no-fonts notebook-dirac-coherence.dvi

The source also finds the retained CSV from the repository root. Its two row blocks are documented in the source. The five default profile times are too sparse to infer the oscillation frequency; the figure uses the separate, more densely sampled dephasing table.

A periodic-box centroid needs a separate check

Section titled “A periodic-box centroid needs a separate check”

Multiplication by the coordinate zz on a periodic grid has a discontinuity at the box boundary. Its raw mean is not automatically a particle’s mean position on the infinite line. A packet crossing that boundary can appear to jump.

The program retains raw box moments, but supplies line_position_if_diagnostics_pass only when three checks agree: a conservative travel-distance margin, a small edge probability, and agreement with the independent Heisenberg displacement from Zitterbewegung. The operator ordering in that displacement is preserved; it is not obtained by reusing the spatial centroid routine.

For the mixed packet at t=24t=24, the L=32L=32 centroid differs from the Heisenberg prediction by about 4.514.51. At L=64L=64, agreement on the central refinement window is excellent, yet the global centroid discrepancy is 9.09×10−49.09\times10^{-4} and the line-position test still fails. At the default L=128L=128, the corresponding diagnostics pass. The returned blank position value in a failed case is therefore useful evidence, not a missing number to fill by hand.

These guards are numerical controls. They are not a compact-support theorem for Gaussian or nonlocally projected packets.

Independent verification and useful limits

Section titled “Independent verification and useful limits”

The 157 checks include six exact rational assertions, independent eigensolver projectors, unitarity, local continuity, fixed sector populations, the pointwise current bound, and agreement with the ordered Heisenberg velocity and displacement. The retained continuity residual is at most 1.04×10−151.04\times10^{-15}.

At fixed L=128L=128, the coarse N=64N=64 grid gives packet errors of about 8.42%8.42\% for positive-only data and 8.91%8.91\% for mixed data. Finer grids agree with the fine reference at roughly 6×10−166\times10^{-16}. The separate box test holds spacing fixed and compares a fixed central window. Neither study is replaced by checking norm conservation alone.

The diagnostic time derivative has a second-order residual, decreasing from 2.18×10−32.18\times10^{-3} at Δt=0.08\Delta t=0.08 to 3.41×10−53.41\times10^{-5} at 0.010.01. It differentiates exact evolved data; it is not a time-stepping error.

The command-line experiment requires m>0m>0 for its gap and inverse-Hamiltonian benchmarks. The evolution kernel has a well-defined U=IU=I at the massless zero-energy point, but P±P_\pm do not. The code does not invent a sector assignment at that point.

Delete a component or project a sector? At k≠0k\ne0, apply P−(k)P_-(k) to the column (1,0)T(1,0)^T. Explain the upper-only result in the table.

Solution

The projection is 12(1−m/Ek,−k/Ek)T\tfrac12(1-m/E_k,-k/E_k)^T, which is nonzero for k≠0k\ne0. A localized upper-only packet samples such momenta and therefore generally contains both energy sectors. The component label is not a spectral-energy label.

Remove coherence without changing populations. Compare the coherent and dephased currents while retaining the same ak,bka_k,b_k. Which quantity changes, and which do not?

Solution

The 2Re⁡C(t)2\operatorname{Re}C(t) interference term is removed. The positive/negative sector populations, total norm, and free energy expectation are unchanged. Local density and current can change because their coherent cross terms need not vanish pointwise.

Trust a norm but reject a position. Shrink --length while holding the spatial spacing approximately fixed. Why can the norm still pass while the line-position diagnostic fails?

Solution

Finite-mode evolution remains unitary on the periodic box. It conserves the box norm even after periodic images or a boundary crossing affect coordinate moments. A line-position claim requires the additional edge, travel, and Heisenberg checks.

  • Bjorken, James D., and Sidney D. Drell. Relativistic Quantum Mechanics. McGraw–Hill (1964). Free Dirac dynamics and current.
  • Thaller, Bernd. The Dirac Equation. Springer (1992). doi:10.1007/978-3-662-02753-0. Spectral sectors, localization, and the interpretation of free Dirac motion.