GSoC Week 1

by on under jekyll
1 minute read

I managed to finish the work I had planned and opened a PR. While I did not implement zeta function leading term method, I implemented erfi leading term method instead.

It turned out that determining when series should call aseries is not as straightforward as I had thought. The first step is determining whether a power series exists or not, which means all low level _eval_nseries should behave similarly in the cases where they raise errors. If a series expansion about x0 does not exist, then PoleError should be thrown. Once this is unified and all low level series methods agree, it should be possible to just catch this error when thrown and call aseries instead.

I also debugged #19453 - the root cause is this block of code. There is a rounding error and the sum of -0.33 and 0.33 returns -5.55111512312578e-17, instead of 0. This is something which cannot be fixed directly, so an alternative is calling the example in the issue with exact SymPy numbers like S.Half instead of 0.5.

Next, I will try to make some ammendments to the limits code. is_meromorphic does not catch all meromorphic functions, so such functions can probably be handled in a similar way using a try-catch block. This is the plan for next week, and if it finishes earlier, I will try fixing some more limits related issues.

gsoc, SymPy