The stellar initial mass function is the birth-mass distribution of stars formed in a single star-formation event. It governs chemical enrichment, supernova rates, and the integrated colours of stellar populations Salpeter, 1955Kroupa, 2001Chabrier, 2003. progenax implements the IMF as one of its three orthogonal IC ingredients (What is an initial condition?) and provides multiple parameterisations ranging from textbook (Salpeter, Kroupa, Chabrier) through smooth analytically-invertible (Maschberger) to physically-detailed (binary-aware Moe & Di Stefano, and an environment-dependent IMF that maps cluster birth conditions to the high-mass slope via the Marks+2012 / Jeřábková+2018 relations).
Map of the IMF chapters¶
Chapter | Scope | Class in progenax |
|---|---|---|
Salpeter, Kroupa, Chabrier, Maschberger, truncated power-law |
| |
Moe & Di Stefano (2017) joint , mass-dependent binary fractions, three period regimes | Backing data for | |
Power-law + twin-excess parameterisation, period-conditional vs period-averaged | Used by | |
Full binary-aware IMF chapter — system mass function, the marginalisation likelihood, “confidently wrong” regime |
| |
The Gauss-Legendre quadrature that marginalises over at inference time | schematic likelihood; | |
Mass addition vs. flux addition vs. multi-band CMD; how the choice scales the bias | Coordinates with the survey forward-model layer | |
Environment-dependent IMF: cluster-scale Marks+12 / Jeřábková+18 α₃ mapping (the galaxy-wide IGIMF integral is background theory only, not an implemented sampler) |
|
The chapters split a large topic into focussed pieces. New readers should start with Classical IMFs (Salpeter, Kroupa, Chabrier, Maschberger), then jump to Binary-aware IMF recovery for the binary-aware framework end to end before drilling into the sub-chapters as needed.
Common API contract¶
Every IMF in progenax satisfies the IMFProtocol:
class IMFProtocol(Protocol):
m_min: float
m_max: float
def logpdf(self, m: Float[Array, "..."]) -> Float[Array, "..."]:
"""Log-PDF for likelihood evaluation."""
...
def cdf(self, m: Float[Array, "..."]) -> Float[Array, "..."]:
"""Cumulative number fraction below mass m."""
...
def ppf(self, u: Float[Array, "..."]) -> Float[Array, "..."]:
"""Inverse CDF."""
...
def sample(
self,
key: PRNGKey,
n: int,
) -> Float[Array, "N"]:
"""Draw N stellar masses."""
...
def mean_mass(self) -> float:
"""Expected mass."""
...sample uses inverse-CDF for the analytically-invertible IMFs
(Maschberger; truncated power-law) and a fixed-iteration Newton
solver for the rest. logpdf is the workhorse for the scalar IMF
families. Binary-aware inference is described conceptually in this
section, but the current BinaryIMF API exposes sampling helpers
(sample_primaries, sample_mass_ratios, sample_systems, and
sample_all_masses) rather than an exact logpdf. Environment-dependent
IMF support currently maps a BirthEnvironment to IMF parameters
rather than exposing an EnvironmentIMF class.
Notation conventions¶
Symbol | Meaning |
|---|---|
, | Stellar IMF (number per unit mass) — used interchangeably |
Power-law index, at high mass | |
Primary mass in a binary | |
Binary mass ratio, | |
Binary fraction (probability of having a companion) as a function of primary mass | |
Conditional mass-ratio distribution | |
IMF parameterised by some vector (e.g. , , [Fe/H]) |
The convention for the Salpeter slope is universal in this section. Marks et al. (2012) use a different segmentation (3-segment vs progenax’s 4-segment); the Environment-dependent IMFs chapter documents the conversion in detail.
Composability with profiles, velocities, and modifiers¶
IMFs compose orthogonally with Spatial density profiles and
Velocity distribution functions: any IMF can pair with any spatial profile
and velocity DF. The IMF determines the masses in (masses, positions, velocities); the profile determines the positions; the DF
determines the velocities. The mass-segregation modifier
(Mass segregation) couples IMF and
profile by re-pairing high-mass particles to low-energy orbits, but
the underlying is preserved.
Implementation, validation & references¶
In code: the IMF family lives under
src/progenax/imf/(power_law.py,chabrier.py,smooth.py,truncated.py, thebinary/package, and theenvironment/package). See the IMF API; each chapter below carries its exact module path.Validated in: IMF statistics (distributions + Marks+12 numerical anchors), binary-aware recovery, and environment IMF.
Primary sources: canonical IMFs Salpeter (1955), Kroupa (2001), Chabrier (2003), Maschberger (2013); binary statistics Sana et al. (2012), Moe & Di Stefano (2017), Moe et al. (2019); environment dependence Marks et al. (2012), Jeřábková et al. (2018). Full notes in the bibliography; each chapter below points at the specific result(s) used.
- Salpeter, E. E. (1955). The luminosity function and stellar evolution. The Astrophysical Journal, 121, 161–167. 10.1086/145971
- 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
- Chabrier, G. (2003). Galactic stellar and substellar initial mass function. Publications of the Astronomical Society of the Pacific, 115, 763–795. 10.1086/376392
- 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
- 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
- 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
- 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
- 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
- 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