This is a good writeup. It would be great if you could add this or
something similar to the GSoC ideas page.

Aaron Meurer

On Wed, Jan 7, 2015 at 1:48 AM, Harsh Gupta <[email protected]> wrote:

> > Thanks for the response :-). I have a few questions as follows:
> > what are the other solvers that need to implemented in this year GSoC
> and some references to the algorithms that will be used in implementing
> those solvers.
> > when will this ideas page be updated.
> > Regards
> > Luv Agarwal
>
> > In GSoC last year there was a project on improvising solvers. I wanted to
> > know how much of that is implemented (the ideas page of this year is not
> > updated yet) as I am interested in working on solvers.
>
> Great to hear you are interesting in working on solvers. Briefly here's
> what have been done in the summer:
>
> Instead of making changes in the current `solve` function we rewrote
> solvers in a new submodule named solveset. Though it borrows ideas and
> tests from the `solve` submodule.
>
> * `solveset` has a cleaner input and output interface: We now return a set
> object. For input only takes the equation and the variables for which the
> equations has to be solved.
>
> * `solveset` can return infinitely many solutions. For example solving for
> `sin(x) = 0` returns {2⋅n⋅π | n ∊ ℤ} ∪ {2⋅n⋅π + π | n ∊ ℤ} Whereas `solve`
> only returns [0, π]
>
> * There is a clear code level and interface level separation between
> solvers for equations in complex domain and equations in real domain. For
> example solving `exp(x) = 1` when x is complex returns the set of all
> solutions that is {2⋅n⋅ⅈ⋅π | n ∊ ℤ} . Whereas if x is a real symbol then
> only {0} is returned.
>
> * There are cases like finding the maxima and minima of function using
> critical points where it is important to know if it has returned all the
> solutions. `solve` does not guarantee this. `solveset` fixes that issue.
>
>
> There had been a lot of discussion during and before the project and you
> should know why we did what we did. Here are some links:
>
> * Discussion on the mailing list:
> https://groups.google.com/forum/#!searchin/sympy/solvers/sympy/Oyz8SkR2fRk/RMpooqwu3oMJ
> * Action Plan on solvers: https://github.com/sympy/sympy/pull/2948
> * My Proposal for GSoC 2014:
> https://github.com/sympy/sympy/wiki/GSoC-2014-Application-Harsh-Gupta:-Solvers
> * My blog for GSoC: http://hargup.github.io/
> * solveset pull request as mentioned by Sergey:
> https://github.com/sympy/sympy/pull/7523
>
> I used to have biweekly gitter meeting with Matthew and Sergey. You can
> try to dig the gitter archives to have a look at them. Here is the link to
> the logs of the first meeting
> https://gitter.im/sympy/sympy/archives/2014/05/07
>
> Here's a brief list of things that needs to be done:
> * Implement multivariate solvers for solveset
> * Implement more equation solvers for univariate algebraic equations. For
> example equations solvable by LambertW function
> * Build the set infrastructure: This includes implementing complex sets
> and functions to handle multidimentional ImageSet etc., This part must go
> hand in hand with the improvements in the solvers as set module can be a
> universe in itself. Also there can be fundamental limits on the things you
> can do.
>
> This list might appear small but there is a lot of work that needs to be
> done which can easily fill up the summer or probably beyond it. This can be
> fun project but as it is mentioned in the ideas of 2014 it requires a good
> deal of thought during the application phase.
>
> Richard, I have gone through some of your paper written on solvers in CAS
> and also used in them solveset. Thanks for them. It would be great if you
> can also provide us with some curated list of resources on solvers.
>
> Aaron can we support more than one student to work on solvers? As far as I
> remember there were one or two other students who were also interested in
> solvers.
>
> --
> 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/CADN8iuqZhB2Qn7f0WGMP_1JRvfHxnFFsnjJBcvg7z%2Bb4DaMbKw%40mail.gmail.com
> <https://groups.google.com/d/msgid/sympy/CADN8iuqZhB2Qn7f0WGMP_1JRvfHxnFFsnjJBcvg7z%2Bb4DaMbKw%40mail.gmail.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/CAKgW%3D6Lt5zE_J5p8Y8JNMa62mM0%2BaCqganUFHbF63CLWk1_jQg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to