"Source: Text/Ring/FldFunAb.text";
"Line: 1308";
"Date: Fri Sep 26 12:10:11 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Ring/FldFunAb.text, line: 1308
// Example: H47E6 ()
print "Example: H47E6";
ei := GetEchoInput();
SetEchoInput(true);
k<w> := GF(4);
kt<t> := PolynomialRing(k);
kty<y> := PolynomialRing(kt);
F := FunctionField(y^3+w*t^5+w*t);
Genus(F);
assert $1 eq 1;
ClassNumber(F);
assert $1 eq 3;
p := InfinitePlaces(F)[1];
Degree(p);
assert $1 eq 1;
A, D := AnalyticDrinfeldModule(F, p);
H<h> := CoefficientRing(D);
A;
D;
Sign(A, p);
assert $1 eq 1;
Valuation(A, p);
assert $1 eq -2;
b := F!t;
Extend(D, b, p);
P := Places(F, 2)[1];
a,b := TwoGenerators(P);
GCD(Extend(D, a, p), Extend(D, b, p));
Polynomial($1);
R := FunctionField($1 div Parent($1).1);
R;
f := MinimalPolynomial(R.1, F);
Degree(f);
assert $1 eq 45;
Ra := FunctionField(f:Check := false);
NormGroup(Ra:Cond := 1*p+P);
D, sub_group := $1;
W := AbelianExtension(D, sub_group);
W;
FunctionField(W);
WW := $1;
[HasRoot(Polynomial(Ra, x)) : x in DefiningPolynomials(WW)];
SetEchoInput(ei);
