problem with dpart



On 5/17/07, Robert Dodier <robert.dodier at gmail.com> wrote:
>
> On 5/17/07, Barton Willis <willisb at unk.edu> wrote:
> I think calling GREAT makes Maxima too eager to apply the
> reflection identity. How about MGRP or whatever it takes to
> get Maxima to consider is(x < - x).


In simplification routines, you need to use syntactic ordering mechanisms
such as GREAT since semantic ordering such as MGRP usually doesn't know.

E.g. i don't find sin(a - b) => - sin(b - a) all that helpful.
> As ever there's no accounting for taste.
>

It's not a matter of taste.  Either sin(a-b) has to simplify to -sin(b-a) or
sin(b-a) has to simpify to -sin(a-b).  Putting  things in quasi-canonical
form like this is the general simplifier's main way of operating, and is how
Maxima recognizes that sin(a-b) + sin(b-a) = 0.

I suspect that the solution to this problem is *not* changing
apply-reflection-simp here, but to change GREAT.  Currently, GREAT's
ordering is:
       -x << x << box(-x) << box(x) << -box(-x) << -box(x)
If you change this so that box is the tie-breaker of last resort, you get:
       -box(-x) << -box(x) << box(-x) << -x << box(x) << x
and I believe the dpart problem goes away.

I have made the small modifications necessary to do this, and they do indeed
fix the dpart problem, but I am not yet convinced that the rest of simp will
continue to work properly, so I am studying the code and testing.

           -s