GSoC 2018 - Week 7 - Continuing with transolve Part-IV01 Jul 2018
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_swas removed because
solvesetalready has a loop and since
_transolveis called within the loop therefore there won’t be a case where there would be more than one argument in
pow_type()was created to handle power type equations in
_transolvebut 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_classfrom the previous
Discussions with Amit and Chris led to the conclusion that
_transolveshould 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
_transolveshould raise an error for equations that
solvesetcan 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.