GSoC Week 1
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.