0% found this document useful (0 votes)
68 views10 pages

CVIT - Program for fast calculation of Dirac's: γ-matrices traces

This document describes a program called CVIT that calculates traces of Dirac gamma matrices using an algorithm that treats gamma matrices as 3j symbols. It consists of 5 modules: 1) an interface module that connects CVIT to the Reduce program, 2) a mapping module that transforms input traces into graphs and reduces them according to certain rules, 3) an interface module that performs algebraic calculations, 4) a module that finds and factors subgraphs, and 5) a module that prepares the results for final calculation. The mapping module is the core of CVIT and transforms input traces into internal data structures that are then reduced algebraically to obtain the trace values.

Uploaded by

Shakir Khattak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views10 pages

CVIT - Program for fast calculation of Dirac's: γ-matrices traces

This document describes a program called CVIT that calculates traces of Dirac gamma matrices using an algorithm that treats gamma matrices as 3j symbols. It consists of 5 modules: 1) an interface module that connects CVIT to the Reduce program, 2) a mapping module that transforms input traces into graphs and reduces them according to certain rules, 3) an interface module that performs algebraic calculations, 4) a module that finds and factors subgraphs, and 5) a module that prepares the results for final calculation. The mapping module is the core of CVIT and transforms input traces into internal data structures that are then reduced algebraically to obtain the trace values.

Uploaded by

Shakir Khattak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

CVIT - Program for fast calculation of Dirac’s

γ-matrices traces

V. Ilyin, A. Kryukov, A. Rodionov and A. Taranov


Institute for Nuclear Physics
Moscow State University
Moscow, 119899 USSR
Phone 939-58-92
Telex 411483 MGU SU
Fax (011)7095-939-01-26

(Version: 1.2. Release: March, 11, 1990)

Abstract

In modern high energy physics the calculation of Feynman diagrams are


still very important. One of the difficulties of these calculations are trace
calculations. So the calculation of traces of Dirac’s γ-matrices were one of
first task of computer algebra systems. All available algorithms are based
on the fact that gamma-matrices constitute a basis of a Clifford algebra:
{Gm,Gn} = 2gmn.
We present the implementation of an alternative algorithm based on treating
of gamma-matrices as 3-j symbols (details may be found in [1,2]).
The program consists of 5 modules described below.

1
2

MODULES CROSS REFERENCES


+--------+
| REDUCE |
|________| |ISIMP1
ISIMP2| +-----------------------+
+--->-----| RED_TO_CVIT_INTERFACE |
|_______________________|
CALC_SPUR| |REPLACE_BY_VECTOR
| |REPLACE_BY_VECTORP
| |GAMMA5P
^ V
+--------------+
| CVITMAPPING |
|______________|
^
|PRE-CALC-MAP
|CALC_MAP_TAR
|CALC_DENTAR
|
+-------------+
| INTERFIERZ |
|_____________|
| |MK-NUMR
| |STRAND-ALG-TOP
| ^
MAP-TO-STRAND| +------------+
INCIDENT1| | EVAL-MAPS |
| |____________|
^ |DELETEZ1
| |CONTRACT-STRAND
+----------------+ |COLOR-STRAND
| MAP-TO-STRAND |---->---+
|________________|

Requires of REDUCE version: 3.2, 3.3.


3

Module RED TO CVIT INTERFACE

Author: A.P.Kryukov
Purpose:interface REDUCE and CVIT package
RED TO CVIT INTERFACE module is intended for connection of RE-
DUCE with main module of CVIT package. The main idea is to preserve
standard REDUCE syntax for high energy calculations. For realization of
this we redefine SYMBOLIC PROCEDURE ISIMP1 from HEPhys module
of REDUCE system.
After loading CVIT package user may use switch CVIT which is ON by
default. If switch CVIT is OFF then calculations of Diracs matrices traces
are performed using standard REDUCE facilities. If CVIT switch is ON then
CVIT package will be active.
RED TO CVIT INTERFACE module performs some primitive simplification and
control input data independently. For example it remove Gm Gm , check
parity of the number of Dirac matrices in each trace etc. There is one
principal restriction concerning G5-matrix. There are no closed form for
trace in non-integer dimension case when trace include G5-matrix. The
next restriction is that if the space-time dimension is integer then it must
be even (2,4,6,...). If these and other restrictions are violated then the user
get corresponding error message. List of messages is included.
LIST OF IMPORTED FUNCTIONS
-------------------------------------------------
Function From module
-------------------------------------------------
ISIMP2 HEPhys
CALC_SPUR CVITMAPPING
-------------------------------------------------
LIST OF EXPORTED FUNCTION
-------------------------------------------------
Function To module
-------------------------------------------------
ISIMP1 HEPhys (redefine)
REPLACE_BY_VECTOR EVAL_MAP
REPLACE_BY_VECTORP EVAL__MAP
GAMMA5P CVITMAPPING, EVAL_MAP
4

-------------------------------------------------

Module CVITMAPPING

Author: A.Ya.Rodionov
Purpose: graphs reduction
CVITMAPPING module is intended for diagrams calculation according to
Cvitanovic - Kennedy algorithm. The top function of this module CALC SPUR
is called from RED TO CVIT INTERFACE interface module. The main
idea of the algorithm consists in diagram simplification according to rules
(1.9’) and (1.14) from [1]. The input data - trace of Diracs gamma matrices
(G-matrices) has a form of a list of identifiers lists with cyclic order. Some of
identifiers may be identical. In this case we assume summation over dummy
indices. So trace Sp(GbGr).Sp(GwGbGcGwGcGr) is represented as list ((b
r) (w b c w c r)).
The first step is to transform the input data to “map” structure and then
to reduce the map to a “simple” one. This transformation is made by func-
tion TRANSFORM MAP (top function). Transformation is made in three
steps. At the first step the input data are transformed to the internal form
- a map (by function PREPARE MAP ). At the second step a map is
subjected to Fierz transformations (1.14) (function MK SIMPLE MAP ).
At this step of optimization can be maid (if switch CVITOP is on) by
function MK FIRZ OP. In this case Fierzing starts with linked vertices
with minimal distance (number of vertices) between them. After Fierz
transformations map is further reduced by vertex simplification routine
MK SIMPLE VERTEX using (1.9’). Vertices reduced to primitive ones,
that is to vertices with three or less edges. This is the last (third) step in
transformation from input to internal data.
The next step is optional. If switch CVITBTR is on factorisation of bubble
(function FIND BUBBLES1) and triangle (function FIND TRIANGLES1)
submaps is made. This factorisation is very efficient for “wheel” diagrams
and unnecessary for “lattice” diagrams. Factorisation is made recursively by
substituting composed edges for bubbles and composed vertices for triangles.
So check (function SORT ATLAS) must be done to test possibility of future
marking procedure. If the check fails then a new attempt to reorganize atlas
(so we call complicated structure witch consists of MAP, COEFFicient and
5

DENOMinator) is made. This cause backtracking (but very seldom). Back-


tracking can be traced by turning on switch CVITRACE. FIND BUBLTR
is the top function of this program’s branch.
Then atlases must be prepared (top function WORLD FROM ATLAS) for
final algebraic calculations. The resulted object called “world” consists of
edges names list (EDGELIST), their marking variants (VARIANTS) and
WORLD1 structure. WORLD1 structure differs from WORLD structure in
one point. It contains MAP2 structure instead of MAP structure. MAP2
is very complicated structure and consist of VARIANTS, marking plan and
GSTRAND. (GSTRAND constructed by PRE!-CALC!-MAP from INTER-
FIERZ module.) By marking we understand marking of edges with numbers
according to Cvitanovic - Kennedy algorithm.
The last step is performed by function CALC WORLD. At this step alge-
braic calculations are done. Two functions CALC MAP TAR and CALC DENTAR
from INTERFIERZ module make algebraic expressions in the prefix form.
This expressions are further simplified by function REVAL. This is the RE-
DUCE system general function for algebraic expressions simplification. REVAL
and SIMP!* are the only REDUCE functions used in this module.
There are also some functions for printing several internal structures: PRINT ATLAS,
PRINT VERTEX, PRINT EDGE, PRINT COEFF, PRINT DENOM. This
functions can be used for debugging.
If an error occur in module CVITMAPPING the error message “ERROR
IN MAP CREATING ROUTINES” is displayed. Error has number 55. The
switch CVITERROR allows to give full information about error: name of
function where error occurs and names and values of function’s arguments.
If CVITERROR switch is on and backtracking fails message about error
in SORT ATLAS function is printed. The result of computation however
will be correct because in this case factorized structure is not used. This
happens extremely seldom.
List of imported function
-------------------------------------------------
function from module
-------------------------------------------------
REVAL REDUCE
SIMP!* REDUCE
CALC_MAP_TAR INTERFIERZ
6

CALC_DENTAR INTERFIERZ
PRE!-CALC!-MAP_ INTERFIERZ
GAMMA5P RED_TO_CVIT_INTERFACE
-------------------------------------------------
List of exported function
-------------------------------------------------
function to module
-------------------------------------------------
CALC_SPUR REDUCE - CVIT interface
-------------------------------------------------
Data structure
WORLD ::= (EDGELIST,VARIANTS,WORLD1)
WORLD1 ::= (MAP2,COEFF,DENOM)
MAP2 ::= (MAPS,VARIANTS,PLAN)
MAPS ::= (EDGEPAIR . GSTRAND)
MAP1 ::= (EDGEPAIR . MAP)
MAP ::= list of VERTICES (unordered)
EDGEPAIR ::= (OLDEDGELIST . NEWEDGELIST)
COEFF ::= list of WORLDS (unordered)
ATLAS ::= (MAP,COEFF,DENOM)
GSTRAND ::= (STRAND*,MAP,TADPOLES,DELTAS)
VERTEX ::= list of EDGEs (with cyclic order)
EDGE ::= (NAME,PROPERTY,TYPE)
NAME ::= ATOM
PROPERTY ::= (FIRSTPAIR . SECONDPAIR)
TYPE ::= T or NIL
------------------------------------------------
*Define in module MAP!-TO!-STRAND.

Modules INTERFIERZ, EVAL MAPS, AND MAP-


TO-STRAND.

Author: A.Taranov
Purpose: evaluate single Map
7

Module INTERFIERZ exports to module CVITMAPPING three functions:


PRE-CALC-MAP , CALC-MAP TAR, CALC-DENTAR.
Function PRE-CALC-MAP is used for preliminary processing of a map. It
returns a list of the form (STRAND NEWMAP TADEPOLES DELTAS)
where STRAND is strand structure described in MAP-TO-STRAND mod-
ule. NEWMAP is a map structure without “tadepoles” and “deltas”. “Tade-
pole” is a loop connected with map with only one line (edge). “Delta” is a
single line disconnected from a map. TADEPOLES is a list of “tadepole”
submaps. DELTAS is a list (CONS E1 E2) where E1 and E2 are
Function CALC MAP TAR takes a list of the same form as returned by
PRE-CALC-MAP , a-list, of the form (... edge . weight ... ) and returns a
prefix form of algebraic expression corresponding to the map numerator.
Function CALC-DENTAR returns a prefix form of algebraic expression cor-
responding to the map denominator.
Module EVAL-MAP exports to module INTERFIERZ functions MK-NUMR
and STRAND-ALG-TOP.
Function MK-NUMR returns a prefix form for some combinatorial coefficient
(Pohgammer symbol).
Function STRAND-ALG-TOP performs an actual computation of a prefix
form of algebraic expression corresponding to the map numerator. This
computation is based on a “strand” structure constructed from the “map”
structure.
Module MAP-TO-STRAND exports functions MAP-TO-STRAND, INCI-
DENT1 to module INTERFIERZ and functions DELETEZ1, CONTRACT-
STRAND, COLOR-STRAND to module EVAL-MAPS.
Function INCIDENT1 is a selector in “strand” structure. DELETEZ1 per-
forms auxiliary optimization of “strand”. MAP-TO-STRAND transforms
“map” to “strand” structure. The latter is describe in program module.
CONTRACT-STRAND do strand vertex simplifications of “strand” and
COLOR-STRAND finishes strand generation.

Description of STRAND data structure.


STRAND ::=<LIST OF VERTEX>
VERTEX ::=<NAME> . (<LIST OF ROAD> <LIST OF ROAD>)
8

ROAD ::=<ID> . NUMBER


NAME ::=NUMBER

LIST OF MESSAGES

• CALC SPUR: <vecdim> IS NOT EVEN SPACE-TIME DIMENSION


The dimension of space-time <vecdimis integer but not even. Only
even numeric dimensions are allowed.
• NOSPUR NOT YET IMPLEMENTED Attempt to calculate trace
when NOSPUR switch is on. This facility is not implemented now.
• G5 INVALID FOR VECDIM NEQ 4 Attempt to calculate trace with
gamma5-matrix for space-time dimension not equal to 4.
• CALC SPUR: <expr> HAS NON-UNIT DENOMINATOR The ¡expr¿
has non-unit denominator.
• THREE INDICES HAVE NAME <name> There are three indices
with equal names in evaluated expression.
List of switches
------------------------------------------------------------
switch default comment
------------------------------------------------------------
CVIT ON If it is on then use Kennedy-
Cvitanovic algorithm else use
standard facilities.
CVITOP OFF Fierz optimization switch
CVITBTR ON Bubbles and triangles
factorisation switch
CVITRACE OFF Backtracking tracing switch
------------------------------------------------------------
Functions cross references*.

CALC_SPUR
|
+-->SIMP!* (REDUCE)
|
+-->CALC_SPUR0
|
9

|--->TRANSFORM_MAP_
| |
| |--->MK_SIMPLE_VERTEX
| +--->MK_SIMPLE_MAP_
| |
| +--->MK_SIMPLE_MAP_1
| |
| +--->MK_FIERS_OP
|
|--->WORLD_FROM_ATLAS
| |
| +--->CONSTR_WORLDS
| |
| +---->MK_WORLD1
| |
| +--->MAP_2_FROM_MAP_1
| |
| |--->MARK_EDGES
| +--->MAP_1_TO_STRAND
| |
| +-->PRE!-CALC!-MAP_
| (INTERFIRZ)
|
|--->CALC_WORLD
| |
| |--->CALC!-MAP_TAR (INTERFIRZ)
| |--->CALC!-DENTAR (INTERFIRZ)
| +--->REVAL (REDUCE)
|
+--->FIND_BUBLTR
|
+--->FIND_BUBLTR0
|
|--->SORT_ATLAS
+--->FIND_BUBLTR1
|
|--->FIND_BUBLES1
+--->FIND_TRIANGLES1
*Unmarked functions are from CVITMPPING module.
10

References

• 1. Ilyin V.A., Kryukov A.P., Rodionov A.Ya., Taranov A.Yu. Fast


algorithm for calculation of Diracs gamma-matrices traces. SIGSAM
Bull., 1989, v.23, no.4, pp.15-24.
• 2. Kennedy A.D. Phys.Rev., 1982, D26, p.1936.

Keywords

REDUCE, GAMMA-MATRIX, TRACE, SPACE-TIME DIMENSION, HIGH


ENERGY PHYSICS.

You might also like