Community Bonding Period - GSoC 2021

Since I was already familiar with SymPy, there was no need for me to get accustomed during the Community Bonding Period. I had my first meeting with my mentors Aaron, Oscar and Nijso on the 27th of May. We briefly discussed how the project could proceed in the next 1-2 weeks.

The entire solver would be done in a single PR #21459. During this time, some of the major things that I worked on were -

  1. Replace Expr with Poly as much as possible throughout the code.
  2. Create a function that returns coefficients of Laurent series for a rational function (instead of using sympy.series).
  3. Adding separate tests for each routine in riccati.py.

For now, some things that are left to fix are -

  1. The solver is failing to produce solutions for some equations with solution type a*x + b. For example, the solver gives no solutions for the ODE `y' = \frac{20 x^4 + 19 x^3 - 34 x^2 - 13 x + 12}{8 x^5 + 24 x^4 - 6 x^3 - 36 x^2 + 18 x} - 1/2 + \frac{2 y}{3 x} + \frac{2 y^2}{9}`
  2. For some ODEs, the solver is unable to find solutions when simplification of an expression is not done in an intermediate step. However, simplifying the expression is not very straightforward, so this needs to be discussed.
  3. More work is left to make the functions faster. A technique must be developed to keep track of the domains for Poly objects so that conversion is much faster.

I would be taking a break for a week since I have my exams coming up. I will resume work on the 15th of June. Keep visiting the blog to stay up-to-date!