Open robertwb opened 15 years ago
From #9555 comment:6:
The taylor() method is cruft left over from pre-pynac symbolics. We should deprecate it in favor of the series() method. It's perfectly acceptable to give Puiseux series as a result of a call to .series(). I expect this to be done in #6119, where we add an algorithm= option to .series(). The default behavior can be to call pynac and fall back to maxima if that returns an error.
In short, we should change this ticket to cover this transition. Series expansions in Pynac need more work to match what maxima does. That should be tracked on the pynac issue tracker:
Description changed:
---
+++
@@ -1 +1,5 @@
-Ginac has series about zero, it should be easy to shift to get the series about any point.
+Symbolic expressions have two methods to obtain series expansions. The `taylor()` method is a wrapper around maxima's `taylor` command. The result of this is not always a Taylor series, which leads to confusions.
+
+The `series()` method was introduced in the pynac-based symbolics. ATM, it is a thin wrapper around GiNaC series expansions. This also plays well with the symbolic functions, etc. introduced based on Pynac/GiNaC.
+
+We should deprecate the `taylor()` method and add an `algorith=` argument to `series()`. The default behavior can be to call GiNaC and fall back to maxima if that fails.
As I say in #9555, I think that changing the .taylor()
method so that it calls a suitably Taylor-only version of the .series()
method is preferable, especially since the global name taylor()
should really be kept.
See also http://sourceforge.net/p/maxima/bugs/2850/ where this comes up again.
As I say in #9555, I think that changing the
.taylor()
method so that it calls a suitably Taylor-only version of the.series()
method is preferable, especially since the global nametaylor()
should really be kept.
And I'm quoted at this SO comment though I still have to think more about how we should solve this.
Is this deprecating or simply replacing? Sorry for being confused.
New commits:
46c8e43 | 6119: use fast series in taylor when possible |
Author: Ralf Stephan
Too fast. The deprecation part is upcoming. The Maxima replacement depends on a bugfix in upcoming pynac-0.7.4 for one doctest fail.
Dependencies: pynac-0.7.4
Replying to @kcrisman:
As I say in #9555, I think that changing the
.taylor()
method so that it calls a suitably Taylor-only version of the.series()
method is preferable, especially since the global nametaylor()
should really be kept.
Just rereading. So maybe we already have finished the ticket? If so, please review.
Nah, I think it is better to do some form of deprecation warning rather than a totally silent change, though I think that keeping taylor as giving taylor only would be plausible too.
Maxima is still faster than GiNaC in the cases with irrational coefficients so we will have to use GiNaC/Pynac for both series
and taylor
only in the rational case.
Symbolic expressions have two methods to obtain series expansions. The
taylor()
method is a wrapper around maxima'staylor
command. The result of this is not always a Taylor series, which leads to confusions.The
series()
method was introduced in the pynac-based symbolics. ATM, it is a thin wrapper around GiNaC series expansions. This also plays well with the symbolic functions, etc. introduced based on Pynac/GiNaC.We should deprecate the
taylor()
method and add analgorith=
argument toseries()
. The default behavior can be to call GiNaC and fall back to maxima if that fails.Dependencies: pynac-0.7.4
CC: @kcrisman @rwst
Component: calculus
Author: Ralf Stephan
Branch/Commit: u/rws/deprecate_taylor_in_favor_of_series @
46c8e43
Issue created by migration from https://trac.sagemath.org/ticket/6119