GSoC 2018 - Week 3 - Continuing with transolve02 Jun 2018
I continued my work of week 2 in this week as well. Though I was travelling for 2-3 days, I was able to give most of the hours to the work dedicated for this week. I had to add a detailed descriptive documentation for
transolve, for this I read documentation of the
ode module as Amit and Harsh suggested, apart from this I read several other documentation of sympy modules. Made a commit regarding this in the PR.
As of now transolve supports solving majority of exponential equations.
I have also imported exponential tests of solve and added a few of mine. Some of them needs another look, I have added them to
XFAIL as of now. I am working on these tests to pass. Also done minor changes in the function, like removed
force=True option from
expand_log because using this option is not a healthy choice as the function expands logarithm without considering the assumptions (for exponents the variable should be real) which may sometime get a wrong result.
The idea is simple, we are mainly focusing on making it modular and extensible. So to achieve this different identifying and solving helpers will be implemented that will identify the type of equation and then solve it. For detailed information refer to the PR
Exponential equations are solved by using logarithms. Currently the
expo_solver reduces the equation to log form which can further be handled by solveset itself. For this purpose expand_log function of sympy is used which reduces the equation using log identities.
Take for example a simple exponential equation
3**(2*x) - 2**(x + 3), this equation can be reduced to
2*x*log(3) - (x+3)*log(2), this type of equation is easily solvable by
Once we approve on the documentation and the working of exponential solver I will proceed to implement logarithmic solver (probably in the coming week).
Hope things go as planned!!Follow @Yathartha22