Amit, This sounds good. You should move this content to the SymPy wiki and use it as a starting point for your application submission.
Jason moorepants.info +01 530-601-9791 On Thu, Feb 5, 2015 at 10:38 AM, AMiT Kumar <[email protected]> wrote: > Hi, > I am AMiT Kumar, I would be GSoC Applicant to SymPy this year. I have been > following the SymPy Community for quite sometime now and have also got > around 11-12 patches Merged in the Code base. So, now, I have got a decent > idea of `How things works`. > > I would like to work on Solvers as Mentioned on the Ideas Page. Last year > Harsh Gupta did a very good job by Rewriting the Univariate solvers > (solveset.py), I have gone through his work. After having conversation with > him and digging into solveset, I got to know there is still a lot of work > which needs to be done. > > I could see a couple of entry points on the Ideas page: > https://github.com/sympy/sympy/issues/8725 (I have Merged a PR for this) > https://github.com/sympy/sympy/issues/8711 (Replace all internal solve() > calls with solveset() ): TODO > > Things, I would like to implement in solveset includes: > > Multivariate Equation solving: > > I think for solving multivariate equations, the order of variables should > be given as input, so that we don't need to have a dict as output and we > can return Set, as if we automatically detect variables, we need to output > the dict of results. > > - Multivariate functions with non point solution: (solvemv) > - > > In [0] solveset((x - 1)*(y - 2), (x, y)) > Out[1] {{1, arbitrary}, {arbitrary, 2}} > > > or we may return: > > Out[1] {{1, (-oo, oo)}, {(-oo, oo), 2}} > > > > - Multivariate functions with point solutions: (solvemv) > > > > - > > In [0] solveset(x**2 + y**2, (x, y)) > Out[1] {0, 0} > > > Solve System of Equation: (solvesys) > (For system of Equation, we can have this): > > > - > > In [0] solveset([x + y == 1, x - y == 0], (x,y)) > Out[1] {{1/2, 1/2}} > > - For inequality solver (or for solvers in general) we also need to > extend singularities module (though useful in general), so as to prevent > getting wrong results, caused due to incorrect simplification of > expression, as we saw in this issue: https://github.com/ > sympy/sympy/issues/8715 , Example: x + 1/x > -2 + 1/x this inequality > is written as expr = expr. lhs - expr.rhs , which cancels 1/x and gives > wrong result, by including singular point in the solution. > - inequality solver in solveset currently uses inequalities.py > (dependent on solve) (some discussion here: https://groups.google. > com/forum/#!topic/sympy/Yp5NqrXmp2U > <https://groups.google.com/forum/#!topic/sympy/Yp5NqrXmp2U>). It is > related to the next point below. > - All internal solve() calls needs to be replaced with solveset() , this > is very important for bringing out the solveset from sandbox to > eventually replace solve(). (we need to consider the output API > (return type) also while replacing). > - We also need to extend the set - boolean (relational) conversion > methods to handle multivariate variables. > - Complex set Infrastructure is also not there (though I see a WIP PR > for that), and yes we also need to see what other set capabilities we need > to implement to support various other kinds of solutions. > > And also other solvers as mentioned on ideas page like 'Equations > solvable by LambertW function' also needs to work. > > I would love to get feedback from the community before presenting my > proposal. > > Cheers! > AMiT Kumar > 3rd Year Undergrad > Delhi Technological University > www.iamit.in > > -- > 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 post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/c786148f-3ea3-411f-b24c-93dc0174b381%40googlegroups.com > <https://groups.google.com/d/msgid/sympy/c786148f-3ea3-411f-b24c-93dc0174b381%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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 post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAP7f1AjvM7MeVqzDGsAoviGmMDV%2B8rm6iZTqS7f-9nVZ8JFT0A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
