# using 'solve' with trigonometric functions

solve(tan(3*x)==1, x, to_poly_solve='force', explicit_solutions=True)


solve(sin(3*x)==1, x, to_poly_solve='force', explicit_solutions=True)


works as expected

edit retag close merge delete

Sort by » oldest newest most voted

As a partial workaround,

sage: solve(tan(x)==1,x,to_poly_solve='force')
[x == 1/4*pi + pi*z35]


though it does take longer than I would have expected.

In Maxima, we get the following which Sage doesn't currently translate, I think.

(%i5) load(to_poly_solve);

Loading maxima-grobner $Revision: 1.6$ $Date: 2009-06-02 07:49:49$
(%o5) /Users/.../sage-6.9/local/share/maxima/5.35.1/share/t\
o_poly_solve/to_poly_solve.mac
(%i6) %solve(tan(3*x)=1,x);
2 %pi (12 %z11 + 1)
(%o6) %union(%if(3 tan (-----------------) - 1 # 0,
12
%pi
- 2 %pi %z11 - ---
6
[x = - ------------------], %union()),
2
2                        2 %pi       2 %pi
%if(3 tan ((4 %pi %z7 - %i log(sin (---) + cos (---))
12          12
%pi                      %pi
(sqrt(3) + 1) sin(---) + (sqrt(3) - 1) cos(---)
12                       12
+ 2 atan(-------------------------------------------------) + 2 %pi)/4) - 1 #
%pi                        %pi
(sqrt(3) - 1) sin(---) + (- sqrt(3) - 1) cos(---)
12                         12
%pi        %pi                %pi        %pi
sqrt(3) sin(---)   sin(---)   sqrt(3) cos(---)   cos(---)
12         12                 12         12   2
0, [x = - (%i (log((---------------- + -------- + ---------------- - --------)
3/2            3/2            3/2            3/2
2              2              2              2
%pi        %pi                %pi        %pi
sqrt(3) sin(---)   sin(---)   sqrt(3) cos(---)   cos(---)
12         12                 12         12   2
+ (---------------- - -------- - ---------------- - --------) )/2
3/2            3/2            3/2            3/2
2              2              2              2
%pi        %pi         %pi        %pi
sin(---)   cos(---)    cos(---)   sin(---)
12         12          12         12
sqrt(3) (-------- + --------)   -------- - --------
sqrt(2)    sqrt(2)     sqrt(2)    sqrt(2)
----------------------------- - -------------------
2                          2
+ %i (atan(---------------------------------------------------) + %pi))
%pi        %pi         %pi        %pi
sin(---)   cos(---)    sin(---)   cos(---)
12         12          12         12
sqrt(3) (-------- - --------)   -------- + --------
sqrt(2)    sqrt(2)     sqrt(2)    sqrt(2)
----------------------------- - -------------------
2                          2
2
- 2 %pi %z7)/2], %union()), %if(3 tan ((4 %pi %z9
%pi                      %pi
(sqrt(3) - 1) sin(---) + (sqrt(3) + 1) cos(---)
12                       12
+ 2 atan(-----------------------------------------------)
%pi                      %pi
(sqrt(3) + 1) sin(---) + (1 - sqrt(3)) cos(---)
12                       12
2 %pi       2 %pi
- %i log(sin (---) + cos (---)))/4) - 1 # 0,
12          12
%pi        %pi                %pi        %pi
sqrt(3) sin(---)   sin(---)   sqrt(3) cos(---)   cos(---)
12         12                 12         12   2
[x = - (%i (log((- ---------------- + -------- - ---------------- - --------)
3/2            3/2            3/2            3/2
2              2              2              2
%pi        %pi                %pi        %pi
sqrt(3) sin(---)   sin(---)   sqrt(3) cos(---)   cos(---)
12         12                 12         12   2
+ (- ---------------- - -------- + ---------------- - --------) )/2
3/2            3/2            3/2            3/2
2              2              2              2
%pi        %pi         %pi        %pi
sin(---)   cos(---)    cos(---)   sin(---)
12         12          12         12
sqrt(3) (-------- + --------)   -------- - --------
sqrt(2)    sqrt(2)     sqrt(2)    sqrt(2)
+ %i atan2(- ----------------------------- - -------------------,
2                          2
%pi        %pi                 %pi        %pi
sin(---)   cos(---)            sin(---)   cos(---)
12         12                  12         12
-------- + --------   sqrt(3) (-------- - --------)
sqrt(2)    sqrt(2)             sqrt(2)    sqrt(2)
- ------------------- - -----------------------------)) - 2 %pi %z9)/2],
2                          2
%union()))

more

thank you @kcrisman

( 2015-11-30 11:29:58 -0600 )edit

Indeed, this seems to be more or less the same as http://trac.sagemath.org/ticket/14736

( 2015-11-30 12:51:29 -0600 )edit