"Source: Text/Module/ModDed.text";
"Line: 717";
"Date: Fri Sep 26 12:10:11 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Module/ModDed.text, line: 717
// Example: H61E5 ()
print "Example: H61E5";
ei := GetEchoInput();
SetEchoInput(true);
P<x> := PolynomialRing(Rationals());
P<y> := PolynomialRing(P);
F<c> := FunctionField(y^3 - x^3*y^2 + y - x^7);
M := MaximalOrderFinite(F);
Vs := RSpace(M, 2);
s := [Vs | [1, Random(M, 3)], [Random(M, 3), 3]];
Mods := Module(s);
qMods := quo<Mods | Mods!s[2]>;
Basis(Mods);
Basis(qMods);
PseudoBasis(Mods) eq PseudoBasis(qMods);
Vs := RModule(M, 2);
s := [Vs | [Random(M, 3), Random(M, 3)], [2, 3]];
Mods := Module(s);
sMods := sub<Mods | Mods!s[1]>;
Mods meet sMods;
ElementaryDivisors(Mods, sMods);
Dual(Mods);
Dual(sMods);
SteinitzClass(Mods) eq SteinitzClass(sMods);
assert not $1;
SteinitzForm(Mods);
SteinitzForm(sMods);
SetEchoInput(ei);
