On Jan 4, 2008 5:11 PM, Rupert Swarbrick <rswarbrick at googlemail.com> wrote:
> A question for Andrej if he's reading this:
>
> 1. Why are you dropping the nzlist stuff? I didn't really understand it,
> so I presume it's pointless, but can you explain what it did/was
> supposed to do?
> 2. (More important) Do you want to use *eql or eql on line 130? I'm not
> sure though so this is a genuine question!
>
*eql is a a maxima list of original equations. eql is a lisp list of
equations (actually rhs - lhs). nzlist was a macro which counted the
number of non-trivial equations in *eql. All this was used when solve
did not get a list of variables to solve for, so it had to get the
variables from the list of equations. It did this by calling
listofvars on *eql or eql. This is obviously a bug since eql is not a
maxima list. The difference between the new behavior and the old is
only when all equations are trivial and there is no list of variables.
The new behavior is correct and the old one caused bug 1856636. I
think this was intended to optimize the calls to listofvars.
listofvars(a=b) could take a long time when a-b=0.
HTH,
--
Andrej