Opened 5 years ago
Last modified 22 months ago
#15326 new defect
Polynomials exhibit strange behavior when seen in a different parent ring
Reported by: | davidamadore | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | sage-6.4 |
Component: | algebra | Keywords: | polynomials |
Cc: | jakobkroeker | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
When a polynomial is constructed from a certain polynomial ring and a different ring is constructed with the same indeterminates, Sage attempts to be smart and automatically convert elements of the old ring to the new ring (or something of the sort), but this smartness can cause very wrong behavior:
sage: R.<x,y> = PolynomialRing(QQ,['x','y'],order="deglex") sage: pol = x^2 + y + 42 sage: pol.degree(x) 2 sage: R.<x,y> = PolynomialRing(QQ,['x','y'],order="degrevlex") sage: pol in R True sage: pol == x^2+y+42 True sage: pol.degree(x) 1 sage: R(pol).degree(x) 2
I'm not sure why pol.degree(x) returns 1, but this is certainly wrong. An error message of the kind "pol is not a polynomial in x" would have been better than a wrong result.
Change History (4)
comment:1 Changed 5 years ago by
- Milestone changed from sage-6.1 to sage-6.2
comment:2 Changed 5 years ago by
- Milestone changed from sage-6.2 to sage-6.3
comment:3 Changed 4 years ago by
- Milestone changed from sage-6.3 to sage-6.4
comment:4 Changed 22 months ago by
- Cc jakobkroeker added
Note: See
TracTickets for help on using
tickets.
seems fixed meanwhile; needs a test?