Skip to main content

MyQCD

English | 中文

MyQCD provides executable audits for the lattice-QCD formulas used by PyQCD. It splits a physics report into SymPy-checkable derivations, a source registry, and independent operator-construction and Feynman-diagram layers. Reference libraries are read-only Git submodules; GPL-3.0 or unlicensed upstream content is never copied.

Install

pip install myqcd

Requirements: Python 3.10+ and SymPy 1.12+. The complete test suite is currently exercised on Python 3.12 with SymPy 1.14.

Check an installation without any source checkout:

python -m myqcd.operator_audit
python -m myqcd

python -m myqcd runs the core formula checks. When refer/papers/INDEX.md is unavailable it skips the paper inventory and reports verified_core_without_inventory; the core checks still run.

Documentation

Repositories

Platform Role URL
GitLab (gitlab.itp.ac.cn) 国内开发 — primary development https://gitlab.itp.ac.cn/zhangxin8069/MyQCD
Gitee 国内发布 — China release mirror https://gitee.com/zhangxin8069/MyQCD
GitHub 国外发布 — global release mirror https://github.com/zhangxin8069/MyQCD

Quick start

import sympy as sp

from myqcd import color, diagram_export, feynman, gamma, operators

assert gamma.gamma_basis_rank() == 16
assert gamma.trace_gamma_product((1, 1)) == 4
assert color.casimir_fundamental() == sp.Rational(4, 3)

operator = operators.BilinearOperator(
    name="O_V4", left_flavor="u", right_flavor="d", structure="V4"
)
assert operator.pyqcd_gamma_index == 4
assert operator.mass_dimension == 3

triangle = feynman.Diagram(
    vertices=("a", "b", "c"),
    edges=(
        feynman.Edge(0, 1, "gluon"),
        feynman.Edge(1, 2, "gluon"),
        feynman.Edge(2, 0, "gluon"),
    ),
)
assert triangle.loop_count == 1
assert diagram_export.to_tikz(triangle).startswith("%")

Operators and diagrams

myqcd exposes all 16 Dirac bilinears with exact parity/C signs, mass dimension, and PyQCD gamma indices:

Class Structures Count
S I 1
P γ₅ 1
V γμ 4
A γμγ₅ 4
T σμν 6

The full table and the comparison with standard Dirac/SU(3) values are in Operators. The documentation renders the same formulas with LaTeX.

Sunset two-loop diagram

Diagram examples (two-point chain, three-gluon triangle, one-loop quark self-energy, two-loop sunset and Wick pairing) with loop counts and TikZ/DOT/SVG export are in Feynman diagrams.

What is inside

Module Content
myqcd.audit Core formula checks, paper inventory and JSON report
myqcd.pyqcd_theory_audit PyQCD gamma, vertex, Wilson-line, Clover, ratio and TMD boundary audits
myqcd.derivations SymPy derivations for lattice gauge theory, flow, LaMET, PDF/TMD and statistics
myqcd.formula_registry Formula-to-source-to-derivation registry
myqcd.latex_inventory Display-formula inventory for paper sources
myqcd.wick Exact flavor-respecting Wick pairings with Grassmann signs
myqcd.gamma DeGrand--Rossi gamma basis, trace theorem and 16 Dirac structures
myqcd.color SU(3) generators, structure constants, Casimirs and color Fierz identity
myqcd.operators Dirac bilinear decomposition, parity/C classification and PyQCD index mapping
myqcd.feynman Diagram structures, QCD rule catalog, Wick pairing graphs and loop counting
myqcd.diagram_export Zero-dependency TikZ-Feynman, Graphviz DOT and SVG export
myqcd.operator_audit One-command audit for the operator and diagram layers

Entry points

python -m myqcd
python -m myqcd.operator_audit --root .
python -m myqcd.pyqcd_theory_audit --root .

python -m myqcd.operator_audit writes logs/data/operator_audit/operator_feynman_audit.json under the current directory and exits non-zero if any check fails.

Evidence boundary

  • verified covers only the algebra, dimensions, finite-dimensional proxies and combinatorial identities that are actually checked.
  • No claim is made for loop integrals, nonperturbative matrix elements, real ensembles, GPU numerics, soft/rapidity closure or the continuum limit.
  • myqcd.color uses the Hermitian normalization Tr[T^aT^b] = +delta^{ab}/2; the historical SU(3) derivations in myqcd.derivations use the anti-Hermitian -delta^{ab}/2. The two conventions must not be mixed.
  • Diagram export guarantees combinatorial structure and string format only; it does not prove symmetry factors or loop-integral results.

License

MIT. See LICENSE.

Metadata

Release files for myqcd 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for myqcd 0.1.5
File Size Uploaded Provenance Actions
myqcd-0.1.5.tar.gz 179.9 kB Without provenance Details for myqcd-0.1.5.tar.gz

Release files / myqcd-0.1.5.tar.gz

Download URL myqcd-0.1.5.tar.gz
Size 179.9 kB
Tags Source
SHA-256 checksum
How to use checksums
62eb2e1bb770edb99bf2116f952aca3b53e52c6672ea010a76ce6563d4555eb8
BLAKE2b-256 checksum
How to use checksums
e9ed64290e3faa621d43107eced90003b6cd1ddb9d17bc251089f3d58ae4b577
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.4

Security for myqcd 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page