Skip to content

Releases: MadGraphTeam/pyamplicol

v1.0.1: Flavours United

Choose a tag to compare

@ValentinHirschi ValentinHirschi released this 17 Oct 20:39

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-blind generates one representative per flavour class, optionally including charge conjugation (--consider-charge-conjugation, on by default). For p p > j j j j at 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 numerical and the new pyamplicol group-processes command 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-multiplier keeps factor-one relations only.
  • Display. Generation reports the grouping outcome, and pyamplicol inspect shows 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 j fast, and renumbers compiled-model multiprocess process IDs.
  • Example. New packaged cards for p p > j j j j with flavour-blind grouping: pyamplicol examples copy pp4j, then generate_pp_4j_flavor_blind.toml, inspect_pp_4j.toml, evaluate_pp_4j_member.toml and group_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.1

The 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

v1.0.0: Thus Spoke Compute

Choose a tag to compare

@ValentinHirschi ValentinHirschi released this 04 Oct 08:41

pyAmpliCol 1.0.0 is the software release accompanying the official arXiv publication, “pyAmpliCol: fast tree-level matrix elements”.

This release consolidates the physics capabilities, performance improvements and interfaces presented in the paper, and is the version to use alongside its documented workflows and validation results.

Highlights

  • Adaptive exact-colour FFTs. Recurrence and on-the-fly generation automatically select suitable exact colour representations, including reduced adjoint bases for eligible pure-gluon and HEFT processes. Trace FFT and direct contraction remain available.
  • Colour- and spin-correlated Born quantities. Opt-in correlations, batched requests and generic tree-level colour-connection catalogues are available through Python and the C, C++, Fortran and Rust interfaces. Native evaluation uses binary64; Python also supports double-double and arbitrary precision.
  • Faster, reusable execution. Improved recurrence batching, runtime helicity and colour selection, HEFT-current optimizations, and persistent on-the-fly caches with save/restore support.
  • Precision and model correctness. Exact model constants, colour weights and normalization factors are preserved for higher-precision evaluation. The bundled Standard Model and HEFT assets have been refreshed for Symbolica 3.
  • Published upstream dependencies. Symbolica 3.0.0, SymJIT 2.26.4, and ufo-model-loader 1.0.0, with no local dependency source patches.

Installation and validation

python -m pip install pyamplicol==1.0.0

The 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. Publication uses these exact validated artifacts without rebuilding.

Documentation · PyPI · Changes since v0.2.0

v0.2.0: HEFFT

Choose a tag to compare

@ValentinHirschi ValentinHirschi released this 03 Sep 17:03

Highlights

  • Adds built-in scalar HEFT support and trusted UFO HEFT workflows across pyAmpliCol execution modes.
  • Adds exact symmetric-group FFT full-colour contraction.
  • Adds helicity-parametric recurrence and on-the-fly scheduling.
  • Adds a resumable profiling workflow for selected-helicity and complete-helicity-sum comparisons, including optional AmpliCol, standalone FFT, and MadGraph references with anytime PDF rendering.

The name HEFFT celebrates the combination of new HEFT UFO-model support and the new FFT colour-contraction mode.

Validated release artifacts were built and deployment-tested on macOS arm64, macOS x86-64, and manylinux x86-64 in workflow run 33153378098. They were published unchanged through trusted-publishing run 33781963167.

Install from PyPI.

v0.1.4: Flying Colours

Choose a tag to compare

@ValentinHirschi ValentinHirschi released this 08 Aug 21:17

Highlights

  • Adds compact on-the-fly generation for leading-colour and contracted NLC/full-colour workloads.
  • Adds explicit one-point binary64 warm_up(...) APIs with progress and memory reporting, plus clear cache-retention semantics across Python, C, C++, Fortran, and Rust.
  • Optimizes the two leading-colour workloads: one selected flow with the helicity sum, and all flows for one selected helicity.
  • Adds the packaged p p > Z j j on-the-fly walkthrough and expanded profiling-campaign documentation.
  • Makes pyamplicol human output polished coloured tables by default; machine-readable JSON is explicit via --json.

Validated release artifacts were built and deployment-tested on macOS arm64, macOS x86_64, and manylinux x86_64 in workflow run 31276087081.

Install from PyPI.

Flying Colors introduces the new on-the-fly mode.

v0.1.3: Guided Beginnings

Choose a tag to compare

@ValentinHirschi ValentinHirschi released this 05 Aug 17:08

The third public PyPI release of pyAmpliCol.

Highlights:

  • canonical, comprehensive documentation published through GitHub Pages;
  • portable compiled JIT O1 artifacts alongside JIT O2 portability;
  • LC profiling defaults that select the process output optimized workload, with one-time guidance for non-hot selector shapes;
  • a simplified Wiki landing page pointing to the maintained documentation.

Install with:

python -m pip install pyamplicol==0.1.3

v0.1.2: Resilient Beginnings

Choose a tag to compare

@ValentinHirschi ValentinHirschi released this 05 Aug 09:45

The second public PyPI release of pyAmpliCol.

Highlights:

  • more resilient large-process recurrence generation and runtime execution;
  • lower topology-replay runtime memory use;
  • portable JIT O2 artifacts and generalized process-order handling across Python and native APIs;
  • lean, opt-in post-build artifact validation;
  • refreshed macOS M3 and EPYC performance reports.

Install with:

python -m pip install pyamplicol==0.1.2

v0.1.1: Humble Beginnings

Choose a tag to compare

@ValentinHirschi ValentinHirschi released this 04 Aug 23:23

The first public PyPI release of pyAmpliCol.

Highlights:

  • process generation from built-in, serialized JSON, and trusted UFO models;
  • recurrence, compiled-DAG, and eager execution with runtime helicity/color-flow selection;
  • Python, C11, C++17, Fortran 2008, and dependency-free Rust 2021 interfaces;
  • validated CPython abi3 wheels for macOS arm64, macOS x86-64, and manylinux x86-64.

Install with:

python -m pip install pyamplicol==0.1.1