Ask Your Question
1

Mysterious behavior for quotient rings and cover()

asked 2014-01-18 01:49:36 -0500

jeremy9959 gravatar image

updated 2014-01-18 02:00:12 -0500

tmonteil gravatar image

I don't understand this:

R.<T,U>=PolynomialRing(QQ)
Q=R.quo((T^2)) 
pi=Q.cover() 
pi(T)

-- returns Tbar

However:

R.<T>=PolynomialRing(QQ)
Q=R.quo((T^2))
pi=Q.cover()
pi(T)

-- returns an error.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
1

answered 2014-01-18 02:05:39 -0500

tmonteil gravatar image

updated 2014-01-18 02:14:48 -0500

In the first case, your R is of type

sage: type(R)
<type 'sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular'>

In the second case,

sage: type(R)
<class 'sage.rings.polynomial.polynomial_ring.PolynomialRing_field_with_category'>

Unfortunately, those univariate polynomial rings do not offer the .cover() method.

I agree that univariate polynomials should inherit from features of multivariate polynomials, but this is currently not the case.

Here is a tricky workaround: define your univariate polynomial ring as a multivariate polynomial ring with one variable !

sage: R.<T>=PolynomialRing(QQ, 1) ; R
Multivariate Polynomial Ring in T over Rational Field
sage: Q=R.quo((T^2))
sage: pi=Q.cover()
sage: pi(T)
Tbar
edit flag offensive delete link more

Comments

I guess when I wrote that I didn't understand it, I really meant: how can it be acceptable that a polynomial ring in one variable is not an instance of a polynomial ring in n variables?

jeremy9959 gravatar imagejeremy9959 ( 2014-01-18 02:24:59 -0500 )edit

@tmonteil maybe open a ticket for this.

ppurka gravatar imageppurka ( 2014-01-18 06:30:17 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2014-01-18 01:49:36 -0500

Seen: 57 times

Last updated: Jan 18 '14