Opened 12 years ago

Last modified 12 years ago

#6036 closed defect

[with patch, needs review] a bug in polynomial() for PolynomialRing(GF(5),2) — at Version 3

Reported by: klee Owned by: Somebody
Priority: minor Milestone: sage-4.0
Component: basic arithmetic Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by klee)

This works:

sage: R.<x,y>=PolynomialRing(QQ,2)
sage: a=x^2+x*y+y
sage: a.polynomial(x)
x^2 + y*x + y

But this does not work:

sage: R.<x,y>=PolynomialRing(GF(5),2)
sage: a=x^2+x*y+y
sage: a.polynomial(x)
Traceback (most recent call last):
...
TypeError: 'tuple' object cannot be interpreted as an index 

I traced this bug, and found that

sage: B=QQ[x]
sage: print B({0:1,1:2})
2*x + 1
sage: print B({(0,):1,(1,):2})
2*x + 1
sage: B=GF(5)[x]
sage: print B({0:1,1:2})
2*x + 1
sage: print B({(0,):1,(1,):2})
Traceback (most recent call last):
...
TypeError: 'tuple' object cannot be interpreted as an index

I think the second form is not acceptable. Then the function remove_from_tuple() in sage.rings.polynomial.multi_polynomial.pyx should be revised as it output (1,) from (1,2) for example.

Change History (6)

comment:1 Changed 12 years ago by mabshoff

  • Component changed from algebra to basic arithmetic
  • Milestone changed from sage-4.0 to sage-4.0.1
  • Summary changed from a bug in polynomial() to a bug in polynomial() for PolynomialRing(GF(5),2)

Changed 12 years ago by klee

Changed 12 years ago by klee

comment:2 Changed 12 years ago by klee

  • Description modified (diff)
  • Summary changed from a bug in polynomial() for PolynomialRing(GF(5),2) to [with patch, needs review] a bug in polynomial() for PolynomialRing(GF(5),2)

comment:3 Changed 12 years ago by klee

  • Description modified (diff)

Changed 12 years ago by mhansen

Note: See TracTickets for help on using tickets.