Re: [Maxima-bugs] [ maxima-Bugs-988701 ] incorrect matrix inversion



James Amundson <amundson@users.sourceforge.net> writes:

> With Maxima 5.9.0, I do not see the problem:
[...]
> With Maxima 5.9.0.9beta1, I do see the problem. Note that mul* does not
> appear when traced:
[...]
> Both maset and mul* are unchanged from 5.9.0. If I replace mul* with
> mul in invert.lisp, the problem goes away:
[...]
> I see that the trace on mul doesn't work after compiling.

In mopers.lisp MUL* and MUL are given compiler-macro definitions via
DEFOPT. In particular, if we have exactly two arguments, MUL* is
transformed to the broken MUL2* from opers.lisp.  In 5.9.0 DEFOPT
itself had a bogus definition and did nothing (see defopt.lisp), so
for MUL* the definition in runtim.lisp was used.

Wolfgang