`to_poly_solve` inconsistency of solutions for equivalent forms of goniometric equations
Subject: `to_poly_solve` inconsistency of solutions for equivalent forms of goniometric equations
From: Stavros Macrakis
Date: Wed, 18 Apr 2012 18:34:40 -0400
You can use trigreduce to convert sin(x)/cos(x) to tan(x). But I agree
that it would be nice if solve(sin(x)/cos(x)=1,x) gave a reasonable answer.
Besides to_poly_solve, another way to handle trigonometric equations more
systematically is to put them in exponential form, e.g.
rectform(solve(exponentialize(...), ...)). But the result can be ugly in
some cases.
As for to_poly_solve, it's unreasonable to expect in general that
equivalent solution sets will be syntactically identical. That is a very
hard problem (actually unsolvable in general), though over time, more and
more cases will be handled nicely.
-s
On Wed, Apr 18, 2012 at 17:46, Duc Trung Ha <mathemage at gmail.com> wrote:
> Hola,
I am sorry if this would come as a completely stupid question but I was really
amazed at this Maxima's behavior:
When I searched for solution of goniometric equation `tan(x) = 1`::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(%i22) to_poly_solve(tan(x) = 1, x);
%pi
- 2 %pi %z30 - ---
2
(%o22) %union([x = - ------------------])
2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
answer was given to me. On the other hand, when I entered what I consider an
equivalent form of the very same equation:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(%i23) to_poly_solve((sin(x)/cos(x)) - 1 = 0, x);
%pi
- 4 %pi %z40 - ---
%pi (8 %z40 + 1) 2
(%o23) %union(%if(cos(----------------) # 0, [x = - ------------------],
4 2
3 %pi
%union()), [x = 2 %pi %z38 - -----])
4
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
output came out. After a brief inspection one can unravel that this solution is
in fact identical, however, denoted in very much less elegant & transparent
way.
This may cause some serious troubles to external programs exploiting Maxima's
functionality. For instance, I discovered this issue while using Sage's `solve`
command -- original bug can be viewed at
https://groups.google.com/forum/?hl=en&fromgroups#!topic/sage-support/ys3CASZ3vrs
Similarly, `solve` also is not capable of recognizing `sin/cos` form of `tan`::
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(%i24) solve(tan(x) = 1, x);
solve: using arc-trig functions to get a solution.
Some solutions will be lost.
%pi
(%o24) [x = ---]
4
(%i25) solve((sin(x)/cos(x)) - 1 = 0, x);
(%o25) [sin(x) = cos(x)]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Is it somehow possible to alter the output for equivalent forms of such
well-known goniometric functions and thus fix this pseudo-bug?
---
Duc Trung Ha
_______________________________________________
Maxima mailing list
Maxima at math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima