PyStratify against tmmax
- Reference
- tmmax (JAX transfer matrix, float32)
- Kind
- code: another group's code
- Calculated
- R, T of five stacks (single layers, two layers, a 5-pair mirror, metal-dielectric) × 3 wavelengths × 3 angles × s, p
- Agreement
- 2e-6 (float32; observed ≤ 4.2e-7). tmmax 1.1.4 is wrong for two or more coherent layers (up to 0.79 in R): its scan step builds a (2, 2, 1) array that
matmulbroadcasts — reported upstream (#45) and fixed on tmmax's main 2026-02-11, unreleased on PyPI; with the step fixed it agrees, shipped multilayers are shown, not asserted
R, PyStratify
R, tmmax 1.1.4 as shipped
Hover to read values.
- largest |R − R_tmmax| (float32):
- PyStratify the lines, the reference the circles
R, PyStratify
R, tmmax 1.1.4 with the scan step fixed
R, tmmax 1.1.4 as shipped
Hover to read values.
- largest |R − R_tmmax| (fixed step, float32):
- PyStratify the lines, the reference the circles
Run it yourself: tmmax_films.py · test_tmmax_films.py · figures.py · TMMAX_FILMS.md on GitHub, PyStratify 97e52a9