Opened 13 years ago
Last modified 6 years ago
#6119 new enhancement
deprecate taylor() in favor of series()
Reported by:  Robert Bradshaw  Owned by:  Burcin Erocal 

Priority:  major  Milestone:  sage6.4 
Component:  calculus  Keywords:  
Cc:  KarlDieter Crisman, Ralf Stephan  Merged in:  
Authors:  Ralf Stephan  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  u/rws/deprecate_taylor___in_favor_of_series__ (Commits, GitHub, GitLab)  Commit:  46c8e43e3f9982bfd1a2516bd59529839062499d 
Dependencies:  pynac0.7.4  Stopgaps: 
Description (last modified by )
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 pynacbased 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.
Change History (15)
comment:1 Changed 12 years ago by
Cc:  KarlDieter Crisman added 

Report Upstream:  → N/A 
comment:2 Changed 11 years ago by
Description:  modified (diff) 

Milestone:  sage4.7.1 → sage4.7.2 
Summary:  implement taylor series without maxima → deprecate taylor() in favor of series() 
comment:3 followups: 9 13 Changed 11 years ago by
As I say in #9555, I think that changing the .taylor()
method so that it calls a suitably Tayloronly version of the .series()
method is preferable, especially since the global name taylor()
should really be kept.
comment:4 Changed 9 years ago by
Milestone:  sage5.11 → sage5.12 

comment:5 Changed 9 years ago by
Milestone:  sage6.1 → sage6.2 

comment:6 Changed 8 years ago by
Milestone:  sage6.2 → sage6.3 

comment:7 Changed 8 years ago by
Milestone:  sage6.3 → sage6.4 

comment:8 Changed 8 years ago by
Cc:  Ralf Stephan added 

See also http://sourceforge.net/p/maxima/bugs/2850/ where this comes up again.
comment:9 Changed 8 years ago by
As I say in #9555, I think that changing the
.taylor()
method so that it calls a suitably Tayloronly 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.
comment:10 Changed 6 years ago by
Branch:  → u/rws/deprecate_taylor___in_favor_of_series__ 

comment:11 Changed 6 years ago by
Commit:  → 46c8e43e3f9982bfd1a2516bd59529839062499d 

Is this deprecating or simply replacing? Sorry for being confused.
New commits:
46c8e43  6119: use fast series in taylor when possible

comment:12 Changed 6 years ago by
Authors:  → Ralf Stephan 

Dependencies:  → pynac0.7.4 
Too fast. The deprecation part is upcoming. The Maxima replacement depends on a bugfix in upcoming pynac0.7.4 for one doctest fail.
comment:13 Changed 6 years ago by
Replying to kcrisman:
As I say in #9555, I think that changing the
.taylor()
method so that it calls a suitably Tayloronly 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.
comment:14 Changed 6 years ago by
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.
comment:15 Changed 6 years ago by
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.
From comment:6:ticket:9555:
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:
https://bitbucket.org/burcin/pynac/issues