Yathartha Joshi Open Source Enthusiast

GSoC 2018 - Week 11 - Continuing with logarithmic solver and implementing lambert solver

So this week I started up with implementing and sending a PR for lambert solver #14972. Solving these equations can be achieved by _solve_lambert routine of bivariate.py. It is really powerful and can solve a varied type of equations having a general form. Another routine comes into action, the bivariate_type to solve majorly lambert type of equations when the former is unable to solve. These two routines can be handy for implementing such equations. As of now I have added _solve_lambert() in the PR. I will add bivariate_type once the log solver PR gets finalised. There are few equations that can be solved by posifying the variable that needs to be solved. A bit discussion is needed on this part.

Apart from this, a lot of work was done in the log solver PR

  • _term_factors() is used again.

  • Logic for exponential identifying is modified to not identify lambert type equations

  • Few mores tests were added.

  • Chris advised to make identification helpers such that they identify their class even if they won’t get solved by their respective solvers, the equation should not be passed to any of the other helpers for further solving. This wasn’t the case before, the identifying helpers were implemented only for equations that their helpers could solve. So now this idea is implemented for both the exponential and logarithmic solver. Equations that these identifiers can’t identify will be further solved as lambert type.

Almost all the work of the log solver PR is done. I will be finishing the work on lambert solver PR and complete in coming week. I hope both the PR’s gets merged before the GSoC period ends.

Follow @Yathartha22