/* ============================================================================================ The aim of this script is to verify the computations in Example 3.0.15 b) of my thesis, where we construct a rigid threefold isogenous to a product of unmixed type with chi=-1. The code is also used in the paper "Mixed Threefolds Isogenous to a Product" in Example 5.9. =============================================================================================== */ /* 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"; /* First we define the Galois group, it is the direct product of two copies of the cyclic group Z of order 5. The maps i[1] and i[2] are the inclusion maps Z --> Z x Z x |--> (x,0) and x|-->(0,x).*/ Z:=SmallGroup(5,1); G,i:=DirectProduct(Z,Z); H, p :=quo; // the quotient H is isomorphic to the first factor of the product and p // is identified with the corresponding projection map /* Next, we define the generating vectors V1 and V2 */ V1:=[i[1](Z.1^0)*i[2](Z.1^3), i[1](Z.1^3)*i[2](Z.1^3), i[1](Z.1^2)*i[2](Z.1^4)]; V2:=[i[1](Z.1^2)*i[2](Z.1^0), i[1](Z.1^2)*i[2](Z.1^1), i[1](Z.1^1)*i[2](Z.1^4)]; V3:=[H.1,H.1,H.1^3]; T:=[0,5,5,5]; /* and verify the freeness conditions. Here, by construction, stab1 and stab2 intersect already trivially. */ stab1:=StabSet(V1,T,G); stab2:=StabSet(V2,T,G); printf"\n\n\n\The intersection of the stabilizer sets of the generating vectors Vi is trivial:\n"; stab1 meet stab2; /* Finally, we determine the Hodge diamond of our example. Since we work in the unmixed case, we can use the function "HodgeDiamondInvarG0". */ X1:=chi_phi(G,V1,T); X2:=chi_phi(G,V2,T); X3:=LiftCharacter(chi_phi(H,V3,T), p, G); HD:=HodgeDiamondInvarG0(G,X1,X2,X3); printf"\nThe Hodge numbers of X are: h30=%o, h20=%o, h10=%o, h11= %o and h12=%o", HD[1],HD[2],HD[3],HD[4],HD[5];