"Source: Text/Geometry/RieSrf.text";
"Line: 1395";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/RieSrf.text, line: 1395
// Example: H127E15 ()
print "Example: H127E15";
ei := GetEchoInput();
SetEchoInput(true);
Qt<t> := PolynomialRing(Rationals());
K<s> := NumberField(t^3 + 43274/61569*t^2 + 1024/6841*t + 9122/6841);
Kxy<x, y> := PolynomialRing(K,2);
f := 1/26116*(9985*s^2 + 49265*s - 17877)*x^3*y^4 + 1/34512*(26093*s^2 - 
   6604*s + 46087)*x*y^4 + 1/23026*(22829*s^2 + 2142*s - 18264)*x*y + 
   1/46947*(5011*s^2 + 5883*s - 39463)*x + 1/85753*(2423*s^2 - 21329*s 
   + 41637);
sigma := InfinitePlaces(K)[1];
X := RiemannSurface(f, sigma : Precision := 50);
FF<v, w> := FunctionField(X);
D1 := &+SetToSequence(Set(Poles(v) cat Poles(w)));
D2 := &+InfinitePoints(X);
A1 := AbelJacobi(D1, X);
A2 := AbelJacobi(D2);
A1 := AbelJacobi(Divisor(v), X);
A2 := AbelJacobi(Divisor(w), X);
A3 := AbelJacobi(Divisor(s^2*v^2*w+v/w/3), X);
D := CanonicalDivisor(FF);
A := AbelJacobi(D, X : Reduction := "Complex");
char := Transpose(Matrix([[ 1/2 : j in [1..2*Genus(X)]]]));
Theta(char, A, SmallPeriodMatrix(X));
SetEchoInput(ei);
