// For each of the following inputs run the commands // The funciton "q1Extension" and the procedure "OrbitDivisors" are defined in the file Skript.txt G0:=sub<G|gv>; H,e,Orb:=q1Extension(G0,gv); // constructing a bigger automorphism group for w in Orb do OrbitDivisors(G,genus,G0,H,e,w); end for; /* We are considering Hurwitz orbits (see also Script) of generating vectors for the following reason. It is possible that: 1) 2 different generating vectors gv_1, gv_2 for G^0 <G define non-isomorphic curves C1 and C2 of the same genus; 2) the groups H1, H2 we have to consider are equal (H1=H2=:H); 3) we cannot use the input data to distinguish between a generating vector for the covering C1-> C1/H=P^1 and a generating vector for the covering C2-> C2/H. In this situation the g.v. w_1 for the first covering and the g.v. w_2 for the second covering are in different Hurwitz orbit (since C1 and C2 are not isomorphic) of generating vectors of H of given type. Whence considering OrbitDivisors(G,genus,q,G0,H,e,w_i) for i=1,2 we deal both cases simultaneously. If one of the three conditions 1)-3) is not satisfied, then we have get only one orbit (this will be always the case for the following inputs). */ //-------------------------//-------------------------//------------------------- //-------------------------//-------------------------//------------------------- // CASE K^2=4, p_g=q=1 //-------------------------//-------------------------//------------------------- // Input 1 G:=SmallGroup(48,38); genus:=13; gv:= [ G.1 * G.5, G.2 * G.4, G.1 * G.2 * G.5^2, G.1 * G.2 * G.5^2 ]; // Intput 2 G:=SmallGroup(48,37); genus:=13; gv:=[ G.4 * G.5^2, G.2 * G.4 * G.5, G.1 * G.2 * G.3 * G.4 * G.5, G.1 * G.2 * G.3 * G.4 * G.5 ]; //-------------------------//-------------------------//------------------------- //-------------------------//-------------------------//------------------------- // CASE K^2=2, p_g=q=1 //-------------------------//-------------------------//------------------------- // Input 1 G:=SmallGroup(64, 153); genus:=17; gv:=[ G.1 * G.2 * G.3 * G.4, G.1, G.1, G.1 * G.4 * G.5 ]; // Input 2 G:=SmallGroup(64, 150); genus:=17; gv:=[ G.2 * G.3 * G.4 * G.6, G.2 * G.3 * G.4 * G.5, G.1 * G.2 * G.6, G.1 * G.2 * G.6 ]; // Input 3 G:=SmallGroup(64, 147); genus:=17; gv:= [ G.2 * G.3 * G.4 * G.6, G.2 * G.3 * G.4 * G.5, G.1 * G.2 * G.6, G.1 * G.2 * G.6 ]; // Input 4 G:=SmallGroup(64, 128); genus:=17; gv:=[ G.1 * G.2 * G.3 * G.4 * G.6, G.1, G.1 * G.4, G.1 * G.5 ]; // Input 5 G:=SmallGroup(64, 130); genus:=17; gv:= [ G.4 * G.6, G.1 * G.2 * G.3 * G.6, G.1 * G.5 * G.6, G.1 * G.5 * G.6 ]; // Input 6 G:=SmallGroup(64, 134); genus:=17; gv:=[ G.1 * G.2 * G.3 * G.6, G.5, G.1 * G.4, G.1 * G.4 * G.6 ] ; // Input 7 G:=SmallGroup(64, 227); genus:=17; gv:= [ G.2 * G.3 * G.6, G.1 * G.2 * G.4 * G.6, G.2 * G.5 * G.6, G.2 * G.5 ] ; // Input 8 G:=SmallGroup(64, 227); genus:=17; gv:= [ G.1 * G.4 * G.6, G.3 * G.6, G.3 * G.4 * G.5, G.3 * G.4 * G.5 * G.6 ] ; // Input 9 G:=SmallGroup(64, 228); genus:=17; gv:=[ G.1 * G.2 * G.3 * G.4 * G.5 * G.6, G.1 * G.2 * G.4, G.2 * G.5 * G.6, G.2 * G.5 ] ; // Input 10 G:=SmallGroup(64, 234); genus:=17; gv:=[ G.4 * G.5, G.2, G.3 * G.6, G.3 * G.5 * G.6 ] ; // Input 11 G:=SmallGroup(64, 234); genus:=17; gv:=[ G.1 * G.2 * G.4 * G.5, G.2 * G.5, G.1, G.1 ] ; // Input 12 G:=SmallGroup(64, 236); genus:=17; gv:= [ G.2 * G.3 * G.4 * G.5, G.2 * G.4 * G.5, G.3 * G.4 * G.5, G.3 * G.4 * G.5 ] ; // Input 13 G:=SmallGroup(64, 219); genus:=17; gv:=[ G.1 * G.3, G.1 * G.3 * G.4 * G.6, G.1 * G.2 * G.3 * G.5, G.1 * G.2 * G.3 ] ; // Input 14 G:=SmallGroup(64, 221); genus:=17; gv:=[ G.1 * G.3, G.1 * G.3 * G.4 * G.6, G.1 * G.2 * G.3 * G.5, G.1 * G.2 * G.3 ] ; // Input 15 G:=SmallGroup(64, 213); genus:=17; gv:= [ G.1 * G.2 * G.4 * G.6, G.1 * G.2 * G.3 * G.6, G.1 * G.2 * G.3 * G.4 * G.5 * G.6, G.1 * G.2 * G.3 * G.4 * G.5 ] ; // Input 16 G:=SmallGroup(64, 206); genus:=17; gv:=[ G.1 * G.2 * G.3 * G.4 * G.5, G.1 * G.2 * G.5 * G.6, G.1 * G.2 * G.4, G.1 * G.2 * G.4 * G.6 ] ;