Skip to content

Further series speed improvements #22201

@rwst

Description

@rwst

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

Component: symbolics

Issue created by migration from https://trac.sagemath.org/ticket/22201

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions