GSoC 2018 Report Yathartha Joshi: Solvers: Completing Solveset - sympy/sympy GitHub Wiki

This page summarises the work that I have done during the GSoC period along with the links to PR's submitted in chronological order. See my blog for the weekly progress of the project.

About Me

My name is Yathartha Joshi and I am an undergrad in Computer Science and Engineering.

Project Overview

The project mainly focused on improving the coverage of solving equations by solveset. For this purpose transolve was implemented. This routine would help solveset solve transcendental equations.

Pull Requests

  1. Implementing transolve(): a transcendental equation solver for solveset and exponential solver as part of the transolve This was the main PR where the API and design for transolve was discussed. Handling of equations coming from solveset, API and design for the helper solvers and the documentation were discussed and implemented. Also exponential equation solver was implemented from scratch.

  2. Specifying domain when calling solveset in calculus.singualrities Minor fix while calculating singularities.

  3. Implementing logarithmic solver in transolve This was yet another PR that dealt with the implementation of log solver for transolve as a helper routine. This PR also included changes in the working of the exponential equation

  4. added explicit check to see if base of an exponential equation is zero This was a fix done in the existing code. Before this exponential equations were evauated (in invert_real) without checking the base being zero. This caused problems in solving symbolic expressions.

Work under development

  1. Implementing lambert solver as part of transolve This is another helper solver for solving lambert type equations. This implementation will complete the coverage of equations handled by solveset.

Conclusion

Most of the things have been covered during the SoC period, things that remain will be continued by me post GSoC and I hope this report will be useful for whosoever wishes to contribute in solvers.solveset module in future. Following is a list that comprises of all the ideas which can extend my GSoC project.

  1. Implementing BigUnion and BigInterSection.
  2. Integrating helper solvers within solveset: linsolve, solve_decomposition, nonlinsolve
  3. Ability to solve modular equations with integer solutions.