Brief description

of the DIagram ANAlyser Diana.



For generating Feynmann diagrams we use a well-known program QGRAF. Its output consists of a list of diagrams, described in a combinatorial fashion.

For this project we have elaborated a special text manipulating language (TM). The TM language is a very simple TeX-like language for creating source code and organizing the interactive dialog.

The program reads QGRAF output. For each diagram it performs the TM-program, producing input for further evaluation of the diagram. Thus the program:
Reads QGRAF output and for each diagram it:

  1. Determines the topology, looking for it in the table of all known topologies and distributes momenta. If we do not yet know all needed topologies, we may use the program to determine missing topologies that occur in the process.
  2. Creates an internal representation of the diagram in terms of vertices and propagators.
  3. Executes the TM-program to insert explicit expressions for the vertices, propagators etc. The TM-program produces input text for FORM ( or some other language), and executes the latter (optionally).

Using the TM language, advanced users can develop further extensions, e.g. including FORTRAN, to create a postscript file for the picture of the current diagram, etc.

The program operates as follows: first of all, it reads its configuration file, which may be produced manually or by Diana as well. This file contains:

  1. The information about various settings (file names, numbers of external particles, definition of key words, etc.)
  2. Momenta distribution for each topology.
  3. Description of the model (i.e., all particles, propagators and vertices).
  4. TM-program.
The TM-program is part of the configuration file. It starts with the directive \begin translate

Then the program starts to read QGRAF output. For each diagram it determines the topology, assigns indices and creates the textual representation of the diagram corresponding to the Feynman integrand. All defined data (masses of particles, momenta on each lines, etc.) are stored in internal tables, and may be called by TM-program operators. At this point Diana performs the TM-program. After that it starts to work with the next diagram.

When all diagrams are processed, the program may perform the TM-program a last time (optionally). This may be used to do some final operations like summing up the results.

Use of the TM language makes Diana very flexible. It is easy to work out various algorithms of diagram evaluation by specifying settings in the configuration file or even by a TM program.

The typical flowchart may look like

flowchart

There is a possibility to use Diana to perform the TM-program only, without reading QGRAF output. If one specifies in the configuration file only interpret then Diana will not try to read QGRAF output, but immediately enters the TM - program.

Diana contains a powerful preprocessor. The user can create macros to hide complicated constructions. Similar as LaTeX provides the possibility for non-specialists to typeset high-quality texts using the TeX language, these macros permit Diana to work at very high level. The user can specify the model and the process, and Diana will generate all necessary files.