"Source: Text/Ring/RngOrd.text";
"Line: 1090";
"Date: Fri Sep 26 14:51:59 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Ring/RngOrd.text, line: 1090
// Example: H39E5 ()
print "Example: H39E5";
ei := GetEchoInput();
SetEchoInput(true);
pMaximalOverOrder := function(ord, p)
       ovr := MultiplicatorRing(pRadical(ord, p));
       print "index is", Index(ovr, ord);
       return (Index(ovr, ord) eq 1) select ovr else $$(ovr, p);
end function;
Round2 := function(E, K)
       // E should be some order of a number field K
       d := Discriminant(E);
       fact := Factorization(Abs(d));
       print fact;
       M := E;
       for x in fact do
            M := M+pMaximalOverOrder(E, x[1]);
       end for;
       print "index of equation order in maximal order is:", Index(M, E);
       return M;
end function;
R<x> := PolynomialRing(Integers());
K := NumberField(x^4-420*x^2+40000);
E := EquationOrder(K);
Round2(E, K);
SetEchoInput(ei);
