1. Wire Lambert equations into _transolve _is_lambert() exists in solveset.py and _solve_lambert() exists in bivariate.py, but _transolve's add_type() never calls either. solveset() returns an unsolved ConditionSet for Lambert-type equations — the old solve() handles them correctly via _solve_lambert in bivariate.py, but solveset() has no such path. The work is wiring these into _transolve.
On running:- from sympy import *
x = symbols('x')
print(solveset(x*exp(x) - 1, x, S.Reals))
2. nonlinsolve trig failures — issue #8711 nonlinsolve separates equations into polys and nonpolys. Trig equations fall into nonpolys and are handed to substitution(), which fails for systems like [sin(x) + cos(y), x + y - pi/2]. There is no trig-system detection in nonlinsolve. The plan is to add a trig-system detector and implement Weierstrass substitution (t = tan(x/2)) to reduce such systems to rational polynomial form.
3. Integrate helper solvers into solveset solveset() raises ValueError for any list input — there is no multivariate dispatch. The plan is to add dispatch so solveset([eq1, eq2], [x, y]) routes to linsolve or nonlinsolve. Also wire solve_decomposition into _transolve for f(g(x)) = 0 type equations — it currently exists as a completely standalone function with no connection to _transolve.
4. Complete multivariate ImageSet ImageSet accepts multi-arg Lambda structurally, but _contains has documented gaps in the source itself (XXX comments), and _solveset_multi which it calls internally is explicitly marked "not ready for public consumption." The work is making _contains, intersect, and is_subset fully reliable for tuple-valued sets.
On modular (#13178): The wiki lists this as a TODO but _is_modular() and _solve_modular() are already implemented and wired in _solveset. can any mentor please clarify on what specifically remains here.
Beyond this if something missed by me or i doesn't shows in this i requested mentor for adding additional things which I was lacking for and give me a green signal for starting and imposing this.
I am genuinely interested in working on this specific idea for GSoC. I would like to ask whether any mentor Shekhar, Oscar Benjamin, Aaron Meurer, or others would be willing to guide me on this project and help refine the scope so that I can start contributing meaningfully.
If this idea is already saturated or not currently a priority, I would greatly appreciate guidance on whether I should explore other ideas.
My prior SymPy contributions include:-
1.Add Mul postprocessor for Vector
2.Fix nonlinsolve incorrectly handling Interval solutions
3.Fix nonlinsolve KeyError with trivially true equations
4. Fix nonlinsolve returning wrong results for non-zero constants
5. Fix nonlinsolve returning incorrect parametric solution with Abs
Any recommendations or advice on how to approach the project would be greatly valued.
Looking forward to your response.
Thanks & Best Regards,
Ayush Kumar Jha (jhaayushkumar)