Repository navigation
pyAmpliCol 1.0.1 adds process grouping for multiprocess outputs.
Subprocesses of a multiprocess generation that share a matrix element (flavour relabellings, optionally charge conjugates, and numerically found rational relations) are now recorded in a process-groups.json artifact payload, with their leg permutation, rational factor and conjugation flag.
Highlights
- Flavour-blind generation.
--flavor-blindgenerates one representative per flavour class, optionally including charge conjugation (--consider-charge-conjugation, on by default). Forp p > j j j jat QED=0 this generates 23 processes instead of 486. A warning is raised whenever photon, Z or W couplings distinguish the relabelled flavours. - Every flavour stays callable. Python, the CLI and the C, C++, Fortran and Rust APIs route any grouped process key, in any leg order, to its representative with the exact factor and reversed colour flows for conjugated members. UMAMI exports the grouped flavours too.
- Numerical process grouping.
--analyze-process-groups numericaland the newpyamplicol group-processescommand compare generated processes in f64 at varied model parameters and record relations with rational factors (|numerator|, denominator <= 99), a superset of the flavour-blind groups.--only-unit-multiplierkeeps factor-one relations only. - Display. Generation reports the grouping outcome, and
pyamplicol inspectshows the full process-group map. - UFO expansion. Multiparticle expansion with UFO models enumerates final-state multisets and drops candidates that violate a charge conserved by every vertex. This makes large UFO requests such as
p p > j j j jfast, and renumbers compiled-model multiprocess process IDs. - Example. New packaged cards for
p p > j j j jwith flavour-blind grouping:pyamplicol examples copy pp4j, thengenerate_pp_4j_flavor_blind.toml,inspect_pp_4j.toml,evaluate_pp_4j_member.tomlandgroup_pp_4j.toml.
Artifacts written by 1.0.1 declare the new payload and need a 1.0.1 runtime.
Installation and validation
python -m pip install pyamplicol==1.0.1The release provides a source distribution and three cp311-abi3 wheels: Linux x86-64 (manylinux 2.28), macOS Intel, and macOS Apple silicon (macOS 11 or newer). Wheels include the Rust runtime and native SDK; a Rust compiler is not needed to install a wheel.
The validated release workflow passed installed-wheel and native SDK checks, CPython 3.11 and 3.14 deployment tests, and an independent Fortran physics comparison. Cross-platform prepared-model transfer also passed on all three targets, on a follow-up commit with the same code. Publication uses these exact validated artifacts without rebuilding.
Documentation · Process grouping · PyPI · Changes since v1.0.0