Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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?

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?