# Revision history [back]

### Trouble defining polynomial ring over Guassian 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?

### Trouble defining polynomial ring over Guassian 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 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? 9.4?

 3 None slelievre 17674 ●22 ●160 ●349 http://carva.org/samue...

### Trouble defining polynomial ring over Guassian 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?

### Trouble defining polynomial ring over Guassian 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.

### 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.error. Is this maybe a bug in SageMath 9.4? Does the same happen in SageMath 9.5?