#19956: elements of finite field algebraic closure are not hashable
-------------------------------------+-------------------------------------
       Reporter:  vdelecroix         |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-7.1
      Component:  finite rings       |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Vincent Delecroix  |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/vdelecroix/19956                 |  4f4f231e4605f01f029fefd1889359df7fe88262
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------
Description changed by vdelecroix:

Old description:

> We have
> {{{
> sage: K = GF(2).algebraic_closure()
> sage: a = K.an_element()
> sage: hash(a)
> Traceback (most recent call last):
> ...
> TypeError: ...
> }}}
> and this prevent resultant computation of bivariate polynomials
> {{{
> sage: R.<x,y> = K[]
> sage: x.resultant(y)
> Traceback (most recent call last):
> ...
> TypeError: ...
> }}}
>
> ------
>
> Just as a remark, the hash we had in sage-6.8 was '''completely''' broken
> {{{
> sage: F = GF(2).algebraic_closure()
> sage: z3 = F.gen(3)
> sage: z2 = F.gen(2)
> sage: hash(z2)
> 15616093818140894
> sage: hash(z3+z2-z3)
> 5386247743066594243
> }}}
> But thanks to #19016 the error now shows up!

New description:

 We have
 {{{
 sage: K = GF(2).algebraic_closure()
 sage: a = K.an_element()
 sage: hash(a)
 Traceback (most recent call last):
 ...
 TypeError: ...
 }}}
 and this prevent resultant computation of bivariate polynomials
 {{{
 sage: R.<x,y> = K[]
 sage: x.resultant(y)
 Traceback (most recent call last):
 ...
 TypeError: ...
 }}}

 On the way we also provide a straightforward faster powering.
 ------

 Just as a remark, the hash we had in sage-6.8 was '''completely''' broken
 {{{
 sage: F = GF(2).algebraic_closure()
 sage: z3 = F.gen(3)
 sage: z2 = F.gen(2)
 sage: hash(z2)
 15616093818140894
 sage: hash(z3+z2-z3)
 5386247743066594243
 }}}
 But thanks to #19016 the error now shows up!

--

--
Ticket URL: <http://trac.sagemath.org/ticket/19956#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to