// Magma code for the lmfdb family of higher genus curves 15.120-5.0.3-3-10.1
// The results are stored in a list of records called 'data'

RecFormat:=recformat<group,gp_id, signature,gen_vectors,conj_classes,genus,dimension,r,g0, passport_label,gen_vect_label, is_hyperelliptic, hyp_involution, is_cyclic_trigonal,cyc_auto,full_auto, full_sign,topological_class,braid_class>;

data:=[];

// Create group as a permutation group, and generate data which is the same for all entries.
gp_id:=[120,5];
H:=SmallGroup(gp_id[1],gp_id[2]); n:=#H; LP:=[]; LG:=[g : g in H]; for i in [1..n] do x:=LG[i]; Tx:=[LG[j]*x : j in [1..n]]; permL:=[]; for j in [1..n] do for k in [1..n] do if Tx[j] eq LG[k] then permL[j]:=k;  break; end if; end for; end for; Append(~LP,permL); end for; G:=PermutationGroup<n|LP>; 
signature:=[0,3,3,10];
genus:=15;
r:=#signature-1;
g0:=signature[1];
dim:=3*g0-3+r;
S:=Sym(gp_id[1]);

// Here we add an action to data.
gen_vectors:=[[3, 7, 5, 33, 1, 13, 8, 2, 106, 4, 17, 19, 14, 6, 21, 23, 18, 11, 20, 12, 22, 15, 24, 16, 27, 31, 29, 57, 25, 37, 32, 26, 10, 28, 41, 43, 38, 30, 45, 47, 42, 35, 44, 36, 46, 39, 48, 40, 51, 55, 53, 81, 49, 61, 56, 50, 34, 52, 65, 67, 62, 54, 69, 71, 66, 59, 68, 60, 70, 63, 72, 64, 75, 79, 77, 105, 73, 85, 80, 74, 58, 76, 89, 91, 86, 78, 93, 95, 90, 83, 92, 84, 94, 87, 96, 88, 99, 103, 101, 9, 97, 109, 104, 98, 82, 100, 113, 115, 110, 102, 117, 119, 114, 107, 116, 108, 118, 111, 120, 112], [16, 11, 102, 12, 41, 15, 28, 117, 2, 119, 9, 103, 97, 43, 27, 37, 92, 38, 90, 29, 72, 106, 70, 104, 40, 35, 6, 36, 65, 39, 52, 21, 26, 23, 33, 7, 1, 67, 51, 61, 116, 62, 114, 53, 96, 10, 94, 8, 64, 59, 30, 60, 89, 63, 76, 45, 50, 47, 57, 31, 25, 91, 75, 85, 20, 86, 18, 77, 120, 34, 118, 32, 88, 83, 54, 84, 113, 87, 100, 69, 74, 71, 81, 55, 49, 115, 99, 109, 44, 110, 42, 101, 24, 58, 22, 56, 112, 107, 78, 108, 17, 111, 4, 93, 98, 95, 105, 79, 73, 19, 3, 13, 68, 14, 66, 5, 48, 82, 46, 80], [30, 100, 118, 98, 115, 25, 44, 47, 18, 45, 8, 10, 120, 113, 14, 5, 99, 60, 109, 59, 31, 88, 57, 87, 54, 4, 22, 2, 19, 49, 68, 71, 42, 69, 32, 34, 24, 17, 38, 29, 3, 84, 13, 83, 55, 112, 81, 111, 78, 28, 46, 26, 43, 73, 92, 95, 66, 93, 56, 58, 48, 41, 62, 53, 27, 108, 37, 107, 79, 16, 105, 15, 102, 52, 70, 50, 67, 97, 116, 119, 90, 117, 80, 82, 72, 65, 86, 77, 51, 12, 61, 11, 103, 40, 9, 39, 6, 76, 94, 74, 91, 1, 20, 23, 114, 21, 104, 106, 96, 89, 110, 101, 75, 36, 85, 35, 7, 64, 33, 63]];
cc:=[3,3,8];
gen_vectors_as_perm:=[S!perm : perm in gen_vectors];
passport_label:=1;
gen_vect_label:=1;
full_auto:=[240,93];
full_sign:=[0,2,3,20];
Append(~data, rec<RecFormat | group:=G, gp_id:=gp_id, signature:=signature, gen_vectors:=gen_vectors_as_perm, conj_classes:=cc, genus:=genus, dimension:=dim, r:=r, g0:=g0, passport_label:= passport_label,gen_vect_label:=gen_vect_label, braid_class:=braid_class, topological_class:=topological_class, full_auto:=full_auto, full_sign:=full_sign>);
