#16894: bug in is_square over number fields
-------------------------------------------------+-------------------------
       Reporter:  cremona                        |        Owner:
           Type:  defect                         |       Status:  new
       Priority:  major                          |    Milestone:  sage-6.4
      Component:  number fields                  |   Resolution:
       Keywords:                                 |    Merged in:
        Authors:                                 |    Reviewers:
Report Upstream:  Fixed upstream, but not in a   |  Work issues:
  stable release.                                |       Commit:
         Branch:                                 |     Stopgaps:
   Dependencies:                                 |
-------------------------------------------------+-------------------------
Description changed by jdemeyer:

Old description:

> A precision bug in pari 2.7.1 causes this:
> {{{
> sage: K.<a> = QuadraticField(22)
> sage: u = 42*a - 197 # fundamental unit
> sage: D = u^14
> sage: D.is_square()
> MemoryError: Unable to allocate 327680000000 bytes for the PARI stack
> (instead, allocated 262144000000 bytes)
> }}}
> This was reported upstream (to Karim Belabas) who fixed it in pari's main
> development branch 2.8.*.  It would be good to get the bug fix into Sage
> sooner.
>
> From Karim's email:
>
> {{{
> Not a memory issue indeed. The low-level function from the polroots
> module that (sharply) estimates the largest modulus of a polynomial
> T can't handle the case T(0) = 0 (nor the case where T is constant,
> but that's not the issue here...).
>
> It never occurs in the original context of polroots(), but it can occur
> in the context of nfroots / nffactor that call it with T := the image
> through the successive complex embeddings of our algebraic polynomial.
>
> Fixed in master (2.8.*). Thanks for your report !
> }}}

New description:

 A precision bug in pari 2.7.1 causes this:
 {{{
 sage: K.<a> = QuadraticField(22)
 sage: u = 42*a - 197 # fundamental unit
 sage: D = u^14
 sage: D.is_square()
 MemoryError: Unable to allocate 327680000000 bytes for the PARI stack
 (instead, allocated 262144000000 bytes)
 }}}
 This was reported upstream: [http://pari.math.u-bordeaux.fr/archives/pari-
 users-1406/msg00006.html]

 Upstream fixed this in their git master:
 {{{
 Not a memory issue indeed. The low-level function from the polroots
 module that (sharply) estimates the largest modulus of a polynomial
 T can't handle the case T(0) = 0 (nor the case where T is constant,
 but that's not the issue here...).

 It never occurs in the original context of polroots(), but it can occur
 in the context of nfroots / nffactor that call it with T := the image
 through the successive complex embeddings of our algebraic polynomial.

 Fixed in master (2.8.*). Thanks for your report !
 }}}

--

--
Ticket URL: <http://trac.sagemath.org/ticket/16894#comment:1>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to