Right now `Sympy` returns not simplified general form.If you paste this `solveset(cos(x) + cos(3*x) + cos(5*x),x)` then you will get
`ImageSet(Lambda(_n, 2*_n*pi + pi/2), Integers()) U ImageSet(Lambda(_n, 2*_n*pi - pi/2), Integers()) U ImageSet(Lambda(_n, 2*_n*pi - 2*pi/3), Integers()) U ImageSet(Lambda(_n, 2*_n*pi + 2*pi/3), Integers()) U ImageSet(Lambda(_n, 2*_n*pi - pi/3), Integers()) U ImageSet(Lambda(_n, 2*_n*pi + pi/3), Integers()) U ImageSet(Lambda(_n, 2*_n*pi - 5*pi/6), Integers()) U ImageSet(Lambda(_n, 2*_n*pi + 5*pi/6), Integers()) U ImageSet(Lambda(_n, 2*_n*pi - pi/6), Integers()) U ImageSet(Lambda(_n, 2*_n*pi + pi/6), Integers())` which can be simplified as `(2*n +1)*pi/6`, `(2*n -1)*pi/6`. Similarly many other solutions can be simplified. I found a solution for this after some discussion in Quora, thanks to active Mathematicians in Quora: If we have terms like `pi/6`, `pi/2`, `5*pi/6`, `7*pi/6`, `3*pi/2`. - Take differences until the differences are all equal. In this case, the first differences are all pi/3. This indicates that you can fit a linear function in nn . If it had been necessary to calculate the second differences then one would have had to fit a quadratic function in n . And so on. Very often one can calculate all possible differences without reaching equal differences. Then it's necessary to try something else. - Since a linear function will work fit a*n+b , where a and b are arbitrary constants. To do this, set: pi/6=a+b (using the first term) and pi/2=2*a+b (using the second term), then solve for a and b . Now you have a function that should represent all of the terms. . So actually we need a method that can make general from from the given terms. I have updated the wiki page of* solvers and solveset , *please have a look and give your valuable suggestions. https://github.com/sympy/sympy/wiki/Solveset-and-Solver-Discussion -- Shekhar Prasad Rajak On Thursday, 4 February 2016 00:40:34 UTC+5:30, Shekhar Prasad Rajak wrote: > > > Hello, > my name is Shekhar Prasad Rajak.I want to discuss about Solver and > Solveset module > https://github.com/sympy/sympy/wiki/GSoC-2016-Ideas#solvers .I am going > to apply for GSoc'16, so trying to know > what sympy community expecting. > Solveset came to Replace all internal solve() calls > https://github.com/sympy/sympy/issues/8711 > So I should focus on Solveset,right? > I have some questions : > 1.What are the main problems/issues in Solver and Solveset right now? > 2.Is Solveset module done?If not,what are the main features, that should > be added ? > I have seen Harsh's PR : https://github.com/sympy/sympy/pull/7523 > It seems, these need some works : > -functions solvable by LambertW > -functions that can be recast as polynomials with a change of variables > this, for example; this can be > factored out of solve where multiple generators are handled > -use something like this : > https://github.com/sympy/sympy/pull/7523#issuecomment-62198981 > to handle the XFAILed test test_real_imag_splitting1, this will be > handled in the set module. > > 3.This is list of Issues/ Discussions I found. > > https://github.com/sympy/sympy/wiki/GSoC-2014-Application-Harsh-Gupta:-Solvers#relevant-issues-discussions-and-references > > <https://github.com/sympy/sympy/wiki/GSoC-2014-Application-Harsh-Gupta:-Solvers#relevant-issues-discussions-and-references> > but I don't know, whether they are solved or not. > Issues which are still open in github repo, need solutions. > There are also links of pdf and research papers, I am not sure whether > they are implemented or not. > > 4.Can we use python library multiprocessing,Synchronization for the faster > execution?one issue was opened for the same,which is closed now.But it is > always better to take less time. > > > -- > Shekhar Prasad Rajak > > -- 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 https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/82b7bd34-549d-4c8f-ad81-2a030833cc65%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
