Opened 2 years ago

#22201 new enhancement

Further series speed improvements

Reported by: rws Owned by:
Priority: major Milestone: sage-7.6
Component: symbolics Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:


This is a followup on #14878. There, the GiNaC series code was improved speedwise in many holonomic cases. However, there is still the possibilty of huge slowdown in the other holonomic cases, and of course in all non-holonomic and multivariate cases. Moreover it appears Maxima is actually faster with composite expressions of this type.

So, it makes sense to completely abandon the original GiNaC series code, and use Pynac useries with Maxima as fallback.

Example where Maxima is faster than GiNaC:

sage: f=5/(e^(1/256*z*(sqrt(5) + I*sqrt(2*sqrt(5) + 10) - 1)^4) + e^(1/64*z*(sqrt(5) + I*sqrt(2*sqrt(5) + 10) - 1)^3) + e^(1/16*z*(sqrt(5) + I*sqrt(2*sqrt(5) + 10) - 1)^2) + e^(1/4*z*(sqrt(5) + I*sqrt(2*sqrt(5) + 10) - 1)) + e^z)
sage: %time _=f.series(z,20)
CPU times: user 6.88 s, sys: 99.7 ms, total: 6.98 s
Wall time: 6.79 s
sage: %time _=f.taylor(z,0,20)
CPU times: user 600 ms, sys: 19.6 ms, total: 620 ms
Wall time: 619 ms

Change History (0)

Note: See TracTickets for help on using tickets.