block() and local variables?



>
>
> coord_mat[i,j]:=verts[el_nodes[i]][j],
>

If you use ":=" to define a matrix, you are creating what is known as a
hash-array, which caches previously calculated values.  Moreover, even if
you make coord_mat local to the block, that won't change anything, because
Maxima treats it as a function, and functions cannot be bound locally.

You might want to try a lambda-function with genmatrix, e.g.

         genmatrix ( lambda([i,j], verts[elnodes[i]][j] ), ...)

             -s