← Jim Bryan

A Maple program for the Gromov-Witten theory of curves

In the spring of 2002 I wrote a Maple program to compute integrals over the moduli space of maps to a smooth curve. The algorithm is due to Rahul Pandharipande and Andrei Okounkov and is based on their joint work and also the joint work of Pandharipande and Faber.

The integrand can have arbitrary gravitational descendants—descendants of a point, a loop, or 1—or insertions of “Hodge type.” The program computes disconnected Gromov-Witten invariants, where the domain is possibly disconnected. The disconnected theory is more natural from the point of view of the algorithm, and the usual connected invariants are determined by the disconnected invariants and vice versa.

One application is computing the local Gromov-Witten invariants of a curve in a Calabi-Yau threefold; this was the main motivation for writing the program. See my papers with Rahul Pandharipande, “BPS states of curves in Calabi-Yau 3-folds” and “Curves in Calabi-Yau 3-folds and Topological Quantum Field Theory.” The file includes a procedure that expresses the Chern class in terms of the Chern characters and computes the generating series for the local invariants.

The algorithm is highly recursive and can use a great deal of memory. Rahul and I spent about two months optimizing it, and I believe the program is basically as efficient as the algorithm allows. It slows down as the degree and target genus increase, but the main barrier is usually the number of insertions; the practical maximum is typically five or six.

The documentation appears at the beginning of the file. Auxiliary procedures Z and Y for computing the local invariants occur toward the end, together with their documentation.

The code has been fairly well tested and seems reliable. One known issue concerns loop descendants: each gravitational descendant of a loop must be accompanied by an insertion of the Poincaré-dual loop. Otherwise the invariant is zero, but this version reports an error.
Download the Maple code