GSoC Week 1
The first week of the Coding period is now almost over. Though this post is quite late, I’ll try to post updates at the start of each week from now.
What makes my project so interesting (and challenging!) is that I need to work on two separate code bases- SymPy and Symengine. After discussing with Ondrej, I have started the part of my project related to SymPy.
Following are the goals of Phase I:
- Complete
ring_series
: There is already a partial implementation ofring_series
in SymPy. I will add more elementary and user functions, so that it has similar capabilities as theseries
function. - Write a class structure on top of
ring_series
so that the user need not bother about calling separate functions for each function.
So far
My main task, this week, was to port PR
609 into ring_series
. I have,
hence been working on PR 9262. I am
done porting most elementary functions and writing their tests, with the
exception of rs_nth_root
and rs_cot
.
A major issue that cropped up while writing tests is concerning Laurent series.
As of now, polys
do not accept negative exponents. I will either need to
rewrite poly rings
to accept negative exponents or modify operations so that
they can use the present poly
structure to handle negative exponents.
Next Week
My targets for the next week are:
- Make
ring_series
handle Laurent series. - Polish PR 9262 and get it merged. It has already grown big. I will probably need to send another PR.
- Discuss a class structure for series expansion and send a PR for it.
- Start working on the hashtable for Symengine with Sumith
Looking forward to another exciting week.
Cheers!
Enjoy Reading This Article?
Here are some more articles you might like to read next: