#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.