Changelog#
[1.2.0] - 2026-06-13#
Add the cross-locus correlation of the two-locus SFS via
TwoLocusSFSDistribution.corr().Build large rate matrices sparsely with an explicit state-space size cap (
Settings.dense_rate_matrix_max_states,Settings.max_state_space_size).Evaluate the final unbounded epoch in closed form by default and batch the per-bin spectrum solves, substantially speeding up SFS/jSFS/2-SFS moments (
Settings.closed_form_last_epoch).Compute the single-population standard-coalescent SFS flattening weights in closed form, avoiding the partition-sized block-counting state space, so large-
nSFS (and SFS-based inference) is much faster.Raise a clear error for demographies that never absorb (isolated demes or blocked migration) instead of returning a meaningless value.
[1.1.1] - 2026-06-10#
Relax the
numpyupper bound (>=1.26.4) to allow numpy 2, so phasegen can coexist with current, numpy-2-built msprime/tskit.
[1.1.0] - 2026-06-10#
Add the joint (multi-population) site-frequency spectrum via
Coalescent.jsfs().Add the two-locus site-frequency spectrum under recombination via
Coalescent.sfs2(), with support for multiple-merger coalescents.Add summary statistics: Hudson’s
Coalescent.fst(), Patterson’s f-statistics (Coalescent.f2(),Coalescent.f3(),Coalescent.f4()), Tajima’sUnfoldedSFSDistribution.tajimas_d()with theUnfoldedSFSDistribution.theta_pi()andUnfoldedSFSDistribution.theta_w()estimators, and cross-locus linkage via the correlation of coalescence times.Accelerate state-space construction with numba, which is now a required dependency.
Compute moments of large state spaces from the sparse action of the matrix exponential (threaded over epochs), controlled by
Settings.expm_action_min_dim.Validate the new statistics against msprime/tskit ground truth, including within the scenario-comparison workflow (Kingman and multiple-merger models, and beyond the two-lineage case).
Use the
spawnstart method for the worker pool on macOS to avoid fork/numba deadlocks.Documentation: add a dedicated Spectra & summary statistics reference page and drop the exponentiation-backend page.
[1.0.2] - 2025-07-14#
Speed up single population single locus Kingman coalescent SFS computations by flattening block counting state space.
Rescale rate matrix instead of recomputing it for new epochs in the one population, one locus case.
Relocate phase-type settings to
Settingsclass.
[1.0.1] - 2025-02-17#
Minor improvements in logging and first release archived in Zenodo.
[1.0.0] - 2024-08-05#
First stable release