Vector Identities, Redux and more questions



On 9/14/06, Neilen Marais <nmarais at sun.ac.za> wrote:

> How are multiple matchdeclares handled by maxima? Remember that the
> "more_vect.mac" already does matchdeclare(aa, all). Will this overide the
> previous declartion, thereby breaking other rules made using aa, or do the
> rules store the matchdeclares within themselves independent of
> redefinition later?

When a rule is defined, the matchdeclare predicates for the symbols
appearing in the rule are pasted into a Lisp function which implements
the rule. If matchdeclare is called again, it has no effect on existing
rules.

You can see the matchdeclare predicate of a symbol (say aa) by
:lisp (symbol-plist '$aa)
and the Lisp function for the rule (e.g. after load(vect))
by something like
:lisp #'&~rule4
for rules named after built-in or user-defined operators,
and something like
:lisp #'$trigrule1
otherwise. (The function name starts with & for an operator rule name.)

HTH
Robert Dodier