more about sign, CLEARSIGN, *LOCAL-SIGNS*



On Tue, Sep 10, 2013 at 2:59 PM, Robert Dodier <robert.dodier at gmail.com>wrote:

> I've looked into the problem caused by sign calling CLEARSIGN.
> As you may know, asksign pushes facts into *LOCAL-SIGNS* and
> CLEARSIGN cleans up those facts. It turns out that SIGN-MEXPT also
> pushes stuff onto *LOCAL-SIGNS*, and that leads to unexpected
> behavior which I attempted to fix (commit 3137b946b) by calling
> CLEARSIGN. However that too leads to trouble. So now among other
> things I am considering whether we can avoid modifying *LOCAL-SIGNS*
> unnecessarily (tnx to Stavros for the suggestion).
>
> It turns out that the code to modify *LOCAL-SIGNS* in SIGN-MEXPT is very
> old -- it is present in Maxima 5.0 source code. I suppose that it is
> intended to cache intermediate results -- perhaps only for efficiency?
> or are there simplifications which rely on it? Any further info on
> this point?
>

I suspect it is for more than just efficiency.  When the code encounters
an expression like x^y, it infers that x#0.  That inference may simplify
some further calculation, though I can't cite an example.  But that seems
fishy to me anyway.


> Incidentally there are several functions to detemine sign of different
> kinds of expressions, but only SIGN-MEXPT modifies *LOCAL-SIGNS*.
>
> best
>
> Robert Dodier
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>