---
title: "The Lyman-alpha forest"
description: "Follow hydrogen absorption, velocity crowding and continuum estimation from a spatial sightline to observed forest statistics."
canonical_url: "https://sandboxphysics.com/stories/lyman-alpha-forest/"
language: "en"
page_type: "story"
alternate_languages:
  zh-CN: "https://sandboxphysics.com/zh/stories/lyman-alpha-forest/"
last_modified: "2026-11-11"
---

The Lyman-alpha forest

# The Lyman-alpha forest

Sandbox Physics · 2026-11-05

A quasar lights up the gas in front of it. Follow which hydrogen atoms absorb, how motion groups their contributions, and how a telescope spectrum becomes a conditional measurement.

1. L1

   ## [Why quasar light contains a forest of dark lines](https://sandboxphysics.com/stories/lyman-alpha-forest/why-quasar-light-holds-a-forest/)

   Hydrogen along the light path absorbs one atomic transition. Expansion and motion place its marks at different wavelengths.

2. L1

   ## [Did the gas get hotter, or more strongly ionized?](https://sandboxphysics.com/stories/lyman-alpha-forest/temperature-and-ionization/)

   Heating and stronger ionizing light can both weaken hydrogen absorption. Follow the atoms and their motions to see what line width adds to the picture.

3. L2

   ## [From a patch of hydrogen to an absorption spectrum](https://sandboxphysics.com/stories/lyman-alpha-forest/from-hydrogen-to-an-absorption-line/)

   Calculate neutral abundance, define the line cross section and integrate a proper light path. Check the result against a uniform analytic limit.

4. L3

   ## [When different places share one spectral velocity](https://sandboxphysics.com/stories/lyman-alpha-forest/when-several-places-share-one-velocity/)

   Build the position-to-velocity map and see how crowding, finite line width and saturation let one column produce different transmission spectra.

5. L3

   ## [Recompute transmission from one fixed SDSS sightline](https://sandboxphysics.com/stories/lyman-alpha-forest/recompute-a-fixed-sdss-sightline/)

   Follow a fixed SDSS quasar coadd through masks, a continuum fit and conditional flux statistics, then measure how continuum assumptions move the answer.

6. L4

   ## [Read a thermal history in small-scale velocity gradients](https://sandboxphysics.com/stories/lyman-alpha-forest/read-pressure-history-in-small-scale-velocities/)

   Follow 2607.19938v1 from pressure history and velocity power to a flux template and observational fit, keeping scale conventions and inference limits explicit.

## Independent calculations

[Download the scientific ZIP](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/lyman-alpha-science-v1.zip) · [Read setup and scope](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/README.md)

Python with NumPy and SciPy recalculates three synthetic spectra offline. The optional observed exercise also needs Astropy and the separately fetched, hash-pinned SDSS coadd. Instructions retain all pixels without clipping noisy ratios.

Scripts, file sizes and SHA-256

- [README.md](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/README.md) (5881 B)
  `0f1259a35614944edbc800caab26c9ddfda8efcbdcadb76a1c407b6ee41c21db`
- [calculate.py](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/calculate.py) (1960 B)
  `789206ae0a4100c1ad25437d59c64f4b55d8482d9d4a03dfde040e900b727b2b`
- [expected-observed.json](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/expected-observed.json) (10116 B)
  `469a2191d51bf9050e1800df9ebb5e5b9aa3083da81db313f3cea8b5f2f28c12`
- [expected-synthetic.json](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/expected-synthetic.json) (51605 B)
  `1409ebb5261bcef0ab0871a40e48bdbce4a32404c08e9b6abe7a024ab7c56ade`
- [fetch\_sdss.py](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/fetch_sdss.py) (1694 B)
  `23d8553b76c604c4e071411d845fe576f32471770313ae7e2e823c756c7ef32c`
- [field-input.json](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/field-input.json) (934 B)
  `1206529ed37acab5d72b1e83458c1db78f7a8cd579964ce01db4c02470c0dc43`
- [input-manifest.json](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/input-manifest.json) (651 B)
  `692fce6cd598d3bc14288384381afd24f7432d4e8f054fb94609e1a469e8dcdb`
- [lyman-alpha-science-v1.zip](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/lyman-alpha-science-v1.zip) (29960 B)
  `0a169f89a41770dd33b6bbefa7cda8ccd1d8579d0c77013ea77e0ccaa6112ea3`
- [model.py](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/model.py) (3656 B)
  `6a05678c4e50a5e4180aa8017633be68dcce3e7f16f55150df90edca9d465a22`
- [sdss.py](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/sdss.py) (6728 B)
  `4c9e99d73bfee1f07c9069caf1442f77cdee2cfba51fd079c06732759b6055be`

## Sources and calculation scope

1. [Verner & Ferland, Atomic Data for Astrophysics: Radiative Recombination Rates, arXiv:astro-ph/9509083v1](https://arxiv.org/abs/astro-ph/9509083v1)

   Targeted reading of equation 4, the hydrogen row of the fitted-parameter table, and the rate definitions. Pure-hydrogen case-A radiative recombination is used over 5,000–30,000 K. No helium, collisional ionization, self-shielding or complete ion network is solved. This is not a full reading of every ion in the paper.

2. [Tepper García, Voigt profile fitting to quasar absorption lines, arXiv:astro-ph/0602124v1](https://arxiv.org/abs/astro-ph/0602124v1)

   Targeted equations 1–8 establish the complete Lorentz/Maxwell convolution and normalization. Our calculation uses the full Voigt function, not the paper’s small-damping approximation. The atomic scalars are explicitly rounded assumptions. Hydrogen mass is approximated by proton mass.

3. [Peeples et al., Pressure Support versus Thermal Broadening in the Lyman-alpha Forest, arXiv:0910.0256v3](https://arxiv.org/abs/0910.0256v3)

   Targeted abstract, sections 2–3 and equations 6–7: photoionization equilibrium, uniform Gunn–Peterson opacity, and distinctions between thermal broadening and pressure history. This reading does not reproduce the hydrodynamic runs or claim a full-paper review.

4. [Iršič et al., Ringing of the Reionization, arXiv:2607.19938v1](https://arxiv.org/abs/2607.19938v1)

   Complete fixed 15-page v1, Figures 1–11, both tables and appendices read; actual figures and tables inspected. July 2026 preprint, checked 5 November 2026. The empirical template, observational coverage, conditional errors and unresolved velocity-wavenumber/length convention remain explicit. Code/data offered on request were not acquired; simulations and Table 2 are not independently reproduced.

5. [Chen et al. (2017), published quasar target table: SDSS J030335.42−002001.1](https://academic.oup.com/view-large/94840027)

   Target-table entry used only to fix the published object name, position and approximate redshift 2.72 before flux analysis. The exact coadd instead supplies pipeline redshift 2.69456148147583. This was a targeted table reading, not a full-paper review.

6. [SDSS DR17: Spectroscopic Data Basics](https://www.sdss4.org/dr17/spectro/spectro_basics/)

   Official interpretation of calibrated coadds, vacuum heliocentric wavelengths, flux units, inverse variance, logarithmic sampling and AND/OR masks. The fixed file has 3,812 coadded pixels; it is not raw exposure data or a measured unabsorbed continuum.

7. [Independent hydrogen and sightline calculation materials](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/lyman-alpha-science-v1.zip)

   Original prescribed periodic gas screen and linear-parent peculiar velocity; fixed redshift three, no hydrodynamic pressure evolution. Full Voigt integration is checked against independent SciPy and finite-grid refinements. The offline Python and own synthetic examples are separate from the protected browser Engine.

8. [Fixed SDSS continuum and flux-statistics exercise](https://sandboxphysics.com/stories/lyman-alpha-forest/materials/README.md)

   Plate 2068/MJD 53386/fibre 316, run2d 26, SHA-256 83b81bfc16c91750030758d00646366ff2cada06b7f05a80ac97ad152fc387fa. Original FITS is fetched separately; derived ratios use stated continuum windows and masks. Noise correction is conditional on fixed continuum and diagonal noise, not a gas-temperature or cosmological inference.
