Hello!
I have discovered a little bug in GAP 3.4PL0:
gap> q := Indeterminate(Integers);
X(Integers)
gap> IsUnit(q^0);
false
The problem turns out to be that PolynomialRing(Integers).units gets
assigned the integers 1 and -1, not the polynomials 1*q^0, (-1)*q^0.
I therefore propose the following fix:
*** ring.g 1994/08/21 16:29:53 1.1 --- ring.g 1994/08/21 16:31:08 *************** *** 297,303 **** # add known units if IsBound(R.units) then ! P.units := Copy(R.units); fi; # set one and zero --- 297,303 ---- # add known units if IsBound(R.units) then ! P.units := List(R.units, u -> Polynomial( R, [u] )); fi;
# set one and zero
Harald
-- Harald Boegeholz | hwb@mathematik.uni-stuttgart.de | os2a@ftp.uni-stuttgart.de