Thanks a lot Aaron for sharing the above link, it contain a lot of 
information.It took me long time 
to go through the attached PR,Issues, and discussions.
Right now I come across the solution that can solve the trigonometric 
equation g = 0 where g is a trigonometric polynomial. We can convert that 
into a polynomial system by expanding the sines and cosines in it, 
replacing sin(x) and cos(x) by two new variables s and c.
before that need to check arguments are same or not.It should not be like 
sin(x) and cos(x**2).
So now we have two variables and 1 equation another equation we know  : 
s**2 + c**2 − 1 = 0.Means sin(x)**2 + cos(x)**2 =1.
Similarly we can solve others like tan,sec ; cot,cosec .But I think it will 
be better if we convert all the trigonometric functions into sin and cos 
,and solve them for all cases .Then we don't need to add same types of 
codes.
It need another method solveset_trig which converts the trigonometric 
equation to only sin, cos form then polynomial system replacing sin(x) and 
cos(x) by two new variables s and c.Then need to solve linear or non linear 
system equation.
Now replacing s -> sin and c-> cos and then solveset_real can easily solve 
Eq(sin(x),<constant>) types of expressions.
If we have equations like : 
sin(x)**3 + cos(3*x) = 0
then using fu module and trigsimp method we can get :
s**3 + 4*(c**3) - 3*c =0 (cos(3*x) expand)
and s**2 + c**2 − 1 = 0
Similat things can be applied for hyperbolic functions.
Failure case may happen we have nested elements.

equations like :

1 − 2cosθ1 + 2cosθ2 − 2cosθ3 = −0.8

1 − 2cos(5*θ1) + 2cos(5*θ2) − 2cos(5*θ3) = 0

1 − 2cos(7*θ1) + 2cos(7*θ2) − 2cos(7*θ3) = 0

I am not sure how to solve this,yet.
To solve non linear equation I found newton's method : 
https://www.math.ohiou.edu/courses/math3600/lecture13.pdf

--
Shekhar Prasad Rajak.

On Thursday, 4 February 2016 22:45:35 UTC+5:30, Aaron Meurer wrote:
>
>
>
> On Thu, Feb 4, 2016 at 12:07 PM, Shekhar Prasad Rajak <
> shekharr...@gmail.com <javascript:>> wrote:
>
>> Thanks for sharing the links, Aaron.
>> Regarding Issue https://github.com/sympy/sympy/issues/10426 ,I opened a 
>> PR : https://github.com/sympy/sympy/pull/10482
>> this PR is able to give solutions in simple form in many cases.
>> When I was trying to solve this issue, I found that solveset converts all 
>> the trigonometric equations into exponential form then 
>> solve them using solveset_complex . 
>> I haven't find any method that solves trig equations using fu module. fu 
>> module also need more simplify expression in different terms.
>> It is using this algorithms
>>  
>> http://rfdz.ph-noe.ac.at/fileadmin/Mathematik_Uploads/ACDCA/DESTIME2006/DES_contribs/Fu/simplification.pdf
>>   
>> <http://rfdz.ph-noe.ac.at/fileadmin/Mathematik_Uploads/ACDCA/DESTIME2006/DES_contribs/Fu/simplification.pdf>
>> that contains simple formulas only.
>>
>> Right now solveset directly convert any trig expression to it's 
>> corresponding exponential form.
>> But if we add fu module in this line : 
>>  
>> https://github.com/sympy/sympy/pull/10482/files#diff-eec0422923e8f100745c015cd8fdd6cfR540
>>  
>> <https://github.com/sympy/sympy/pull/10482/files#diff-eec0422923e8f100745c015cd8fdd6cfR540>
>> then we get simplified trig equations.Then solve them using 
>> solveset_complex , This may increase number of solutions.Isn't it ? 
>> Other way can be implement a different algorithms.
>>
>
> I don't see how it would add solutions, other than maybe canceling out 
> singularities (like cos(x)*sec(x)).
>
> I think it's also worthwhile to look into other algorithms.  
>
> By the way, I still think the solving module should be organized around 
> the abstractions of rewriting and decomposition (see 
> https://groups.google.com/forum/#!msg/sympy/42GdMJ9ssyM/swC6bHVunP8J). 
> That was written before solveset so I can't say for sure to what degree 
> solveset already follows this pattern.
>
> Aaron Meurer
>
>
>> --
>> Shekhar Prasad Rajak
>>  
>> On Thursday, 4 February 2016 00:51:39 UTC+5:30, Aaron Meurer wrote:
>>>
>>> Another good resource for what's there and what doesn't work yet is 
>>> https://github.com/sympy/sympy/blob/master/doc/src/modules/solvers/solveset.rst
>>> .
>>>
>>> Personally, I'd like to see solutions from equations involving 
>>> trigonometric expressions improved. Right now you will often get an answer 
>>> but it is not as simple as it could be (maybe this is more an issue of 
>>> simplifying set expressions). For example, solveset(sin(x), domain=S.Reals) 
>>> gives {2⋅n⋅π | n ∊ ℤ} ∪ {2⋅n⋅π + π | n ∊ ℤ} but it would be better if it 
>>> gave {n⋅π | n ∊ ℤ}.  I suggested a potential way to fix this at 
>>> https://github.com/sympy/sympy/pull/9500#discussion_r39220151. Fixing 
>>> this by improving simplifying set expressions would be nice because then it 
>>> would work even for set expressions that don't come directly from solveset. 
>>>
>>> A related use-case I found where solveset fails is solving f(x) = f(x + 
>>> a) for a not dependent on x. The ability to solve this in the positive or 
>>> the negative would tell you if f(x) is periodic (and its period if it is). 
>>> This currently fails even for sin(x) (
>>> https://github.com/sympy/sympy/issues/10426). 
>>>
>>> Aaron Meurer
>>>
>>> On Wed, Feb 3, 2016 at 2:05 PM, Shekhar Prasad Rajak <
>>> shekharr...@gmail.com> 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 sympy+un...@googlegroups.com.
>>>> To post to this group, send email to sy...@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/33a1b294-4a48-413a-a96f-90899291c1b0%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/sympy/33a1b294-4a48-413a-a96f-90899291c1b0%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 sympy+un...@googlegroups.com <javascript:>.
>> To post to this group, send email to sy...@googlegroups.com <javascript:>
>> .
>> 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/35c19f8c-0bc5-4aba-9b13-35bc16aff761%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/sympy/35c19f8c-0bc5-4aba-9b13-35bc16aff761%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 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/30907455-b489-43cf-972f-37b402eb5f81%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to