simplification rules, was: Operations on inf



On 3/8/07, Barton Willis <willisb at unk.edu> wrote:

> I've always hoped for a straightforward way to add new objects to
> simplus and friends -- arrays, intervals, big oh, little oh, quad
> precision floats, ... By straightforward, I mean a way to add new
> objects without hacking simplus and friends.

The existing tellsimpafter stuff is straightforward. (We can quibble
about the syntax.) The problem that I see is that defining a rule
for + via tellsimpafter slows down simplification of every +
expression. A more efficient dispatch mechanism would make it
practical to use tellsimpafter-defined rules in the Maxima core.

Another problem is that the class of expressions that can be matched
by the existing tellsimpafter stuff is rather vague. (The problem is not
that the class is limited -- every implementation will have limits -- but
rather that it is more or less impossible to know just from reading the
documentation whether a given expression can be matched.)
Every well-formed match pattern matches something, maybe not
what the user intends. Maybe there could be a function to generate
random instances of expressions matching a given pattern, to help
the user judge whether it is on the mark. Just thinking out loud here.

FWIW
Robert