///////////////////////////////////////////////////// // Last update: January 15, 2015 // // by Antonio Laface // ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// // Constructs a curve C of bi-degree (3,3) in // // P^1 x P^1 which admits the order 5 automorphism // // (x_1,x_2,x_3,x_4) -> (x_1,ex_2,x_3,x_4), // // where e = primitive 5th root of unity. // ///////////////////////////////////////////////////// P1 := ProjectiveSpace(Rationals(),1); Q<[x]> := P1*P1; C := Curve(Q,x[1]*x[2]^2*x[4]^3-x[1]^2*x[2]*x[3]^3+ x[1]^3*x[3]*x[4]^2+x[2]^3*x[3]^2*x[4]); ///////////////////////////////////////////////////// // Constructs the two g_3^1 of C: D1 and D2 // // together with a rational function g such // // that div(g) = 5(D2 - D1). // ///////////////////////////////////////////////////// D1 := Divisor(C,Ideal(Scheme(C,x[1]))); D2 := Divisor(C,Ideal(Scheme(C,x[3]))); K := FunctionField(C); _,g := IsLinearlyEquivalent(5*D2,5*D1); ///////////////////////////////////////////////////// // The Riemann-Roch space H^0(C,5D1). // ///////////////////////////////////////////////////// V,h := RiemannRochSpace(5*D1); f := Inverse(h); ///////////////////////////////////////////////////// // Verifies that the subspaces Sym^5(H^0(C,D1)) // // and g*Sym^5(H^0(C,D1)) of H^0(C,5D1) intersect // // exactly at 0. // ///////////////////////////////////////////////////// B1 := Basis(D1); B2 := Basis(D2); V1 := sub; V2 := sub; V1 meet V2;