Hi Jogi, Sorry for the late reply, it has been a busy week for me. Thanks for your interest in this project. I definitely want `solveset` to overtake `solve` as quickly as we can.
- Regarding `transolve`, yeah the Lambert solver needs to be completed. There were few bivariate type equations that weren't able to pass in my PR #14972 <https://github.com/sympy/sympy/pull/14972>. I will add more comments there, and update you soon. - Regarding the modular equations, I think it will be a good idea to have `invert_modular`, I also liked the approach that is implemented in #14284 <https://github.com/sympy/sympy/pull/14284>, but some of the work needs to be done in terms of generalisation. - For set infrastructure, a good place to start with would be #11188 <https://github.com/sympy/sympy/pull/11188> and #12011 <https://github.com/sympy/sympy/pull/12011> and #16033 <https://github.com/sympy/sympy/pull/16033> (@oscargus made the PR recently you can probably work along with him). - Also as I try to recollect now, there were some discussions on to include BigUnion and BigIntersection. Refer: #9815 <https://github.com/sympy/sympy/issues/9815>, and some discussions in #14566 <https://github.com/sympy/sympy/issues/14566>. It definitely needs a discussion on their addition. Probably you can add your thoughts on this. Apart from this, there are a lot of issues and PR's that are undone. I suggest you start off by fixing them one by one. Also, feel free to ask any of your doubts here. I will try to reply you as soon as I can. Cheers! Yathartha Joshi On Monday, March 4, 2019 at 2:50:39 PM UTC+5:30, Jogi Miglani wrote: > > Hello, > > As we know that the work for solvers i.e replacing solve with solveset is > being in progress from last four years. A lot of work has been done during > this period by Harsh Gupta(@hargup), Amit Kumar(@aktech), Kshitij > Saraogi(@kshitij10496), Shekhar Rajak(@Shekharrajak) and Yathartha > Joshi(@Yathartha22). I want to summarize whats left to be done. I want to > work on this project as I had quite a good experience with solvers and had > implemented solving specific type of exponential equation recently. > > Mainly three things are left to be done and the order in which it should > be done: > > 1. Transolve : > * Lambert Solver - It has been implemented and need to be passed some > tests which i am working on now. > * Modular Equation - I went through #13178 > <https://github.com/sympy/sympy/issues/13178> . It would be good to have > more discussion on how to implement this and the equations which come under > this. > * Extending transolve to complex domain - needs discussion and proper > plan of implementation. > > 2. Set Infrastructure(Image Set) : Many of the things depend on this in > solveset. So I think this should be the next task done after transolve > above. > > 3. Extending nonlinsove for trigonometric/transcedental equations. > > First of we I think we should discuss about Transolve to complete. > For lambert solver I think @Yathartha22, you should tell here that whats > exactly left to be done so that all can give suggestions. > For handling modular equations - @smichr, @asmeurer What do you think how > should we approach this? > Example > This problem is expected to return {100} > > n = symbols('n', integer=True) > a = 742938285 > z = 1898888478 > m = 2**31 - 1 > x = 20170816 > solveset(x – Mod(a**n*z, m), n, S.Integers) > > Above can be implemented in sympy as suggested by @smichr > > a = 742938285 > z = 1898888478 > m = 2**31 - 1 > x = 20170816 > arg = x*invert(z, m) > > n = discrete_log(m, arg, a) > > What do you think @smichr, @asmeurer here? Should we define (in the > solveset module) an _invert (modulo m) function by the model of > _invert_real and _invert_complex? > > Suggestions on rest of the points can also be given here. > > I request to mentors to please give suggestions and have a discussion on > this to proceed further. > > -- 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 sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/43a1c00f-3659-4a3c-a96b-9f136d06058a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.