*Nphoton*

Z. Nagy and D. E. Soper
W. Gong, Z. Nagy, and D. E. Soper
Nphoton and *NphotonD* are a computer programs that calculate the scattering amplitude for 2 photons scattering to make (N - 2) photons. This is a one loop process in quantum electrodynamics, with a massless or massive electron loop coupling to the N photons for *Nphoton* and a massless electron for *NphotonD* .
## Style of calculation

QCD calculations are normally performed by doing integrations over the
three-momenta of virtual particles analytically, while the integrations
over the momenta of particles in the final state are performed
numerically. This highly successful method was introduced by Ellis,
Ross, and Terrano (*Nucl. Phys.* B178, 421 (1981)). The idea of
*Nphoton* is to perform the loop integration numerically. Then in a complete next-to-leading order calculation, all of the integrations would be done together by Monte-Carlo numerical integration. See also the program *beowulf*, where a numerical calculation of everything together is implemented for three jet quantities in electron-positron annihilation.
In general, subtractions are needed to remove the infrared divergences from loop integrals. The required subtractions are described in Z. Nagy and D. E. Soper, ``General subtraction method for numerical calculation of one-loop QCD matrix elements,'' JHEP 0309, 055 (2003) [arXiv:hep-ph/0308127]. The N-photon case with a massless electron loop has infrared singularities, but they are integrable singularities. Thus no subtractions are needed.

*Nphoton*

The program *Nphoton* tests the idea of performing the loop integration by a combined integration over the loop momentum and Feynman parameters.
The basic method is described in Z. Nagy and D. E. Soper,
"Numerical integration of one-loop Feynman diagrams for N-photon
amplitudes," arXiv:hep-ph/0610028. There is also a set of implementation notes in pdf format. These notes describe the method for choosing points in the Monte Carlo style numerical integration.

*Nphoton* version 1.0

There are three program files. The top level routines in *Nphoton.cpp* can
be easily modified by the user. The definitions in *Nphoton.h* and the subroutines in *Nphotonsubs.cpp* should not be modified.

We recommend compiling these with c++ -O3 Nphoton.cpp Nphotonsubs.cpp.

*NphotonD*

The program *NphotonD* tests the idea of performing the loop integration over the loop momentum directly, without resorting to Feynman parameters.
The basic method is described in W. Gong, Z. Nagy and D. E. Soper,
"Direct numerical integration of one-loop Feynman diagrams for N-photon
amplitudes," arXiv:hep-ph/0812.3686, published in Phys. Rev. D 79, 033005 (2009). There is also a set of implementation notes in pdf format. These notes describe the method for choosing points in the Monte Carlo style numerical integration.

*NphotonD* version 1.0

There are three program files. The top level routines in *NphotonD.cpp* can
be easily modified by the user. The definitions in *NphotonD.h* and the subroutines in *NphotonDsubs.cpp* should not be modified.

We recommend compiling these with c++ -O3 NphotonD.cpp NphotonDsubs.cpp.

### Comments

I would be pleased to hear your comments by email at the address below.

*Last updated 4 February, 2009*

Davison E. Soper

Institute of Theoretical Science

University of Oregon

Eugene OR 97403 USA

soper@uoregon.edu