Hi everyone!

My name is Muhammed Abdul Quadir Owais (GIT-LINK 
<https://github.com/MaqOwais>). I am interested in taking part in GSoC this 
year. I have been contributing to sympy since last year (was active around 
5 to 6 months) and for the same reason, I’ve pretty nice command over 
solveset module. I would like to discuss the solveset and solvers proposal 
for improving solvers more specifically the solveset.py module. 

The one-line description of this project in my view is,

“To make `solveset` function able to solve the equations as much as 
`solve`, 'linsolve' functions with its special features/attributes (like 
giving a complete and definite set of solutions along with the complex 
solutions which could return an infinite number of solutions,..) and this 
should be ultimately easily maintainable (with better structure and 
documentation).”

My step by step plan is,


1. Improving lambert for solveset along with solving transcendental 
equations(like lambert, exponential, etc..) in the complex domain. (On 
which I’m currently working and could be finished prior to GSoC). (PR #14972 
<https://github.com/sympy/sympy/pull/14972> → lambert pr 
<https://github.com/sympy/sympy/pull/21025>, pr for exp 
<https://github.com/sympy/sympy/pull/21130>) 

2. Improving nonlinsolve for trigonometric (PR#18489 
<https://github.com/sympy/sympy/pull/18489>)

3. Integration of helper solvers with solveset. So that solveset may give 
solutions for multiple variables also set infrastructure to be developed 
along the way!

(helper solvers →  linsolve, nonlinsolve, and solve_decomposition)

 

 

Further issues to be addressed are:

   1. 
   
   Improving `invert` function in case of the complex domain.
   
Currently, a lot of complex domain equations are not able to give 
solutions( whereas the real domain is able to give solutions) due to less 
development of the `invert` function

   1. 
   
   Solvify gives solutions ( as of solve function) with the help of 
   solveset but does cover only fewer cases when compared to solveset.
   
This is due to the fact that solvify doesn’t return solutions for 
intersection set so to cover this solvify should include cases for 
intersection set.

 

The major reference PR’s which are concerned with this GSoC:

   1. 
   
   https://github.com/sympy/sympy/issues/10006 → This is Replacing solve() 
   with solveset()
   2. 
   
   https://github.com/sympy/sympy/pull/18489 → for nonlinsolve for 
   trigonometric and Improving its set infrastructure 
   3. 
   
   https://github.com/sympy/sympy/issues/16861 → Proper solution of linear 
   equations with symbolic coefficients.
   

CREDITS: OSCAR BENJAMIN helped me a lot in understanding the solveset 
better also in current PR’s, in documentations even though I was a bit 
frustrating :)

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/97156809-340c-4d8f-9d67-0407ec993ee8n%40googlegroups.com.

Reply via email to