Opened 10 years ago
Closed 5 years ago
#11055 closed defect (wontfix)
Bug in mapping to residue fields
Reported by: | cremona | Owned by: | davidloeffler |
---|---|---|---|
Priority: | major | Milestone: | sage-duplicate/invalid/wontfix |
Component: | number fields | Keywords: | residue field |
Cc: | was, justin, ylchapuy | Merged in: | |
Authors: | Reviewers: | John Cremona | |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
See #9417:
sage: K.<a> = NumberField(x^2+18*x+1) sage: P = K.ideal(2) sage: F = K.residue_field(P) sage: R = PolynomialRing(F, 'x') sage: R([0, a, a, 1]) x^3 + abar*x^2 + abar*x sage: F(a) 1 sage: a.minpoly() x^2 + 18*x + 1 sage: F.gen() abar sage: F.gen().minpoly() x^2 + x + 1
The polynomial x^3+a*x^2+a*x
reduced modulo P=(2) wrongly to x^3+abar*x^2+abar*x
. Although the generator of the residue field F is suggestively called abar, it it *not* the reduction of a mod P (which is 1 mod P).
Change History (12)
comment:1 Changed 10 years ago by
- Cc ylchapuy added
comment:2 Changed 10 years ago by
see my comments on #9389
polynomial_zz_pex.pyx is not intended to be used for this base ring (maybe it could but it wasn't thought like this). The constructor of the univariate polynomials ring should be more careful.
And I'm sorry, but I won't have time to do this myself.
comment:3 Changed 10 years ago by
Thanks for reporting back. I'll try to fix this myself, but in any case I was able to use a simple workaround.
comment:4 Changed 7 years ago by
- Milestone changed from sage-5.11 to sage-5.12
comment:5 Changed 7 years ago by
- Milestone changed from sage-6.1 to sage-6.2
comment:6 Changed 7 years ago by
- Milestone changed from sage-6.2 to sage-6.3
comment:7 Changed 6 years ago by
- Milestone changed from sage-6.3 to sage-6.4
comment:8 Changed 5 years ago by
fixed?
comment:9 follow-ups: ↓ 10 ↓ 11 Changed 5 years ago by
With 6.9.beta3 I see this:
K.<a> = NumberField(x^2+18*x+1) sage: P = K.ideal(2) sage: F = K.residue_field(P) sage: R = PolynomialRing(F, 'x') sage: R([0, a, a, 1]) x^3 + x^2 + x
which shows that the original issue has been fixed, though I do not know where or when.
I cannot see the "won't fix" option but that is what this should now get.
comment:10 in reply to: ↑ 9 Changed 5 years ago by
- Milestone changed from sage-6.4 to sage-duplicate/invalid/wontfix
- Status changed from new to needs_review
Replying to cremona:
With 6.9.beta3 I see this:
K.<a> = NumberField(x^2+18*x+1) sage: P = K.ideal(2) sage: F = K.residue_field(P) sage: R = PolynomialRing(F, 'x') sage: R([0, a, a, 1]) x^3 + x^2 + xwhich shows that the original issue has been fixed, though I do not know where or when.
It might be #11239.
comment:11 in reply to: ↑ 9 Changed 5 years ago by
- Reviewers set to John Cremona
- Status changed from needs_review to positive_review
Replying to cremona:
I cannot see the "won't fix" option but that is what this should now get.
I agree.
comment:12 Changed 5 years ago by
- Resolution set to wontfix
- Status changed from positive_review to closed
Note that this is correct:
I think the problem lies in lines 94-108 of sage/rings/polynomial/polynomial_zz_pex.pyx, hence I am CC-int Yann L-C! Meanwhile I am using that work-around for #9417.