"Source: Text/Geometry/HypGeomMot.text";
"Line: 745";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/HypGeomMot.text, line: 745
// Example: H138E2 ()
print "Example: H138E2";
ei := GetEchoInput();
SetEchoInput(true);
f := CyclotomicPolynomial(6);
g := CyclotomicPolynomial(1)*CyclotomicPolynomial(2);
H := HypergeometricData(f,g); H; assert(Weight(H)) eq 0;
A := ArtinRepresentation(H,-4/5);
K := OptimisedRepresentation(Field(A));
DefiningPolynomial(K);
T := Twist(H); T;
A := ArtinRepresentation(T,-4/5);
L := OptimisedRepresentation(Field(A));
IsSubfield(L,K), DefiningPolynomial(L);
H := HypergeometricData([2,2],[3]); // Phi_2^2 and Phi_3
E := EllipticCurve(H,3);
T := EllipticCurve(Twist(H),3);
IsQuadraticTwist(E,T);
//
H := HypergeometricData([5],[8]); // Phi_5 and Phi_8
C := HyperellipticCurve(H);
t := 7;
S := Specialization(C,t);
T := HyperellipticCurve(Twist(H),t);
Q := QuadraticTwist(T,5*t); // get right parameter
assert IsIsomorphic(Q,S);
SetEchoInput(ei);
