GSoC 2018 - Week 7 - Continuing with transolve Part-IV
01 Jul 2018This 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 becausesolvesetalready 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 inrhs_sinside_transolve. -
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_class_solver. -
Discussions with Amit and Chris led to the conclusion that
_transolveshould be completely made an internal function ofsolveset, 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 ofsolveset, so Chris suggested that_transolveshould raise an error for equations thatsolvesetcan 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.