Halo bias — b_cum, b_diff¶
b_cum — cumulative effective bias b(>M)¶
Linear bias of a sample selected above a mass threshold.
b = reg.predict("b_cum", "LCDM", 0.25, [0.31, 0.677, 0.967, 0.83]) # (1, 30)
# fRn1 returns (1, 31)
art = reg.load("b_cum", "LCDM", 0.25)
b_at = art.predict_mass([0.31, 0.677, 0.967, 0.83],
np.array([13.2, 14.3])) # arbitrary masses; Tinker above 14
- Output:
(1, 30)for ΛCDM,(1, 31)for f(R). - Coordinate: log₁₀M thresholds (
art.coord/art.thresholds). - Representation: peak-height b(ν) polynomial baseline + residual GP, with Tinker-2010 high-mass extrapolation (shape frozen, normalisation anchored) above log₁₀M = 14.
- f(R): a direct 5-parameter peak-height GP (the seed-paired boost was
tested and is worse —
fRn1_bD_boost_evidence.py).
Accuracy: ΛCDM interior-LOO ≈ 0.5 %.
b_diff — differential bias b(M) (derived)¶
A derived property: the cumulative→differential inversion of b_cum via the
number-weighted-mean identity, with a Monte-Carlo replay covariance.
res = reg.predict("b_diff", "LCDM", 0.25, [0.31, 0.677, 0.967, 0.83])
res["x_grid"], res["b_diff"], res["b_err"], res["cov"]
res["checks"] # b_le_bcum, monotonic, boundary_ok
res.get("r_ab_ok") # validity guard (if r_ab is available)
- It resolves
b_cum(and optionallyr_ab) through the registry and runs the inversion recipe; there is nothing to train. - The inversion needs n̄(>M), which comes from the in-suite
hmfemulator (resolved through the registry) — a gated swap off the former external freyja dependency, sob_diffpredicts with no non-PyPI packages. freyja remains only as an optional cross-check. - A built-in
r_abvalidity guard flags where the differential bias is trustworthy.
Write the result to disk via the CLI:
micromamba run -n cosemu python3 -m haloemu.cli predict b_diff \
--theta 0.31,0.677,0.967,0.83 --out b_diff.hdf5
Redshift¶
Both registered at z = 0.25 only.
Legacy shims¶
The standalone emulator_b_eff (b(>M) GP) and b_diff packages predate the
registry and remain importable for backward compatibility; new work should use
the registry keys b_cum / b_diff.