#11766: fast_callable always segfaults when input is a polynomial of large
degree
------------------------------------+---------------------------------------
Reporter: was | Owner: AlexGhitza
Type: defect | Status: positive_review
Priority: critical | Milestone: sage-5.0
Component: basic arithmetic | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers: boothby
Authors: Robert Bradshaw | Merged in:
Dependencies: | Stopgaps:
------------------------------------+---------------------------------------
Changes (by boothby):
* status: needs_review => positive_review
* reviewer: => boothby
Comment:
This works as advertised, but is slow on large input. I'd like to use
fast_callable with / instead of polynomial_compiled, but that doesn't look
promising so far since it takes so long to build the fast_callable.
{{{
sage: R.<x> = CC[]; f = R.random_element(degree=600000)
sage: time f(1)
63.7162567572333 - 243.107542673361*I
Time: CPU 1.62 s, Wall: 1.62 s
sage: time f(1)
63.7162567572333 - 243.107542673361*I
Time: CPU 1.59 s, Wall: 1.60 s
sage: time g = fast_callable(f,CC)
Time: CPU 32.33 s, Wall: 32.41 s
sage: time g(1)
63.7162567572333 - 243.107542673361*I
Time: CPU 0.74 s, Wall: 0.74 s
}}}
Here's a slightly more reasonable example.
{{{
sage: R.<x> = CC[]; f = R.random_element(degree=20000)
sage: time f(1)
67.4816349551299 + 91.7847423047406*I
Time: CPU 0.09 s, Wall: 0.09 s
sage: time f(1)
67.4816349551299 + 91.7847423047406*I
Time: CPU 0.05 s, Wall: 0.06 s
sage: time g = fast_callable(f,CC)
Time: CPU 0.38 s, Wall: 0.38 s
sage: time g(1)
67.4816349551299 + 91.7847423047406*I
Time: CPU 0.04 s, Wall: 0.04 s
sage:
}}}
This is not significantly slower than the old version, so I'm accepting
the patch
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11766#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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.