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 N104N \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.2M\mu = 0.2\,\Msun. The high-mass limit recovers fmαf \propto m^{-\alpha}; the second factor produces the observed turnover below 0.3M\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 1fb(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=5Mm_1 = 5\,\Msun with q=0.5q = 0.5 appears as a single 7.5M7.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 NN\to\infty to the wrong value of α\alpha. Kroupa (2001) quantified the bias at Δα0.05\Delta\alpha \sim 0.050.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 (N104N \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)=1Fn=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 M10.8MM_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 (fb0.9f_b \approx 0.9), while M-dwarfs are mostly single (fb0.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(qM1)g(q \mid M_1)

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

p(qM1)  =  (1ftwin)qγ(M1)Zpl  +  ftwinN(q1,σ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=qmin1qγdqZ_{\mathrm{pl}} = \int_{q_{\min}}^{1} q^\gamma\,\mathrm{d}q and σtwin0.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 logP\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.81.2M1.2\,\Msun) and falls to 0.03 for M1>3.5MM_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)(1fb(M))single-star contribution  +  M/2  M/(1+qmin)ξ(m1)fb(m1)g ⁣(Mm11m1)m1dm1binary 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 qminq1q_{\min} \le q \le 1: qqminq \ge q_{\min} implies m1M/(1+qmin)m_1 \le M/(1+q_{\min}); q1q \le 1 implies m1M/2m_1 \ge M/2. The Jacobian 1/m11/m_1 arises from the change of variables q=M/m11q = M/m_1 - 1.

This integral has no closed form because fb(m1)f_b(m_1) and g(qm1)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α)  =  (1fˉb)ξ(Mα)single  +  fˉbqmin1ξ ⁣(M1+qα)1+qg ⁣(qM1+q)dqbinaryp(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 NN\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 LmsL \propto m^s with s3s \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 s3s \gtrsim 3, the secondary contributes appreciably to the flux only when q1q \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.0m12.0\,m_1

1.22m11.22\,m_1

0.75 mag brighter

0.5

1.5m11.5\,m_1

1.04m11.04\,m_1

Companion barely changes flux

0.3

1.3m11.3\,m_1

1.01m11.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