"Source: Text/Ring/FldAb.text";
"Line: 129";
"Date: Fri Sep 26 12:10:11 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Ring/FldAb.text, line: 129
// Example: H41E1 ()
print "Example: H41E1";
ei := GetEchoInput();
SetEchoInput(true);
k := NumberField(Polynomial([ -6, 3, 1, 1 ]));
K := HilbertClassField(k);
K;
O := MaximalOrder(K);
O;
Discriminant(O);
g, m := ClassGroup(k);
g;m;
i := m(g.1);
I := O!!i;
IsPrincipal(I);
assert $1;
f,g := IsPrincipal(I);
g;
aK := AbelianExtension(m);
g, m := ClassGroup(k);
q, mq := quo<g | 2*g.1>;
m2 := Inverse(mq)*m;m2;
aK2 := AbelianExtension(m2);
Discriminant(aK);
O := MaximalOrder(aK2);O;
O!!m(g.1);
IsPrincipal($1);
assert not $1;
IsPrincipal($2^2);
assert $1;
SetEchoInput(ei);
