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.1.1.tar.gz (35.2 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.1.1-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rundex-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2f391e9cef10adb9d8582059d325c927689b759392c041f4d8e299b2a6e7fd7b
MD5 ae793f3c39f4743858db070d86d13cec
BLAKE2b-256 29aa856b568c4fc766c4cca95d41b1c871739f59b03e0e7457e978628e48c1ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for rundex-0.1.1.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.1.1-py3-none-any.whl.

File metadata

  • Download URL: rundex-0.1.1-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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5aa451178b682e8807221c2ba3c96097c26112e7c5c10b2d13ba6c194296d37a
MD5 93358acffa4996a74db2691f28365385
BLAKE2b-256 ecb84b7767b4e2ef1766f4c8db126927c2eb54c0f3c6463e6870b0f4f4c7a239

See more details on using hashes here.

Provenance

The following attestation bundles were made for rundex-0.1.1-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