diff --git a/hpcgap/lib/ringpoly.gi b/hpcgap/lib/ringpoly.gi index 64502a72c5..e68c49c3f0 100644 --- a/hpcgap/lib/ringpoly.gi +++ b/hpcgap/lib/ringpoly.gi @@ -635,7 +635,7 @@ InstallMethod(StandardAssociateUnit, function(R,f) local c; c:=LeadingCoefficient(f); - return StandardAssociateUnit(CoefficientsRing(R),c); + return StandardAssociateUnit(CoefficientsRing(R),c) * One(R); end); InstallMethod(FunctionField,"indetlist",true,[IsRing,IsList], diff --git a/lib/ratfunul.gi b/lib/ratfunul.gi index 352b6b4cdf..cd4c033922 100644 --- a/lib/ratfunul.gi +++ b/lib/ratfunul.gi @@ -1031,7 +1031,7 @@ InstallMethod(StandardAssociateUnit,"laurent", IsCollsElms,[IsPolynomialRing, IsLaurentPolynomial],0, function(R,f) # get standard associate of leading term - return StandardAssociateUnit(CoefficientsRing(R), LeadingCoefficient(f)); + return StandardAssociateUnit(CoefficientsRing(R), LeadingCoefficient(f)) * One(R); end); ############################################################################# diff --git a/lib/ringpoly.gi b/lib/ringpoly.gi index b973d4f271..92578c7a3e 100644 --- a/lib/ringpoly.gi +++ b/lib/ringpoly.gi @@ -633,7 +633,7 @@ InstallMethod(StandardAssociateUnit, function(R,f) local c; c:=LeadingCoefficient(f); - return StandardAssociateUnit(CoefficientsRing(R),c); + return StandardAssociateUnit(CoefficientsRing(R),c) * One(R); end); InstallMethod(FunctionField,"indetlist",true,[IsRing,IsList], diff --git a/tst/testinstall/associate.tst b/tst/testinstall/associate.tst index 59c405f0fc..858a4751ad 100644 --- a/tst/testinstall/associate.tst +++ b/tst/testinstall/associate.tst @@ -1,4 +1,4 @@ -#@local checkStandardAssociate +#@local checkStandardAssociate, A, x, R gap> START_TEST("associate.tst"); # test StandardAssociate, StandardAssociateUnit, IsAssociated @@ -48,5 +48,13 @@ true gap> checkStandardAssociate(Integers mod ((2*3*5*7)^3)); true +# polynomial rings +gap> for A in [ GF(5), Integers, Rationals ] do +> for x in [1,3] do +> R:=PolynomialRing(A, x); +> checkStandardAssociate(R, List([1..30],i->PseudoRandom(R))); +> od; +> od; + # gap> STOP_TEST("associate.tst", 1);