Trouble defining polynomial ring over Gaussian integers
Hello,
I would like to define a polynomial ring over ZZ[I]
, e.g. like this:
sage: R.<x> = PolynomialRing(ZZ[I])
If I run this on sage 9.4 I get the following:
sage: R
Univariate Polynomial Ring in x over Order in Number Field in I0 with defining polynomial x^2 + 1 with I0 = 1*I
If I now try to define a polynomial with complex coefficients I get:
sage: f = I*x
TypeError: unsupported operand parent(s) for *: 'Number Field in I with defining polynomial x^2 + 1 with I = 1*I' and 'Univariate Polynomial Ring in x over Order in Number Field in I0 with defining polynomial x^2 + 1 with I0 = 1*I'
On SageMath version 9.0 I do not get the same error. Instead it says:
sage: R
Univariate Polynomial Ring in x over Order in Number Field in I with defining polynomial x^2 + 1 with I = 1*I
and i have no issues defining f = I*x
. How do I resolve this issue in SageMath version 9.4?
Edit: I have done some further investigation, and the problem lies with this I0
in
sage: ZZ[I]
Order in Number Field in I0 with defining polynomial x^2 + 1 with I0 = 1*I
What is the difference between I0
and I
and how do I work with it? Simply typing f = I0 * x
also results in an error. Is this maybe a bug in SageMath 9.4? Does the same happen in SageMath 9.5?