Hi! I have updated my Proposal by making a few substantial changes, at SymPy wiki: https://github.com/sympy/sympy/wiki/GSoC-2015-Application-AMiT-Kumar--Solvers-:-Extending-Solveset
Please have a look. AMiT Kumar 3rd Year Undergrad Delhi Technological University www.iamit.in On Thursday, March 19, 2015 at 8:46:08 PM UTC+5:30, AMiT Kumar wrote: > > Hi, > > Since there is only 1 week left for Student Application Deadline, > I have Uploaded my Proposal on Melange as well: > > Project Title: SymPy Improving Solvers : Extending Solveset > *Organization:* Python Software Foundation > *Organization:* NumFOCUS > User Name: aktech_amit > > Please have a look and suggest changes, I have fixed the formatting as > well. > > AMiT Kumar > 3rd Year Undergrad > Delhi Technological University > www.iamit.in > > On Friday, February 6, 2015 at 12:08:45 AM UTC+5:30, AMiT Kumar 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). 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 sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. 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/e2d93d31-e0be-4cfa-924a-e1707ae2350a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.