Yes, assume/sign is very simple-minded. Its core functionality is simply
maintaining a lattice (DAG) of relations, so from a<b and b<c, it can
conclude a<c. Beyond that, it has a few tricks up its sleeve, but not
many. In particular, it doesn't do anything like the interval analysis that
would handle the sin case you mention.
Other simple (non-interval) cases it doesn't handle:
assume(p-r>q,r>0)$ sign(p-q) => pnz ... oops
sign(x^2+2*x+1) => pz ... correct, done by factorization
sign(x^2+2*x+2) => pnz ... doesn't look at discriminant...
sign(exp(a+1)-exp(a)) => pos ... correct, exp is monotonic increasing
(maybe also done by factorization?)
sign(exp(a+1)-exp(a)+1) => pnz ... oops
Of course, it would be wonderful if someone worked on this....
-s
On Sun, Dec 23, 2012 at 7:21 AM, <leon.magiera at wp.pl> wrote:
>
> The function 'sign' if applied to trigonometric function does not return
> the appropriate value (?).
>
> Example:
> assume(x>0,x<%pi)$
> sign(sin(x));
>
>
> Leon
>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>