variable names with sub-indices



-----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