Analysis scripts for the Aspden analysis on aetherscience.org:
  - Testing Harold Aspden's Aether Physics Against Modern Measurements  (https://aetherscience.org/aspden-analysis/)
  - Aspden's Aether from the Bottom Up, Part 1: The Smallest Units      (https://aetherscience.org/aspden-aether-units/)
  - Part 1A: The Quon-Continuum Model, Derived Step by Step                (https://aetherscience.org/aspden-quon-model/)
  - Part 1B: How Light Travels in Aspden's Aether                        (https://aetherscience.org/aspden-light/)
  - Test register (every test, step by step)                            (https://aetherscience.org/aspden-test-register/)
Each script runs on its own with Python 3:
    python3 <script>.py
Requirements: mpmath, numpy, scipy, sympy (pip install mpmath numpy scipy sympy).
The out/ folder holds the output of each script as quoted in the papers and the register.
aether_units.py prints blocks U01-U19, matching the test IDs in Part 1 and the register.
chain.py and compare.py are working scripts for the G chain (main paper sections 7.2-7.3).
lattice_dynamics.py prints U27-U31; quon_model.py prints the worksheet W1-W14 behind Part 1A and tests U32-U41
(it imports lattice_dynamics.py and aether_units.py from the same folder); out_of_sample.py is section 7.6 of the working paper.
figures.py draws Part 1A's Figures 1-3 (needs matplotlib): python3 figures.py <output folder>.
scorecard.py and provenance.py are behind section 12.1 of the working paper: scorecard.py scores Aspden's numbers and the
QED / Standard Model predictions for the same quantities in the same way (digits right, standard deviations off), and
provenance.py traces where each prediction's digits come from. particles.py and toolkit.py supply the particle values and the
toolkit density they use. quarks.py, particles.py and toolkit.py are the scripts of Part 2
(https://aetherscience.org/aspden-particles/); scorecard.py and provenance.py are behind the scorecard
(https://aetherscience.org/aspden-scorecard/).
light_part1b.py prints every number in Part 1B (labels L1-L15); fig_light.py draws its Figure 1 (needs numpy and
matplotlib): python3 fig_light.py <output folder>.
lock_check.py checks the phase-locked quon of Part 1B section 8.3 (the -1/2 response and the 3qE lock force); needs
numpy and scipy.
photon_unit_checks.py prints every number on the photon page (https://aetherscience.org/aspden-photon/); fig_photon.py draws
its Figures 1-6 (python3 fig_photon.py <output folder>) and anim_photon.py its animation (needs matplotlib and ffmpeg;
it imports fig_photon.py from the same folder).
induced_check.py estimates how much the neighbouring quons' response strengthens the cube as a source of light (check 4.3 of the photon page).
