Hey Amit,

I was wondering, for solving trigonometric equations we can have different 
helpers (if one cannot solve, try solving with other helper and so on) and 
we can have different heuristics in those helpers

Like currently equations are solved by rewriting to `exp` (helper#1), if 
still equation is unsolved we can have another helper that would solve 
using `solve_decomposition` (helper#2), and another helper that could take 
help of the `fu` module to simplify equations (helper#3) and then solve it 
(there can be more helpers). In this way, we can cover a lot of 
trigonometric equations.

 - Equations that can be decomposed can be solved using 
`solve_decomposition` helper
 
     eg: >>> f = sin(3*x) - 1
           >>> solve_decomposition(f, x, S.Reals)
           ImageSet(Lambda(_n, 2*_n*pi/3 + pi/6), S.Integers)

We can also implement trigonometric solver in transolve, but I guess 
`_solve_trig` should handle it

On Wednesday, March 14, 2018 at 3:28:33 AM UTC+5:30, Amit Kumar wrote:
>
> I will have a look at that PR. 
>
> On Monday, March 12, 2018 at 4:54:57 AM UTC, Yathartha Joshi wrote:
>>
>> I have started a wiki page [here](
>> https://github.com/sympy/sympy/wiki/Implementing-transolve-in-solveset). 
>> I will be updating it time to time.
>>
>>
> Thanks for starting the wiki.
>
> Cheers,
> Amit
>  
>
>> Thanks!
>>
>> On Sunday, March 11, 2018 at 6:01:00 PM UTC+5:30, Amit Kumar wrote:
>>>
>>> Hi Yathartha,
>>>
>>> Thanks for your interest in working on solveset. I am glad to hear that.
>>> The things you have mentioned are completely worth well over a
>>> summer. I would definitely focus a lot on transolve. It is the most
>>> crucial part of solvers. To go about it take a look at the
>>> _tsolve function in old solve and document each and every aspect
>>> of how it works, something like this:
>>>
>>>
>>> https://github.com/sympy/sympy/wiki/solvers#transcendent-equations-_tsolve
>>>
>>> Then see how you can generalise those things to be more modular,
>>> write down a proper and explicit plan for its implementation which
>>> includes all the abstractions and functionalities. Then a comparison
>>> of old approach and the new approach and how it is better. You should
>>> have a clear plan of what exactly you are going to do to import it to
>>> solveset. It would be a great proposal if you have answered what, how
>>> and why of everything you plan to implement.
>>>
>>> Feel free to ask any questions you have.
>>>
>>> Cheers,
>>> Amit
>>>
>>> On Sunday, March 4, 2018 at 6:57:30 PM UTC, Yathartha Joshi wrote:
>>>>
>>>> Hello everyone, I am Yathartha Joshi a final year B.Tech CSE undergrad. 
>>>> I am willing to be a part of GSoC 2018 for the project *Solvers: 
>>>> Completing Solveset*.
>>>> Solveset has been under constant development from 2014, and then 2015, 
>>>> and 2016 and a lot of implementation have been done so far but there is 
>>>> still a lot of things that needs to be implemented so that solveset can 
>>>> take over solve completely and therefore this will be my focus during GSoC 
>>>> period.
>>>>
>>>> My major focus during the period will be implementing *transolve, *a 
>>>> part of which I have tried to implement in #13045 
>>>> <https://github.com/sympy/sympy/pull/13045>, it will include the 
>>>> following solvers:
>>>>
>>>>  - logarithmic
>>>>  - exponential
>>>>  - equation solvable by lambertW function
>>>>  - improving and implementing trigonometric solver
>>>>  - bivariate solver
>>>>
>>>> Apart from these, another group of equations that would make solveset 
>>>> more powerful can be:
>>>>
>>>>  - solving modular equations #13178 
>>>> <https://github.com/sympy/sympy/issues/13178>. 
>>>>  - solving Abs equations for complex domain. 
>>>>
>>>> There are some minor fixes that need to be done in solveset:
>>>>
>>>>  - improving set infrastructure (helping #12011 
>>>> <https://github.com/sympy/sympy/pull/12011> to get merged)
>>>>  - making nonlinsolve more powerful.
>>>>
>>>> I guess these are the problems that needs to be done to complete 
>>>> solveset. I might have left some points here (I will be updating if I 
>>>> found 
>>>> anything that needs to be done), also feedbacks are appreciated if there 
>>>> is 
>>>> anything more to be done. Also I have opened discussions here #12243 
>>>> <https://github.com/sympy/sympy/issues/12243> and here #12340 
>>>> <https://github.com/sympy/sympy/issues/12340> for discussing the 
>>>> project.
>>>>
>>>> Thanks!
>>>> Looking forward to feedback and guidance for the project.
>>>>
>>>>

-- 
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/6fac8818-361d-43ee-b20e-22a2a021c507%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to