#### D.4.6.6 gromovWitten

Procedure from library `ellipticcovers.lib` (see ellipticcovers_lib).

Usage:
  gromovWitten(P); P number
  gromovWitten(G,d); G graph, d int
  gromovWitten(G,b); G graph, b list

Assume:
  P is a propagator, or
  G is a Feynman graph and d a non-negative integer, or
  G is a Feynman graph and b is a list of integers of length equal to the number of edges of G
  We assume that the coefficient ring has one rational variable for each vertex of G.

Return:
  Gromov-Witten invariant.

Theory:
  Computes

  - the Gromov-Witten invariant of a given propagator P, or

  - the invariant N_(G,d)*|Aut(G)| where d is the degree of the covering, or

  - the number N_(G,b) of coverings with source G and target an elliptic curves with branch type a over a fixed base point (that is, the i-th edge passes over the base point with multiplicity b[i]).

Example:

    LIB "ellipticcovers.lib";
    ring R=(0,x1,x2,x3,x4),(q1,q2,q3,q4,q5,q6),dp;
    graph G = makeGraph(list(1,2,3,4),list(list(1,3),list(1,2),list(1,2),list(2,4),list(3,4),list(3,4)));
    number P = propagator(G,list(0,2,1,0,0,1));
    gromovWitten(P);
    ==> 256
    gromovWitten(G,list(0,2,1,0,0,1));
    ==> 256
    gromovWitten(G,2);
    ==> 32

User manual for Singular version 4-0-3, 2016, generated by texi2html.