Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Binary-aware IMF recovery

San Diego State University

The stellar initial mass function (IMF) governs chemical enrichment, supernova rates, and the integrated light of galaxies. Measuring its shape — and whether it varies with environment — is one of the central problems in stellar astrophysics Salpeter, 1955Kroupa, 2001Chabrier, 2003Marks et al., 2012Jeřábková et al., 2018. Most stars do not form alone: roughly 50% of solar-type stars and >90% of O-type stars have at least one bound companion Sana et al., 2012Moe & Di Stefano, 2017. When those companions are unresolved, the IMF inferred from observed system masses is systematically biased toward shallower slopes.

This chapter is the single source of truth for the binary-aware IMF recovery pipeline implemented in progenax.imf.BinaryIMF and exercised in scripts/validate_binaries.py (fast MLE) and validation/imf/validate_binary_aware_recovery.py (full numpyro NUTS). It derives the system mass function under the Moe & Di Stefano (2017) joint binary statistics, formulates a likelihood that marginalises over latent binary status and mass ratio, and quantifies the regime — sample size N≳104N \gtrsim 10^4 — where the naive single-star likelihood becomes “confidently wrong”: its 95% credible interval shrinks below the bias and excludes the true slope.

Binaries in (r, v_r) phase space, and why they lie to your dispersion
(seed 21, 4\times10^4 systems each; symlog wings beyond
|v_r| = 11 pc/Myr). Left column (resolved): plum points are
envelope violators — stars above the local single-star
\pm v_{\rm esc} that cannot be bound singles: 2,873 (EFF + Moe, top) and
1,689 (King + f_b = 0.15, bottom) contaminants reaching hundreds of
pc/Myr, inflating \sigma_{1\mathrm{d}} to 8.4 (singles: 2.2) and 7.9
(singles: 1.5). Right column (unresolved): each binary photometrically
blended (COM position, Tout-ZAMS flux-weighted velocity) — the violator
clouds all but vanish and the population looks clean, yet the measured
dispersion stays silently inflated (2.93 vs 2.20; 2.41 vs 1.53) — and the
few blend hexes still leaking past the envelope are near-equal-luminosity
pairs that keep half their orbital velocity. That hidden pedestal is exactly
the mechanism behind the binary-blind mass bias demonstrated on this page.
Regenerate: python -m laboratory.icviz --only binary-phase-space.

Figure 1:Binaries in (r,vr)(r, v_r) phase space, and why they lie to your dispersion (seed 21, 4×1044\times10^4 systems each; symlog wings beyond ∣vr∣=11|v_r| = 11 pc/Myr). Left column (resolved): plum points are envelope violators — stars above the local single-star ±vesc\pm v_{\rm esc} that cannot be bound singles: 2,873 (EFF + Moe, top) and 1,689 (King + fb=0.15f_b = 0.15, bottom) contaminants reaching hundreds of pc/Myr, inflating σ1d\sigma_{1\mathrm{d}} to 8.4 (singles: 2.2) and 7.9 (singles: 1.5). Right column (unresolved): each binary photometrically blended (COM position, Tout-ZAMS flux-weighted velocity) — the violator clouds all but vanish and the population looks clean, yet the measured dispersion stays silently inflated (2.93 vs 2.20; 2.41 vs 1.53) — and the few blend hexes still leaking past the envelope are near-equal-luminosity pairs that keep half their orbital velocity. That hidden pedestal is exactly the mechanism behind the binary-blind mass bias demonstrated on this page. Regenerate: python -m laboratory.icviz --only binary-phase-space.

The Maschberger (2013) functional form

progenax uses the Maschberger (2013) “L3 distribution” as the single-star IMF backbone:

f(m)  ∝  (mμ)−α[ 1+(mμ)1−α]−βf(m) \;\propto\; \left(\frac{m}{\mu}\right)^{-\alpha} \left[\,1 + \left(\frac{m}{\mu}\right)^{1-\alpha}\right]^{-\beta}

with default parameters α=2.3\alpha = 2.3 (Salpeter high-mass slope), β=1.4\beta = 1.4, μ=0.2 M⊙\mu = 0.2\,\Msun. The high-mass limit recovers f∝m−αf \propto m^{-\alpha}; the second factor produces the observed turnover below ∼0.3 M⊙\sim 0.3\,\Msun. Crucially, the cumulative distribution has a closed-form inverse, enabling exact analytical sampling — no numerical root-finding, fully jax.lax.scan-compatible, fully differentiable. See `progenax.imf` for the implementation in progenax.imf.Maschberger.

The binary contamination problem

For an unresolved binary system, the observer measures the system mass

msys  =  {m1single, with probability 1−fb(m1)m1(1+q)binary, with probability fb(m1)m_{\mathrm{sys}} \;=\; \begin{cases} m_1 & \text{single, with probability } 1 - f_b(m_1) \\ m_1(1+q) & \text{binary, with probability } f_b(m_1) \end{cases}

where q=m2/m1∈[qmin⁡,1]q = m_2/m_1 \in [q_{\min}, 1] and fb(m1)f_b(m_1) is the mass-dependent binary fraction. Binaries transfer probability mass from intermediate to high system masses — a primary m1=5 M⊙m_1 = 5\,\Msun with q=0.5q = 0.5 appears as a single 7.5 M⊙7.5\,\Msun system. Consequently the observed system mass function is shallower than the true single-star IMF.

The naive practice of fitting a single-star IMF to the observed system masses — likelihood Lnaive(α)=∏iξ(msys,i∣α)\mathcal{L}_{\mathrm{naive}}(\alpha) = \prod_i \xi(m_{\mathrm{sys},i} \mid \alpha) — converges as N→∞N\to\infty to the wrong value of α\alpha. Kroupa (2001) quantified the bias at Δα∼0.05\Delta\alpha \sim 0.05–0.10 depending on mass range and binary fraction. Section Paragraph below shows that the bias does not shrink with NN, and at LSST-scale samples (N∼104N \sim 10^{4}–105) the naive 95% credible interval becomes narrower than the bias and excludes the truth.

The Moe & Di Stefano (2017) joint binary statistics

Moe & Di Stefano (2017) compiled the most comprehensive census of binary star properties to date, combining spectroscopy, eclipsing binaries, long-baseline interferometry, adaptive optics, and common proper motion surveys. After correcting each sample for its selection function, they derived the intrinsic joint distribution f(M1,q,P,e)f(M_1, q, P, e) of primary mass, mass ratio, orbital period, and eccentricity. Two findings shape progenax’s implementation:

  1. Binary properties are not universal. Binary fraction, mass-ratio distribution, and period distribution all vary systematically with M1M_1. Treating them as constants introduces correlated errors.

  2. The joint distribution is not separable: f(M1,q,P,e)≠f(M1) f(q) f(P) f(e)f(M_1, q, P, e) \neq f(M_1)\,f(q)\,f(P)\,f(e). The mass-ratio distribution depends on both M1M_1 and PP; eccentricity depends on PP; companion frequency depends on both.

Binary fraction fb(M1)f_b(M_1)

The mass-dependent binary fraction fb(M1)=1−Fn=0f_b(M_1) = 1 - \mathcal{F}_{n=0} — the multiplicity fraction (≤1\le 1, the probability of ≥1\ge 1 companion) — is tabulated, with its full per-mass values and provenance (Moe & Di Stefano (2017) Table 13 single-star row for M1≥0.8 M⊙M_1 \ge 0.8\,\Msun, M-dwarf surveys below), in the canonical multiplicity-statistics chapter. The trend is steep: O-type stars are almost always in multiples (fb≈0.9f_b \approx 0.9), while M-dwarfs are mostly single (fb≈0.2f_b \approx 0.2–0.3) — a factor-of-4 dynamic range that is the leading-order driver of the binary-IMF bias.

This fbf_b is the multiplicity fraction, not the companion frequency fmultf_{\mathrm{mult}}, which exceeds 1.0 (∼2.1\sim 2.1 per O-type primary, Moe & Di Stefano (2017) Table 13) once hierarchical triples are counted — see Limitations below for the single-companion approximation progenax adopts.

Mass-ratio distribution g(q∣M1)g(q \mid M_1)

For a primary of mass M1M_1, Moe & Di Stefano (2017) parameterise g(q∣M1)g(q \mid M_1) as a power law plus a narrow “twin excess” peak near q=1q = 1:

p(q∣M1)  =  (1−ftwin) qγ(M1)Zpl  +  ftwin N(q∣1, σtwin)p(q \mid M_1) \;=\; (1 - f_{\mathrm{twin}})\,\frac{q^{\gamma(M_1)}}{Z_{\mathrm{pl}}} \;+\; f_{\mathrm{twin}}\,\mathcal{N}(q \mid 1,\, \sigma_{\mathrm{twin}})

where Zpl=∫qmin⁡1qγ dqZ_{\mathrm{pl}} = \int_{q_{\min}}^{1} q^\gamma\,\mathrm{d}q and σtwin≈0.03\sigma_{\mathrm{twin}} \approx 0.03. progenax uses a period-averaged single-slope γ(M1)\gamma(M_1) — a reduction of Moe & Di Stefano (2017) Table 13’s period-dependent γsmallq/γlargeq\gamma_{\mathrm{smallq}}/\gamma_{\mathrm{largeq}} (averaged over log⁡P\log P) — appropriate for total mass-function analyses, but losing the small-qq structure that matters for surveys sensitive to specific period ranges (see Limitations). The per-mass γ(M1)\gamma(M_1) and ftwin(M1)f_{\mathrm{twin}}(M_1) tables live in the canonical Mass-ratio distributions.

Qualitatively, the slope trend reverses at high masses: massive stars preferentially have low-q companions (γ<0\gamma < 0), while low-mass stars prefer near-equal-mass companions (γ>0\gamma > 0). The twin fraction ftwinf_{\mathrm{twin}} peaks at solar-type primaries (ftwin=0.10f_{\mathrm{twin}} = 0.10 for 0.8–1.2 M⊙1.2\,\Msun) and falls to 0.03 for M1>3.5 M⊙M_1 > 3.5\,\Msun.

The system mass function

Given the forward generative model — draw m1m_1 from the IMF, decide binary or not, add m2m_2 if binary — the probability density of the observed system mass MM is

psys(M)  =  ξ(M) (1−fb(M))⏟single-star contribution  +  ∫M/2  M/(1+qmin⁡)ξ(m1) fb(m1) g ⁣(Mm1−1 ∣ m1)m1 dm1⏟binary contribution.p_{\mathrm{sys}}(M) \;=\; \underbrace{\xi(M)\,(1 - f_b(M))}_{\text{single-star contribution}} \;+\; \underbrace{\int_{M/2}^{\;M/(1+q_{\min})} \frac{\xi(m_1)\, f_b(m_1)\, g\!\left(\tfrac{M}{m_1}-1 \,\big|\, m_1\right)}{m_1}\,\mathrm{d}m_1}_{\text{binary contribution}}.

The binary term integrates over every primary mass m1m_1 that could produce the observed system mass MM, weighted by the IMF, the binary fraction, and the mass-ratio distribution. The integration limits come from qmin⁡≤q≤1q_{\min} \le q \le 1: q≥qmin⁡q \ge q_{\min} implies m1≤M/(1+qmin⁡)m_1 \le M/(1+q_{\min}); q≤1q \le 1 implies m1≥M/2m_1 \ge M/2. The Jacobian 1/m11/m_1 arises from the change of variables q=M/m1−1q = M/m_1 - 1.

This integral has no closed form because fb(m1)f_b(m_1) and g(q∣m1)g(q \mid m_1) are piecewise functions of M1M_1. progenax evaluates it via 128-point Gauss-Legendre quadrature, which gives ~14 digits of accuracy for smooth integrands.

The binary-aware likelihood

For an observed system mass MM:

p(M∣α)  =  (1−fˉb) ξ(M∣α)⏟single  +  fˉb∫qmin⁡1ξ ⁣(M1+q ∣ α)1+q g ⁣(q ∣ M1+q) dq⏟binaryp(M \mid \alpha) \;=\; \underbrace{(1 - \bar{f}_b)\,\xi(M \mid \alpha)}_{\text{single}} \;+\; \underbrace{\bar{f}_b \int_{q_{\min}}^{1} \frac{\xi\!\left(\tfrac{M}{1+q} \,\big|\, \alpha\right)}{1+q}\, g\!\left(q \,\big|\, \tfrac{M}{1+q}\right)\,\mathrm{d}q}_{\text{binary}}

where fˉb\bar{f}_b is evaluated at the candidate primary mass m1=M/(1+q)m_1 = M/(1+q) inside the integral. The integrand is smooth in qq, so Gauss-Legendre quadrature on [qmin⁡,1][q_{\min}, 1] converges fast.

Computational cost. For NN observed systems and 128 quadrature points, each likelihood evaluation requires N×128N \times 128 IMF + mass-ratio evaluations. At N=30,000N = 30{,}000 (LSST-scale) this is ∼3.8×106\sim 3.8 \times 10^6 evaluations per NUTS step, ∼6×109\sim 6 \times 10^9 flops per chain. On a MacBook Pro CPU one chain takes ∼35\sim 35 minutes; on an A100 the same N×128N \times 128 tile is embarrassingly parallel via jax.vmap, bringing the per-chain time down to ∼30\sim 30 s — an estimated ∼70×\sim 70\times speedup (see Binary-aware likelihood for the per-step breakdown).

Confidently wrong: the naive likelihood at large N

The naive likelihood Lnaive(α)=∏iξ(Mi∣α)\mathcal{L}_{\mathrm{naive}}(\alpha) = \prod_i \xi (M_i \mid \alpha) is a misspecified model: the data-generating process includes binaries; the likelihood does not. As N→∞N\to\infty both naive and binary-aware posteriors shrink as σ∝1/N\sigma \propto 1/\sqrt{N} (Bernstein–von Mises), but they shrink around different values:

The 95% credible interval shrinks; the bias does not. At some NN the CI becomes narrower than the bias, and the posterior excludes the true value:

progenax binary-aware validation results, Salpeter α=2.35\alpha = 2.35.

NN

Naive 95% CI width

Naive ∣Δα∣|\Delta\alpha|

Status

500

0.28

0.045

CI contains truth

1{,}000

0.20

0.035

CI contains truth

3{,}000

0.12

0.057

CI contains truth (barely)

10{,}000

0.06

0.082

CI excludes truth

30{,}000

0.035

0.098

Confidently wrong

This regime — narrow posterior centred on the wrong answer — is the central danger of ignoring binaries with large datasets. progenax’s binary-aware likelihood eliminates the bias by construction; the ∼128×{\sim}128\times cost of the inner qq-quadrature is the price.

Observation operators: what does the telescope measure?

The likelihood (5) uses the dynamical-mass operator msys=m1+m2m_{\mathrm{sys}} = m_1 + m_2. This is exact for eclipsing binaries, SB2 spectroscopic binaries, and astrometric binaries — observations that recover the true system mass. It overstates the distortion for photometric surveys, where the telescope measures combined flux rather than combined mass.

For a main-sequence luminosity scaling L∝msL \propto m^s with s≈3s \approx 3–4, the inferred photometric mass of an unresolved binary is

mphot  ≈  m1 (1+qs)1/sm_{\mathrm{phot}} \;\approx\; m_1 \,(1 + q^s)^{1/s}

Because s≳3s \gtrsim 3, the secondary contributes appreciably to the flux only when q→1q \to 1:

Photometric vs. dynamical mass for s=3.5s = 3.5.

qq

m1+m2m_1 + m_2

mphotm_{\mathrm{phot}} (s=3.5s=3.5)

Comment

1.0

2.0 m12.0\,m_1

1.22 m11.22\,m_1

0.75 mag brighter

0.5

1.5 m11.5\,m_1

1.04 m11.04\,m_1

Companion barely changes flux

0.3

1.3 m11.3\,m_1

1.01 m11.01\,m_1

Negligible photometric effect

The mass-addition operator m1+m2m_1 + m_2 therefore gives an upper bound on the binary distortion. Photometric masses are much less affected, especially at moderate qq — but the bias does not vanish, and the naive model still becomes confidently wrong at sufficiently large NN. Full LSST-realistic inference replaces m1+m2m_1 + m_2 with isochrone-mediated flux addition; see the Add a binary population recipe for the planned extension.

Limitations

Implementation in progenax

The pipeline lives in three modules:

See `progenax.imf` for full API signatures and Add a binary population for a recipe building a binary-corrected mock catalog end-to-end.

Implementation, validation & references

References
  1. Salpeter, E. E. (1955). The luminosity function and stellar evolution. The Astrophysical Journal, 121, 161–167. 10.1086/145971
  2. Kroupa, P. (2001). On the variation of the initial mass function. Monthly Notices of the Royal Astronomical Society, 322, 231–246. 10.1046/j.1365-8711.2001.04022.x
  3. Chabrier, G. (2003). Galactic stellar and substellar initial mass function. Publications of the Astronomical Society of the Pacific, 115, 763–795. 10.1086/376392
  4. Marks, M., Kroupa, P., Dabringhausen, J., & Pawlowski, M. S. (2012). Evidence for top-heavy stellar initial mass functions with increasing density and decreasing metallicity. Monthly Notices of the Royal Astronomical Society, 422, 2246–2254. 10.1111/j.1365-2966.2012.20767.x
  5. Jeřábková, T., Kroupa, P., Dabringhausen, J., Hilker, M., & Bekki, K. (2018). Impact of metallicity and star formation rate on the time-dependent, galaxy-wide stellar initial mass function. Astronomy and Astrophysics, 620, A39. 10.1051/0004-6361/201833055
  6. Sana, H., de Mink, S. E., de Koter, A., Langer, N., Evans, C. J., Gieles, M., Gosset, E., Izzard, R. G., Le Bouquin, J.-B., & Schneider, F. R. N. (2012). Binary interaction dominates the evolution of massive stars. Science, 337, 444–446. 10.1126/science.1223344
  7. Moe, M., & Di Stefano, R. (2017). Mind your Ps and Qs: The interrelation between period (P) and mass-ratio (Q) distributions of binary stars. The Astrophysical Journal Supplement Series, 230, 15. 10.3847/1538-4365/aa6fb6
  8. Maschberger, T. (2013). On the function describing the stellar initial mass function. Monthly Notices of the Royal Astronomical Society, 429, 1725–1733. 10.1093/mnras/sts479
  9. Moe, M., Kratter, K. M., & Badenes, C. (2019). The close binary fraction of solar-type stars is strongly anticorrelated with metallicity. The Astrophysical Journal, 875, 61. 10.3847/1538-4357/ab0d88