Skip to main content

Running and decoupling of the strong coupling and quark masses (JAX port of rundex)

Project description

rundex

JAX port of RunDec v3.1 — running and decoupling of the strong coupling αs and quark masses in QCD.

Original Mathematica package by K.G. Chetyrkin, J.H. Kühn, M. Steinhauser, and F. Herren.
References: hep-ph/0004189, arXiv:1703.03751.

Installation

pip install rundex

Requires Python ≥ 3.10, JAX ≥ 0.4, and diffrax.

Quick start

import jax
jax.config.update("jax_enable_x64", True)  # required for physics-level precision

from rundex import AlphasExact, AlphasLam, LamExpl, LamImpl

# Λ_MS^(5) from αs(MZ)
lam = LamExpl(0.118, 91.18, nf=5, loops=5)   # → 0.2086 GeV

# αs(μ) from Λ (analytic expansion)
als = AlphasLam(lam, mu=1000.0, nf=5, loops=5)

# αs(μ) by numerically integrating the RGE
als = AlphasExact(0.118, mu0=91.18, mu=1000.0, nf=5, loops=5)

# Optional: compile once for fixed (nf, loops) to avoid retracing
from rundex import compiled_AlphasExact
alphas_exact_5l_nf5 = compiled_AlphasExact(nf=5, loops=5)
als_fast = alphas_exact_5l_nf5(0.118, 91.18, 1000.0)

Note on 64-bit precision
JAX defaults to 32-bit floats. Always call jax.config.update("jax_enable_x64", True) before importing or calling any rundex function. The package itself does not set this flag so it does not interfere with the rest of your JAX code.

Development

git clone ...
pip install -e ".[dev]"
pytest

Numerical tests are cross-validated against rundec-python (CRunDec C++ wrapper), which is a test-only dependency not required by rundex itself.

Implemented RunDec functions (subset)

The following RunDec functions are currently ported to rundex:

  • LamExpl
  • LamImpl
  • AlphasLam
  • AlphasExact
  • AlL2AlH
  • AlH2AlL
  • mMS2mMS
  • mMS2mOS
  • mMS2m1S
  • mOS2mMS
  • mOS2mSI
  • DecMqUpOS
  • DecMqDownOS
  • mL2mH
  • mH2mL

Not all RunDec functionality is ported yet.

Compiled helpers (available for all ported functions)

Each ported function above has a compiled helper named compiled_<FunctionName>. Use these when you call the same function many times with fixed discrete settings (for example fixed nf, loops, and fixed threshold/light-quark data).

Examples:

  • compiled_LamExpl(nf, loops)
  • compiled_LamImpl(nf, loops)
  • compiled_AlphasLam(nf, loops)
  • compiled_AlphasExact(nf, loops)
  • compiled_AlL2AlH(decpar, loops)
  • compiled_AlH2AlL(decpar, loops)
  • compiled_mMS2mMS(nf, loops)
  • compiled_mMS2mOS(nf, loops, mq=None, fdelm=1.0)
  • compiled_mMS2m1S(nl, loops, mq=None, fdelm=1.0)
  • compiled_mOS2mMS(nf, loops, mq=None, fdelm=1.0)
  • compiled_mOS2mSI(nf, loops, mq=None, fdelm=1.0)
  • compiled_DecMqUpOS(nf, loops)
  • compiled_DecMqDownOS(nf, loops)
  • compiled_mL2mH(decpar, loops)
  • compiled_mH2mL(decpar, loops)

When to use which:

  • Use regular functions for one-off calls or frequently changing setup parameters.
  • Use compiled helpers for repeated calls with fixed setup parameters.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rundex-0.0.0.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rundex-0.0.0-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file rundex-0.0.0.tar.gz.

File metadata

  • Download URL: rundex-0.0.0.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rundex-0.0.0.tar.gz
Algorithm Hash digest
SHA256 63a930fcc62f1069eafa543184495942fa631b530c5b743702ea66d7d4901a0f
MD5 b62b875167a1ab8e301fdca220790e0d
BLAKE2b-256 cb3d9d8cb9939f8893a3818a5505c79e322c36deb930fd02a9ea79e160c70bbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rundex-0.0.0.tar.gz:

Publisher: publish.yml on DavidMStraub/rundex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rundex-0.0.0-py3-none-any.whl.

File metadata

  • Download URL: rundex-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rundex-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 07427c262f3a01fc3f1014c468c04553c91282e5fe9ce33ec35a749a472d39e7
MD5 4bb3ed4526195014d5d71f278453df92
BLAKE2b-256 482551e64f2b534b87a72a24ca2b68578eaed68271d2421207a389f4fb71cbdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rundex-0.0.0-py3-none-any.whl:

Publisher: publish.yml on DavidMStraub/rundex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page