"Source: Text/Geometry/HypGeomMot.text";
"Line: 1142";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/HypGeomMot.text, line: 1142
// Example: H138E10 ()
print "Example: H138E10";
ei := GetEchoInput();
SetEchoInput(true);
T := PolynomialRing(Rationals()).1; // dummy variable
H := HypergeometricData([3,4,6,12],[1,1,5,5]); // degree 10
b, HC := IsHyperelliptic(CanonicalCurve(H)); // genus 5
assert b; Genus(HC);
EulerFactor(Specialization(HC,13^12),13); // 13 becomes good
EulerFactor(H,13^12,13); // use hypergeometric methods
assert &and[EulerFactor(Specialization(HC,p^12),p)
            eq EulerFactor(H,p^12,p) : p in [11,13,17,19]];
assert &and[EulerFactor(Specialization(HC,t0*13^12),13)
            eq EulerFactor(H,t0*13^12,13) : t0 in [1..12]];
EulerFactor(H,17^4,17);
EulerFactor(H,19^9,19); // takes the Phi_3 term
EulerFactor(H,19^6,19);
EulerFactor(H,1/11^5,11); // degree is phi(1)+phi(5)
EulerFactor(H,4/11^5,11); // degree is phi(1)+phi(5)
H := HypergeometricData([2,3,6],[1,5]); // degree 5
Q := Rationals();
EulerFactor(ArtinRepresentation(H,7^6),7 : R:=Q);
EulerFactor(ArtinRepresentation(H,7^3),7 : R:=Q);
EulerFactor(ArtinRepresentation(H,7^2),7 : R:=Q);
EulerFactor(ArtinRepresentation(H,2/11^5),11 : R:=Q);
EulerFactor(H,7^6,7); // compute it directly from H
EulerFactor(H,7^3,7);
EulerFactor(H,7^2,7);
EulerFactor(H,2/11^5,11);
SetEchoInput(ei);
