-----maxima-bounces at math.utexas.edu wrote: -----
>However, Maxima does not always treat subscripted
>variables the same as atoms.
Right--one difference is that atoms and subscripted variables
have different evaluation rules. Consider:
(%i1) (a : b, b : c, c : d)$
(%i2) a;
(%o2) b
Since a --> b (not d), we might say that Maxima uses one ply
evaluation for atoms. But Maxima uses infinite ply evaluation
for subscripted variables:
(%i3) a[1];
(%o3) d[1]
And...
(%i4) d[1] : %pi;
(%o4) %pi
(%i5) a[1];
(%o5) %pi
(%i6) b[1] : sqrt(3);
(%o6) sqrt(3)
(%i7) a[1];
(%o7) sqrt(3)
Algsys and friends can have problems with subscripted variables---
(%i2) algsys([x[1]^2 + x[1],x[1] * x-6],[x[1],x]);
x evaluates to -6
Improper name or value in functional position.
Let's change x --> x[2]. Then all is well:
(%i3) algsys([x[1]^2 + x[1],x[1] * x[2]-6],[x[1],x[2]]);
(%o3) [[x[1]=-1,x[2]=-6]]
Limit has problems with subscripted variables:
(%i4) limit(x[1],x[1],0);
Maxima encountered a Lisp error:
Error in PROGN [or a callee]: Bad plist (1)
Stavros reported this bug the other day.
Best wishes to all for the new year.
Barton