"Source: Text/Geometry/HypGeomMot.text";
"Line: 918";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/HypGeomMot.text, line: 918
// Example: H138E7 ()
print "Example: H138E7";
ei := GetEchoInput();
SetEchoInput(true);
PHD := PossibleHypergeometricData(4);
t := 2; p := 13;
Z := Integers();
for h in PHD do H:=HypergeometricData(h); A:=H`alpha; B:=H`beta;
   assert HypergeometricTrace(H,t,p) eq Z!HypergeometricTraceK(A,B,t,p);
   end for;
A := [1/14,9/14,11/14];
B := [1/4,3/4,1];
p := 29; // a split prime in Q(sqrt(-7))
e := HypergeometricTraceK(A,B,2,p : Precision:=10);
PowerRelation(e,4);
e := HypergeometricTraceK([1/8,7/8],[0,1/4],2,17 : Precision:=10);
PowerRelation(e,4);
assert IsIsomorphic(NumberField($1),CyclotomicField(8));
//
e := HypergeometricTraceK([1/8,7/8],[0,1/4],2,97 : Precision:=10);
PowerRelation(e,4);
assert IsIsomorphic(NumberField($1),CyclotomicField(8));
// and a non-split prime, with q = 1 mod 8
e := HypergeometricTraceK([1/8,7/8],[0,1/4],2,7^2 : Precision:=20);
PowerRelation(e,2); // generates Q(sqrt(2))
H := HypergeometricData([2,2,2,3],[1,1,1,1,1]); // weight 4
A := H`alpha; B := H`beta;
Z := Integers();
f := func<p|(1/((15*Sqrt(pAdicField(p,20)!5)-33)/2)^3)>;
P := [p : p in PrimesUpTo(200) | p^2 mod 5 eq 1];
R := [<p,Z!HypergeometricTraceK(A,B,Z!f(p),p)> : p in P];
&+[r[2]/r[1]^2*1.0 : r in R]/#P;
&+[r[2]^2/r[1]^4*1.0 : r in R]/#P; // second moment
MomentData(LSeries(H,5),P,2); // t = 5
MomentData(LSeries(H,11),P,2); // t = 11
MomentData(LSeries(H,(4/3)^3),P,2); // t = (4/3)^3
MomentData(LSeries(H,(4/3)^3),PrimesUpTo(1000),2);
A := [1/4]; B := [1/3];
Qp := pAdicField(5,20);
E := ext<Qp|Polynomial([-2,0,1])>; // x^2-2, unramified
HypergeometricTraceK(A,B,4+E.1,5);
HypergeometricTraceK(A,B,4-E.1,5);
SetEchoInput(ei);
