/* ============================================================================================ The aim of this script is to verify the computations in Example 3.0.15 a) of my thesis, where we construct a threefold isogenous to a product of mixed type with chi=-1 in the index six case. The code is also used in the paper "Mixed Threefolds Isogenous to a Product" in Example 5.8. Any citations below e.g. Proposition 2.3.2 refer to my thesis. =============================================================================================== */ /* To run the implementation, we need to load the following files: */ load "Isogenous/SubIso/FreenessCond.magma"; load "Isogenous/SubIso/ChevalleyWeil.magma"; load "Isogenous/SubIso/HodgeDiamond.magma"; load "Isogenous/MainIso/MainIndexSix.magma"; /* First we define the Galois group and the subgroup G0: */ G:=SmallGroup(216,90); N:=NormalSubgroups(G); PG0:=[N[i]`subgroup : i in [1..#N]| IsIsomorphic(G/N[i]`subgroup, Sym(3))]; G0:=PG0[1]; /* Note that the list PG0 contains just one element, therefore G0 is unique. The extension 1 --> G0 --> G --> S3 --> 1 is non split (see below). Next, we fix elements h and tau and define the group G1 according to Proposition 2.3.6: */ h:=G.1 * G.2 * G.4^2; tau:=G.3 * G.4^2; G1:=sub; /* There is precisely one possibility for a kernel K1 of order six: it is the cyclic group generated by the element G1.3*G1.4: */ NG1:=NormalSubgroups(G1); PKer:=[NG1[i]`subgroup : i in [1..#NG1]| #NG1[i]`subgroup eq 6 and #(NG1[i]`subgroup^tau meet NG1[i]`subgroup) eq 1]; K1:=PKer[1]; // PKer contains only one element! /* The residue classes of the following elements */ sG1:=G.1 * G.4^2; tG1:=G.4 * G.6; /* generate the quotient group G1bar:=G1/K1 and fullfill the "dihedral relations" */ G1bar, pi :=quo; s:=pi(sG1); t:=pi(tG1); /* We define the generating vector V1 and it's type T1 */ V1:=[s*t,s*t,t^5,t^5]; T1:=[1,2,2]; /* Next, we determine the stabilizer sets, to verify the freeness conditions from Proposition 2.3.2 d): */ stab1:={}; for g in StabSet(V1,T1,G1bar) do for k in K1 do Include(~stab1,g@@pi *k); end for; end for; stab2:={tau^2*x*tau^(-2): x in stab1}; stab3:={tau*x*tau^(-1): x in stab1}; /* All three conditions are fulfilled, i.e. "true" */ CondI:= stab1 meet stab2 meet stab3 eq {Id(G)}; CondII:=IsEmpty({(tau*x)^3: x in G0} meet stab1); CondIII:=SmoothCondiii(stab1,G1,G0,tau); /* The last step is to compute the Hodge numbers of our example: */ X1:=LiftCharacter(chi_phi(G1bar,V1,T1), pi, G1); ResX1:=Restriction(X1, G0); ResX2:=ResX1^(tau^(-1)); ResX3:=ResX1^(tau^(-2)); In:=HodgeDiamondInvarG0(G0,ResX1,ResX2,ResX3); RG1:=Set(G1) diff Set(G0); h10:=In[3]/6; h20:=In[2]/6; h30:=In[1]/6; h11:=In[4]/6 + 1/2; h21:=In[5]/6; for g in G0 do h30:=h30 + (X1((tau*g)^3) + X1((tau^2*g)^3))/216; end for; for f in RG1 do h30:=h30 - (3*X1(f)*X1(tau*(f^2)*tau^(-1)))/216; h20:=h20 - (3*X1(tau*(f^2)*tau^(-1)))/216; h10:=h10 + (3*X1(f))/216; h21:=h21 - (3*ComplexConjugate(X1(f))*X1(tau*(f^2)*tau^(-1)))/216; end for; /* Output for the screen: */ printf"\n\n\n\We consider the group G=%o. The subgroup G0=%o is the unique normal subgroup of G, such that G/G0 is Sym(3). \n ", IdentifyGroup(G), IdentifyGroup(G0); printf"\nThe extension 1 --> G0 --> G --> S3 --> 1 is non split: ==> NonSplitIndexSix(G,G0)=%o \n ",NonSplitIndexSix(G,G0); printf"\nNext, we fix elements h and tau and define the group G1:= and the kernel K1 as explained in Example 3.0.15 a).\n "; printf"\nThe quotient G1/K1 is the dihedral group D6 and the generating vector V1=[st,st,t^5,t^5] fulfills the freeness conditions i), ii) and iii) from Proposition 2.3.2 d): ==> FreenessConditions=%o ==> (G,G0,K1,tau,h,V1) is an algebraic datum of a threefold X isogenous to a product, obtained by an index six action. ",CondI and CondII and CondIII; printf"\nThe Hodge numbers of X are: h30=%o, h20=%o, h10=%o, h11= %o and h12=%o", h30, h20, h10, h11, h21;