Physics and software background of PHI

PHI is a Mathematica package I wrote for my PhD thesis in chiral perturbation theory (ChPT). The intention was to make it general enough that it might be useful for other phenomenologists working both in ChPT and other theories. Below follows a write-up of my motivation for writing the software.

This write-up was done while working on the software – around the year 2000.

The Standard Model of particle physics

The present precision of experimental particle physics faces theorists with the challenge of reproducing the experimental data.

The accepted theoretical model for the electromagnetic, weak and strong particle interactions is the Standard Model – an SU(3)xSU(2)xU(1) algebraic formalism explaining the multiplet structure of the hadrons, and allowing a perturbation expansion in the coupling constants, of the Green’s function and scattering amplitudes. The electromagnetic part of this theory is called QED, the strong part is called QCD.

In the high energy regime, the phenomenon of asymptotic freedom allows treating the strong interaction as a perturbative expansion in the coupling constant.

Some of the virtues of the Standard Model are: 1) It unites 3 of the 4 known fundamental interactions in one theoretical framework. 2) It is renormalizable (higher order corrections can be consistently calculated). 3) There has been no disagreement with experiment so far.

Some drawbacks of the Standard Model are: 1) Gravity is not included. 2) The properties of the hadrons are at present not directly calculable from the Standard Model. 3) It is consequently not possible to put QCD to a direct test with low energy phenomena.

Historically, in the low energy region, phenomenological models have been used, and this has not changed with the advent of the Standard Model. One thing has changed though: Instead of being more or less ignorant of how to model the strong interaction, according to the Standard Model, the strong interaction has to ‘approximately’ obey chiral symmetry. This piece of knowledge has systematically been put to use in the formalism known as Chiral Perturbation Theory.

Apart from more very high energy calculations and experiments, a practicable way of testing the Standard Model is more low energy experiments and careful phenomenological and computational investigations.

Computers and Feynman diagrams

Either in the Standard Model or in Chiral Perturbation Theory, the evaluation of Feynman loop diagrams is a tedious task. The large amount of calculational work necessarily introduces the possibility of errors. This is one argument for implementing these theories and the necessary mathematical tools in a computer program. Another argument is that a successful implementation of the many necessary symbolic manipulations leaves more time for physicists to deal with the physics instead of tedious work.

A number of implementations (see below) of varying generality already exist, and some standardization would be nice. If one wishes an open project, the first thing to agree about would be which programming language to use. Traditionally, Fortran is the language used in the physics community, and there exist large program libraries with Fortran programs, but there are alternatives. Especially for a project such as implementing QFT and the Feynman/Dyson/Wick formalism, it would be desirable to have: 1) A language that already knows most of the necessary mathematical formalism, and 2) a language that can handle symbolic manipulations and pattern matching. Mathematica fulfils these two demands. The drawback of Mathematica is that it is quite slow. The existing programs written in Fortran are mostly designed for drawing and evaluating tree order graphs and/or focusing on a particular model, and thus, though large, not too general. The Mathematica package FeynArts evaluates tree and loop diagrams, that is, it draws the graphs (and calculates the corresponding symmetry factors) and writes up the amplitudes as products of the propagators and Feynman rules (which are the input) integrated over internal momenta in the case of loops. No attempt is made to simplify the resulting expressions or evaluate the loop integrals. To reduce the resulting expressions one then needs analytical tools that handle integrals in D dimensions, Dirac traces etc. FeynCalc is a Mathematica package that provides such tools and moreover is an implementation of large parts of the formulas and rules constituting QFT and the Standard Model.

Given the above, I decided to implement PHI in Mathematica, as an extension of FeynCalc that would allow working with Feynman diagrams from FeynArts.


HEP Data

The experiments and reactions database run at Durham,

Particle Data Group,

Particle Physics Booklet, Particle Properties database (run from Durham)

HEP Phenomenology

The Daphne Handbook,

HEP community

Online particle physics information (HEP-labs, data, preprints, journals,…),

CERN info

HEP Software

Fermilab Software Tools,

FreeHEP (Stanford),

CPC program library,




Tracer (a Mathematica package for handling Dirac traces etc.),

HEP (a Mathematica package for evaluating tree order Feynman graphs,
Dirac traces etc.),

physica (another Mathematica package for evaluating tree order Feynman
graphs, by Jürg Beringer – unpublished)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>