There are only two weeks before student application portal opens
and I would like to discuss my ideas regarding "Series expansion" project.
Here is what SymPy currently does:-
series:-
1) General expansion with O term appended
2) No separate functions for taylor, laurent, asymptotic etc.
3) Cannot provide a generating function or an infinite series representation
4) Bugs when expansion point is other than zero
For 3) we need to implement Formal Power Series
Formal Power Series:
Other CAS like Maple, Mathematica have this functionality and we must
also have it.
This has two parts:
1) Give a formula or sequence and get the infinite series
2) Give a function and get the infinite series
Once we get the infinite series, we can do various operations on it.
Main points:
1) Representation of infinite sum. Is there a way to represent
summation yet in SymPy?
2) Implement algorithm that can create a generating function given an
expression.
This paper gives such an algorithm:
http://www.mathematik.uni-kassel.de/~koepf/Publikationen/SC-93-31.pdf
It uses recurrence relations and differential equations to do so.
I'm currently going through it
and understanding it.
Asymptotic Expansion:
Many special and elementary functions do not have it implemented. I
plan to do
it for all whose expansion is possible.
In general also SymPy does not do it properly.
For e.g.:-
series(sin(1/x+exp(-x))-sin(1/x), x, oo, 2) currently gives
O(1/x**2)
It can be better expanded as:-
1/exp(x) - 1/(2*exp(x)*x**2) + O(1/(exp(x)*x**4))
The following paper gives an algorithm to find such an asymptotic
expansion:
A new algorithm for computing asymptotic series by "Dominik Gruntz"
Main points:
1) When to do an asymptotic expansion?
Currently, series just replaces x->1/x and oo->0 and does normal
series expansion on the project.
Order Term arithmetic:
This PR by @skirpichev currently deals with it:
https://github.com/sympy/sympy/pull/2427
I'll be more than happy to work on it and extend it.
Please reply to give your opinion. Thank You!
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sympy/af766c64-f73e-46aa-8b00-393fb9ca82ac%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.