Re: [Maxima-bugs] [ maxima-Bugs-1407378 ] polarform returns a rectangular expression for float argumen



"Richard Fateman" wrote on 01/19/2006 10:32:54 PM:

> > I'd like for the function simplus, for example, to look
> > at the property list of non-atom addends to see if there
> > was a specific function for adding such objects.
> 
> ... ordinarily, only atoms have property lists, and these are global, 
not
> lexically bound. 

Let me correct myself: "...property list of the _operator_ of a non-atom"

> If you are simplifying a+b, do you use the
> program for "a" or for "b"?

You have to look at both "a" and "b."  If the operator of "a" is 
"interval,"
the addition would get sent to "add-interval."  The "add-interval" 
function
would need to know how to do interval + interval, interval + non interval 
term,
and interval + anything else. So "add-interval" has to look at "b." 
I suppose the interval + anything else case is the tricky part.

> I think the problem is not so easily solved this way.
> As a simple example, consider the rule that the objects in
> a sum should be sorted lexicographically. That is,
> a+b+c  is simplified but b+a+c  is not.  What property
> would you place on a, b, or c?

Some things would have to be done with some other
scheme. Getting this right could be tricky.

> It would be great if you can come up with a good solution
> that has eluded previous programmers attempting to write
> simplifiers!

I don't plan on trying to do anything like this. I doubt that
I could do a good job of such a project. I'd guess that 95%
of such a project would be easy; getting the remaining 5%
correct would be beyond me.

Apparently, I should study the user documentation and code for
tellsimpafter. I didn't even know that tellsimpafter and
tellsimp are algorithmically distinct.

Barton