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.

IMF + equipartition recovery (B2)

San Diego State University

This is the flagship demo: it couples a cluster’s mass function to its internal kinematics through a single physical parameter, and shows that parameter is recoverable from both channels at once.

The self-consistent physics

A multimass LIMEPY cluster Gieles & Zocchi, 2015 is built from an initial mass function. progenax bins the IMF into J=4J=4 mass groups; each group jj has a representative mass mjm_j and a population weight set by the IMF. Two-body relaxation drives the cluster toward energy equipartition — heavier stars sink and slow down — encoded in the multimass DF by a per-group velocity scale,

μj=mjmˉ,sj=sμjδ,δ=12mjsj2=const (full equipartition),\mu_j = \frac{m_j}{\bar m}, \qquad s_j = s\,\mu_j^{-\delta}, \qquad \delta = \tfrac12 \Rightarrow m_j s_j^2 = \text{const (full equipartition)},

with mˉ\bar m the central-density-weighted mean mass and δ\delta the equipartition degree Peuten et al., 2017. Real clusters reach only partial equipartition (δ<12\delta < \tfrac12); the heaviest stars approach σm1/2\sigma\propto m^{-1/2} while the light stars saturate at an escape-speed ceiling — the Bianchini relation, derived directly from this same DF on the multimass equipartition theory page.

The high-mass IMF slope. The observed masses follow a Maschberger (2013) IMF whose high-mass behaviour is the power law

dNdmmmc  mα,αtrue=2.3 (Salpeter),\frac{dN}{dm}\Big|_{m\gg m_c}\ \propto\ m^{-\alpha}, \qquad \alpha_{\rm true} = 2.3\ (\approx\text{Salpeter}),

(full smooth form and characteristic mass: Maschberger (2013)). Here is the coupling that makes the demo self-consistent: the same α\alpha that sets the slope of the observed mass histogram also sets the masses mjm_j and weights of the equipartition groups in (1) — so α\alpha is constrained by the masses (the histogram) and by the kinematics (the group-by-group σj(r)\sigma_j(r)). The three recovered parameters are θ=(α, δ, W0)\theta = (\alpha,\ \delta,\ W_0), with W0W_0 the central dimensionless concentration.

The joint likelihood

Two channels, summed (scripts/demo_delta_recovery.py):

lnL(α,δ,W0)=12j,kwjk(σ^jkσjkpredSEjk)2kinematics: per-group σj(r) + i=1NlnfMasch(mi;α)masses: the IMF histogram.\ln\mathcal L(\alpha,\delta,W_0) = \underbrace{-\tfrac12\sum_{j,k} w_{jk} \Big(\tfrac{\hat\sigma_{jk}-\sigma_{jk}^{\rm pred}}{\mathrm{SE}_{jk}}\Big)^2}_{\text{kinematics: per-group }\sigma_j(r)} \ +\ \underbrace{\sum_{i=1}^{N}\ln f_{\rm Masch}(m_i;\alpha)}_{\text{masses: the IMF histogram}} .

The kinematic predictor is the differentiable Engine A multimass oracle rebuilt from θ\theta inside the traced loss (the find_alpha_for_masses eigenvalue solve is differentiable in α,δ,W0\alpha,\delta,W_0); the mass term is the analytic, normalized Maschberger log-pdf — fully differentiable in α\alpha.

Inputs and assumptions

The fit recovers three parameters (α,δ,W0)(\alpha, \delta, W_0); the truncation order, the total mass, and the mass range are assumed known. The headline result — that the mass channel pins α\alpha and breaks the kinematic (α,δ)(\alpha,\delta) degeneracy — rests on the clean-mock decoupling described above.

Table 1:Model inputs

Input

Meaning and role

Status (fiducial)

α\alpha

IMF high-mass slope; drives both the mass histogram and the equipartition group masses/weights — the self-consistency hinge.

recovered (2.3)

δ\delta

Equipartition degree (sj=sμjδs_j=s\,\mu_j^{-\delta}); 12\tfrac12 = full equipartition.

recovered (0.4)

W0W_0

LIMEPY central concentration.

recovered (5.0)

JJ, gg

Number of IMF mass groups (4); LIMEPY truncation order fixed to the King limit (g=1g=1).

known / fixed

MfixedM_{\rm fixed}

Measured total cluster mass anchoring the velocity scale s=GM/(9rcμtot)s=\sqrt{GM/(9r_c\mu_{\rm tot})} — treated as exactly known (see below).

known / fixed (data scalar)

mass range, GG

Maschberger bounds [0.1,20]M[0.1,20]\,M_\odot (class bounds = draw bounds, so no truncation correction); GG in model units.

known / fixed

NN, bins, occupancy, quadrature

105 stars; 16 equal-count radial bins; per-cell occupancy floor n_min=30; quadrature (IpI_p moments 256 pts, g(W)g(W) table 256).

numerical choices

boxes

expit bounds α (1.5,3.2)(1.5,3.2), W0W_0 (3,8)(3,8), and δ(0,0.7)\delta\in(0,0.7) — physical, not just numerical: it caps short of the Spitzer-unstable δ0.9\delta\gtrsim0.9 that crashes the ODE.

known/fixed bounds

MLE / NUTS / bias-grid

3 dispersed Adam starts (300 steps); NUTS 300+600 (off by default); wrong-α\alpha grid {1.9…2.7} and robustness truths {1.9,2.3,2.7}.

numerical choices

Result 1 — joint recovery (freshly run, ALL PASS)

Measured 2026-06-11 (N=105N=10^5, three dispersed Adam starts; exit 0):

Parameter

Truth

θ^±σ^\hat\theta \pm \hat\sigma

Pull

α\alpha (IMF high-mass slope)

2.300

2.293±0.0042.293 \pm 0.004

-1.68

δ\delta (equipartition degree)

0.400

0.397±0.0340.397 \pm 0.034

-0.08

W0W_0 (central concentration)

5.000

4.990±0.0214.990 \pm 0.021

-0.48

All within 3σ3\sigma (the heaviest, sparsest group j=3j=3 has occupancy 11533001153 \ge 300, so the fit is not starved). The MLE is a robust optimum — the two best of the three dispersed starts agree in loss to 3×1033\times10^{-3}.

Joint MLE fit (demo_delta_recovery.py). (a) Per-group binned
\hat\sigma_{1\mathrm D,j}(r) (points, finite-N errors) with the best-fit
binned-expectation curves — the equipartition ordering (\sigma decreasing with
group mass) is visible. (b) The observed mass histogram with the fitted
Maschberger pdf at \hat\alpha.

Figure 1:Joint MLE fit (demo_delta_recovery.py). (a) Per-group binned σ^1D,j(r)\hat\sigma_{1\mathrm D,j}(r) (points, finite-NN errors) with the best-fit binned-expectation curves — the equipartition ordering (σ\sigma decreasing with group mass) is visible. (b) The observed mass histogram with the fitted Maschberger pdf at α^\hat\alpha.

Result 2 — the degeneracy the mass channel breaks

Kinematics alone cannot cleanly separate α\alpha from δ\delta: a steeper σ(m)\sigma(m) can come from a larger equipartition degree or from an α\alpha that reweights the group masses. The Fisher information quantifies it (freshly measured):

Quantity

Kinematics-only

Joint (+ mass channel)

ρ(α,δ)\rho(\alpha,\delta) correlation

-0.265

-0.059

σα\sigma_\alpha

0.0192

0.0041

σδ\sigma_\delta

0.0357

0.0344

(Δχ2=4)(\Delta\chi^2{=}4) ellipse area

8.30×1038.30\times10^{-3}

1.78×1031.78\times10^{-3}

Adding the mass histogram pins α\alpha 4.7×4.7\times tighter (ellipse area ratio 4.67) and collapses the (α,δ)(\alpha,\delta) correlation from -0.265 toward zero. Crucially the mass channel pins α\alpha rather than rotating the ellipse — δ\delta’s width barely moves (0.03570.03440.0357\to0.0344); the gain is almost entirely in α\alpha.

Fisher degeneracy panel. \Delta\chi^2=4 (86.5\% in 2-D) ellipses in
(\alpha,\delta): the broad, tilted kinematics-only ellipse vs the compact joint
ellipse. The mass channel removes the degeneracy along \alpha.

Figure 2:Fisher degeneracy panel. Δχ2=4\Delta\chi^2=4 (86.5%86.5\% in 2-D) ellipses in (α,δ)(\alpha,\delta): the broad, tilted kinematics-only ellipse vs the compact joint ellipse. The mass channel removes the degeneracy along α\alpha.

Result 3 — full posterior (NUTS)

A vendored blackjax No-U-Turn sampler (300 warmup + 600 samples) draws the full posterior. Recorded measured run (--run-nuts, 52\sim 52 min wall):

NUTS posterior corner in (\alpha,\delta,W_0) with the MLE and truth
overlaid; unimodal, no divergences, posterior mean on the MLE.

Figure 3:NUTS posterior corner in (α,δ,W0)(\alpha,\delta,W_0) with the MLE and truth overlaid; unimodal, no divergences, posterior mean on the MLE.

Result 4 — wrong-IMF bias + robustness grid

What if you assume the wrong α\alpha and refit only the kinematics? Freezing α\alpha at a grid of wrong values and refitting (δ,W0)(\delta, W_0) from kinematics alone (5 seeds each) gives the bias curve. The recovered δ^\hat\delta peaks at the true α\alpha (δ^=0.42δtrue\hat\delta = 0.42 \approx \delta_{\rm true} at αassumed=2.3\alpha_{\rm assumed}=2.3) and is biased low on either side — assuming the wrong IMF slope corrupts the equipartition measurement. The linear sensitivity dδ^/dα=0.005±0.020d\hat\delta/d\alpha = -0.005 \pm 0.020 (seed-ensemble SE) is near zero precisely because the response is peaked, not monotonic — it is reported, not gated (no published reference value to assert against).

The companion robustness grid regenerates fresh truth datasets at αtrue{1.9,2.3,2.7}\alpha_{\rm true}\in\{1.9, 2.3, 2.7\} and refits the full joint (α,δ,W0)(\alpha,\delta, W_0) — every case recovers within 3σ3\sigma:

αtrue\alpha_{\rm true}

α^\hat\alpha

δ^\hat\delta

W^0\hat W_0

max |pull|

1.9

1.903±0.0031.903 \pm 0.003

0.411±0.0330.411 \pm 0.033

4.984±0.0194.984 \pm 0.019

0.97

2.3

2.300±0.0042.300 \pm 0.004

0.396±0.0330.396 \pm 0.033

5.011±0.0215.011 \pm 0.021

0.51

2.7

2.700±0.0052.700 \pm 0.005

0.428±0.0300.428 \pm 0.030

5.006±0.0245.006 \pm 0.024

0.96

Wrong-IMF bias (left) — \hat\delta(\alpha_{\rm assumed}) with seed scatter,
peaking at truth; robustness grid (right) — joint recovery across three
\alpha_{\rm true}, all within 3\sigma.

Figure 4:Wrong-IMF bias (left)δ^(αassumed)\hat\delta(\alpha_{\rm assumed}) with seed scatter, peaking at truth; robustness grid (right) — joint recovery across three αtrue\alpha_{\rm true}, all within 3σ3\sigma.

Caveats

How to run

env -u VIRTUAL_ENV uv run --no-sync python scripts/demo_delta_recovery.py            # MLE + Fisher (minutes)
env -u VIRTUAL_ENV uv run --no-sync python scripts/demo_delta_recovery.py --run-nuts # + NUTS corner (~52 min)
env -u VIRTUAL_ENV uv run --no-sync python scripts/demo_delta_recovery_bias.py       # wrong-IMF curve + grid

References

The multimass LIMEPY DF is Gieles & Zocchi (2015) with the equipartition mm-convention of Peuten et al. (2017); the σ(m)\sigma(m) equipartition relation and its derived equipartition mass are Bianchini et al. (2016); the IMF is Maschberger (2013). The equipartition physics is developed on the multimass equipartition theory page, and the underlying equilibrium is validated at multimass equilibrium.

References
  1. Gieles, M., & Zocchi, A. (2015). A family of lowered isothermal models. Monthly Notices of the Royal Astronomical Society, 454, 576–592. 10.1093/mnras/stv1848
  2. Peuten, M., Zocchi, A., Gieles, M., Gualandris, A., & Hénault-Brunet, V. (2017). Testing lowered isothermal models with direct N-body simulations of globular clusters – II. Multimass models. Monthly Notices of the Royal Astronomical Society, 470, 2736–2761. 10.1093/mnras/stx1311
  3. 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
  4. Bianchini, P., van de Ven, G., Norris, M. A., Schinnerer, E., & Varri, A. L. (2016). A novel look at energy equipartition in globular clusters. Monthly Notices of the Royal Astronomical Society, 458, 3644–3654. 10.1093/mnras/stw552