Generic topology -

a new mechanism of momenta distributing was added in revision 2.19.

Last modified: Wednesday, 16 October 2002, 13:10

The idea is that the user provides several "generic" topologies together with momenta, similar to the conventional Diana's topology.

Then Diana will generate all possible topologies form provided generic topologies by reducing all possible lines. All momenta at remaining lines coincide with the momenta at the original generic topology. The name of a generated topology is constructed form the names of a generic topology by adding #1_#2_ etc. where #1 is the number of the first reduced line, #2 is the second one, etc. The tadpoles do not reduced to prevent the changing of the number of the loops. By default, all generated couplings of order more then 4 ( the number of lines in a vertex) are rejected, but the user can change this maximal number by means of the special settings

     number of generated couplings = 4
in the configuration file. Another related setting is
     number of generic topologies = 17
which is the size of the hash-table for the generic topologies. The optimal is set the nearest prime number more then the total number of the generic topologies ( The default value is 17).

Example: The user investigates the generic topology

      generictopology A =
       (-2,2)(-1,1)(1,3)(3,2)(2,4)(4,1)(3,4):
        p1+k2,p1+k1,k1,k2,k2-k1;
Then Diana will generate topologies from this one by scratching lines in the following manner::

topols from generic

Complicated example: The user supplies

      generictopology A,Aa,Ab=
       (-2,2)(-1,1)(1,3)(3,2)(2,4)(4,1)(3,4):
        p1+k1,p1+k2,k2,k1,k1-k2:
        p1+k2,p1+k1,k1,k2,k2-k1;
Then Diana will generate the following set of the topologies:
      topology A1_3_,Aa1_3_,Ab1_3_ =
       (-2,2)(-1,1)(1,2)(2,1)(1,2):
        +p1+k2,+k1,+k1-k2:
        +p1+k1,+k2,+k2-k1;
     topology A2_,Aa2_,Ab2_ =    
       (-2,2)(-1,1)(1,2)(2,3)(3,1)(2,3):
         +p1+k1,+k2,+k1,+k1-k2:
         +p1+k2,+k1,+k2,+k2-k1;
     topology A1_,Aa1_,Ab1_ =
       (-2,2)(-1,1)(1,2)(2,3)(3,1)(1,3):
         +p1+k2,+k2,+k1,+k1-k2:
         +p1+k1,+k1,+k2,+k2-k1;
     topology A5_,Aa5_,Ab5_ =
       (-2,2)(-1,1)(1,3)(3,2)(2,3)(3,1):
         +p1+k1,+p1+k2,+k2,+k1:
         +p1+k2,+p1+k1,+k1,+k2;
     topology A,Aa,Ab =
       (-2,2)(-1,1)(1,3)(3,2)(2,4)(4,1)(3,4):
         +p1+k1,+p1+k2,+k2,+k1,+k1-k2:
         +p1+k2,+p1+k1,+k1,+k2,+k2-k1;
The lines numbering remains as for the conventional topologies, but some special values are generated. This values can be obtained by the new operator
     \linemarks(#)
where # is the number of some line. For topologies generated form the generic topology Diana will set this valuse according to numbering of the corresponding generic topology, e.g, for a diagram with the topology A1_ \linemarks(2) = 3. The user can set arbitrary "linemarks" by means of the directive "linemarks".

Example:

      linemarks A1_=a2,a3,a4,a5;
If "linemarks" are not defined by the user, and the current topology is not generated from the generic one, then the operator \linemarks(#) will return just the number of the line, i.e., \linemark(2)=2.

Every time Diana meets "linemarks" or "coordinates" directive in the configuration file, it will look at the generic topologies table. If it is not empty, then Diana will generate all possible topologies from the defined generic topologies and after that it clears the current generic topology tables. If the topology generated from the generic one already exists, Diana rejects this topology.

After Diana finishes to read the configuration file, it looks at the generic topologies table (again) and generates topology, if any.

New related operators:


New keyword is added for FORM identifiers. Similar to "num" or "fnum" this identifier in FORM expressions will be expanded to the linemarks. Default is "mnum". The corresponding setting in the configuration file is
      linemark=mnum 
20 March 2000 revision 2.20 4 April 2000 revision 2.21:

Automatic generation of vertexmarks from generic topologies is removed. (This was a nonsense!)