Skip to content

mssjo/HVP-3loop

Repository files navigation

Author: Mattias Sjö Author: Pierre Vanhove Language: FORM Language: Mathematica arXiv: 2510.12885

HVP-3loop

Implementation of the 3-loop hadronic vacuum polarization in chiral perturbation theory

This repository contains a tidied-up copy of the implementation code behind Hadronic vacuum polarization to three loops in chiral perturbation theory by Lellouch, Lupo, Portelli, Sjö, Szabo and Vanhove. The code was written by Mattias Sjö (me) and its scope is essentially that covered by fig. 2 in the paper. Not included are the scattered Mathematica and Maple notebooks used to derive various mathematical formulae such as the Schouten relations (these formulae are instead hard-coded in HVP.hf) and some of the more ad hoc cross-checks.

Below follows a step-by-step instruction to how the interested reader may rederive the 3-loop HVP amplitude.

Install dependencies

This implementation relies heavily on Mattias Sjö's ChPT library https://github.com/mssjo/ChPTlib (which requires Jos Vermaseren's FORM) and Roman Lee's LiteRed2 package https://github.com/rnlg/LiteRed2 (which requires Wolfram Mathematica). In the commands below, I will assume that you have FORM 4.2 callable as form, command-line Mathematica callable as math, that ChPTlib is in the FORM include path, and that ChPT.py is callable as ChPT. There also needs to be a save directory for FORM to store files in.

If you do not have access to Mathematica, you may try to replace the calls to LiteRed2 (which occur in the procedure MIreduce in HVP.hf) with calls to the master integral reduction software of your choice. We would be interested in knowing what you manage to get to work.

Expand the tadpole and bubble

Run

$ form -d LOOPS=3 -d MAXEPS=3 tadbub.frm

to generate tadbub.hf and tadbub.m, which ensure that the definitions of the tadpole and bubble integrals are consistently used throughout the calculation.

Generate IBP reduction rules

Run

$ math -script HVPbasis.wl

to have LiteRed2 map out the integral basis in preparation for master integral reduction. This is by far the most time-consuming step, but only has to be done once.

Generate the Tarasov dimensional shift

Run

$ math -script dimshift.wl
$ ./format_dimshift.sh

to produce the file dimshift.hf which tabulates the dimension shifts for the master integrals, i.e., appendix B in the paper. This step is rather time-consuming but only needs to be done once.

Generate the diagrams

Run

$ ChPT --generate-form-main HVPNLO.chpt
$ ChPT --generate-form-main HVPNNLO.chpt
$ ChPT --generate-form-main HVPN3LO.chpt

to generate FORM code for computing all diagrams (tables 1 and 2 in the paper).

Compute the diagrams

Run

$ form -l -d NF=2 -d PAR=SQRT HVPNLO.frm

and similarly for HVPNNLO.frm and HVPN3LO.frm. The latter may be somewhat time-consuming, especially the first time when ChPTlib needs to generate all Feynman rules. Using tform is recommended.

Different ChPT variants may be specified at this step: different number of (mass-degenerate) flavors with dd NF=3, etc. (omit for N-flavor) and different parametrizations of the Nambu-Goldstone manifold with -d PAR=EXP, -d PAR=GEN, etc.

Assemble lower-order amplitudes

Run

$ form -l -d NF=2 -d PAR=SQRT -d ORDER=NLO HVP.frm
$ form -l -d NF=2 -d PAR=SQRT -d ORDER=NLO -d MFORDER=NLO HVP.frm
$ form -l -d NF=2 -d PAR=SQRT -d ORDER=NLO -d MFORDER=NNLO HVP.frm

$ form -l -d NF=2 -d PAR=SQRT -d ORDER=NNLO HVP.frm
$ form -l -d NF=2 -d PAR=SQRT -d ORDER=NNLO -d MFORDER=NLO HVP.frm

to verify that the one- and two-loop amplitudes come out right, and to prepare copies with mass and decay constant (MF) renormalization applied, which is necessary in order to compute higher-order amplitudes. If the previous step is done with different settings, -d NF=2 -d PAR=SQRT must be changed to match.

This (ignoring MF renormalization) is also where to check against earlier results. The flag -d BIJLU may be set to compare with the results of Bijnens & Lu (2011), which are loaded and converted to our notation. The flag -d ABH may be set to compare our loop integral functions to the traditional Passarino-Veltman-style ones.

Assemble the three-loop amplitude

Run

$ form -l -d NF=2 -d PAR=SQRT -d ORDER=N3LO HVP.frm

to compute the final result. This involves a rather substantial call to LiteRed2, but it should only take a minute or two if everything works right.

Various parts of the amplitude may be isolated and inspected:

  • -d NOCT, -d NOHARD, etc. to omit counterterm diagrams, "hard" (non-factorizable) three-loop diagrams, etc. (see the procedure loaddiagrams in HVP.hf)
  • -d INDICES=... to manually select the indices of diagrams to include (as per the tables in the paper)
  • -d INDIVIDUAL to process all diagrams individually rather than summing them
  • -d TAG to sum the diagrams, but tag their contributions so that they may be tracked
  • -d ONLYMASTERS suppresses everything not containing the E master integrals All of these are likely to violate the automatic sanity checks, so -d NOCHECKS should be set as well.

About

Implementation of the 3-loop hadronic vacuum polarization in chiral perturbation theory

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors