#### D.15.31.13 DrawCovers

Procedure from library `tropicalEllipticCovers.lib` (see tropicalEllipticCovers_lib).

Usage:
  DrawCovers(G,aa,O,t[, lw]); G graph, aa list, O list, t int,n int and lw list

Assume:
  G is a Feynman graph/pearl chain, aa is a partition of the degree of the graph G, O is a given ordering of the vertices of G, t is an integer between 0 and 3 and lw is a list where the first n entries represent the leaks in G and the remaining terms tells us about the white pearls of G. NOTE: Requires pdflatex to be installed.

Return:
  if n=0: C_t is a Latex file generating all the covers of an elliptic curve and if n=1: C_t is the source file that can be executed in Latex to get the covers of an elliptic curve (given an ordering O and a partition aa). The results for C_t are as follows:
  C_0: returns a Latex file drawing all simply ramified covers of an elliptic curve given a fixed ordering of the vertices of G and a fixed partition of its degree. C_1: returns a Latex file drawing all covers of an elliptic curve such that G has no vertex contributions, given a fixed ordering of the vertices of G and a fixed partition of its degree.
  C_2: returns a Latex file drawing all covers of an elliptic curve such that G has vertex contributions, given a fixed ordering of the vertices of G and a fixed partition of its degree.
  C_3: returns a Latex file drawing all curled pearl chains of an elliptic curve given a fixed ordering of the vertices of G and a fixed partition of its degree.

Theory:
  For a given ordering of the vertices of G, this function computes Latex file drawing all the covers of an elliptic curve E. If G is a pearl chain then this procedure draws the black and white pearls of G accordingly using information from list lw.
  (For t=0, we get the results for simply ramified covers as in [BBM]. For t=1, 2 we get results for graphs w/o vertex contributions respectively w/ vertex contributions as in [BGM1], and for t=3 we get the results for pearl chains as in [BGM2])

Example:

    LIB "tropicalEllipticCovers.lib";
    ring r1=0, (x1,x2,x3,x4),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)));
    DrawCovers(G,list(0,2,1,0,0,1), list(x2,x4,x3,x1),0,0);
    //This is another example:
    ring r2=0,(x1,x2,x3,z1,z2,z3),dp;
    //F is graph with loops
    graph F=makeGraph(list(1,2,3),list(list(1,1),list(1,2),list(2,3),list(1,3)));
    DrawCovers(F,list(1,0,0,2),list(x1,x2,x3),2,0,list(0,0,0));
    //Yet another example
    ring r3=0,(x1,x2,x3,x4,x5),dp;
    //in P vertices 1 and 3 are white, genus 2
    graph P=makeGraph(list(1,2,3,4,5),list(list(1,2),list(2,3),list(3,4),list(1,4),list(1,5),list(3,5)));
    DrawCovers(P,list(0,0,0,1,2,0),list(x1,x2,x3,x4,x5),3,1, list(0,0,0,0,0,1,3));

User manual for Singular version 4.4.1, 2025, generated by texi2html.