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