Yathartha Joshi Open Source Enthusiast

GSoC 2018 - Week 7 - Continuing with transolve Part-IV

This week I continued to work on finalising the design of the _transolve. Following were the things discussed and implemented:

  • The loop over the rhs_s was removed because solveset already has a loop and since _transolve is called within the loop therefore there won’t be a case where there would be more than one argument in rhs_s inside _transolve.

  • pow_type() was created to handle power type equations in _transolve but it turns out that power type equations will be handled in the _invert() itself, so it was repetitive to add again.

  • The names of the solving helpers were improved to _solve_class from the previous _class_solver.

  • Discussions with Amit and Chris led to the conclusion that _transolve should be completely made an internal function of solveset, i.e. it should not be used as an independent function. At first the thought was that it can be used as an independent function, but this created a problem of the code being repeated as that of solveset, so Chris suggested that _transolve should raise an error for equations that solveset can handle, but again this created problem, it would make unnnecessary complications in the code as we need to be very specific as to when and where raise an error.

  • We decided to have same arguments for all the helpers. Be it identification or solving helper, both will take the equation and the variable as their arguments, with the choice that the helper can ignore to use any of the argument if not needed.

  • There were a lot of improvement in the documentation as the design changed.

Apart from these changes work in implementing log solver is going on in parallel.

Follow @Yathartha22