Question concerning use of ev()



Hi Neilen,

> la[i,j]:='concat(facefun,i).'concat(facefun,j);

>  matrix([facefun1.facefun1,facefun1.facefun2],
>         [facefun1.facefun2,facefun2.facefun2])

The difference between the two things you tried probably has
an explanation which hinges on obscure details of the ev function.

However, my advice is to avoid using concat here. I don't know
exactly what you want, but it's likely that there is a simpler way.
You can just write facefun[i] without declaring facefun to be a
vector or array or anything, and Maxima will just carry the
subscript around.

  la[i, j] := facefun[i] . facefun[j];
  genmatrix (la, 2, 2);
    => matrix([facefun[1]^^2,facefun[1] . facefun[2]],
           [facefun[2] . facefun[1],facefun[2]^^2])

HTH
Robert Dodier