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.

Reply via email to