# Singular

#### D.4.6.7 computeGromovWitten

Procedure from library ellipticcovers.lib (see ellipticcovers_lib).

Usage:
computeGromovWitten(G, d, st, en [, vb] ); G graph, d int, st int, en int, optional: vb int

Assume:
G is a Feynman graph, d a non-negative integer, st specified the start- and en the end partition in the list pa = partition(d). Specifying a positive optional integer vb leads to intermediate printout.
We assume that the coefficient ring has one rational variable for each vertex of G.

Return:
list L, where L[i] is gromovWitten(G,pa[i]) and all others are zero.

Theory:
This function does essentially the same as the function gromovWitten, but is designed for handling complicated examples. Eventually it will also run in parallel.

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))); partitions(6,2); ==> [1]: ==> 0,0,0,0,0,2 ==> [2]: ==> 0,0,0,0,1,1 ==> [3]: ==> 0,0,0,0,2,0 ==> [4]: ==> 0,0,0,1,0,1 ==> [5]: ==> 0,0,0,1,1,0 ==> [6]: ==> 0,0,0,2,0,0 ==> [7]: ==> 0,0,1,0,0,1 ==> [8]: ==> 0,0,1,0,1,0 ==> [9]: ==> 0,0,1,1,0,0 ==> [10]: ==> 0,0,2,0,0,0 ==> [11]: ==> 0,1,0,0,0,1 ==> [12]: ==> 0,1,0,0,1,0 ==> [13]: ==> 0,1,0,1,0,0 ==> [14]: ==> 0,1,1,0,0,0 ==> [15]: ==> 0,2,0,0,0,0 ==> [16]: ==> 1,0,0,0,0,1 ==> [17]: ==> 1,0,0,0,1,0 ==> [18]: ==> 1,0,0,1,0,0 ==> [19]: ==> 1,0,1,0,0,0 ==> [20]: ==> 1,1,0,0,0,0 ==> [21]: ==> 2,0,0,0,0,0 computeGromovWitten(G,2,3,7); ==> [1]: ==> 0 ==> [2]: ==> 0 ==> [3]: ==> 0 ==> [4]: ==> 0 ==> [5]: ==> 0 ==> [6]: ==> 8 ==> [7]: ==> 0 ==> [8]: ==> 0 ==> [9]: ==> 0 ==> [10]: ==> 0 ==> [11]: ==> 0 ==> [12]: ==> 0 ==> [13]: ==> 0 ==> [14]: ==> 0 ==> [15]: ==> 0 ==> [16]: ==> 0 ==> [17]: ==> 0 ==> [18]: ==> 0 ==> [19]: ==> 0 ==> [20]: ==> 0 ==> [21]: ==> 0 computeGromovWitten(G,2,3,7,1); ==> 21 ==> 3 / 21 0,0,0,0,2,0 0 0 0 ==> 4 / 21 0,0,0,1,0,1 0 0 0 ==> 5 / 21 0,0,0,1,1,0 0 0 0 ==> 6 / 21 0,0,0,2,0,0 8 8 0 ==> 7 / 21 0,0,1,0,0,1 0 8 0 ==> [1]: ==> 0 ==> [2]: ==> 0 ==> [3]: ==> 0 ==> [4]: ==> 0 ==> [5]: ==> 0 ==> [6]: ==> 8 ==> [7]: ==> 0 ==> [8]: ==> 0 ==> [9]: ==> 0 ==> [10]: ==> 0 ==> [11]: ==> 0 ==> [12]: ==> 0 ==> [13]: ==> 0 ==> [14]: ==> 0 ==> [15]: ==> 0 ==> [16]: ==> 0 ==> [17]: ==> 0 ==> [18]: ==> 0 ==> [19]: ==> 0 ==> [20]: ==> 0 ==> [21]: ==> 0