> I should expect that divergence was define as:
>
> divergence(f):=[diff(f,x),diff(f,y),diff(f,z)];
>
> and grad, curl, etc in similar terms.
>
> I think this can be done in 30 minutes or less, but the current package
> is complicated (in my opinion).
You can certainly do this TODAY if you want to operate component-wise
and assume 3 cartesian coordinates x/y/z. You or your students can
easily do this in 30 minutes or less (as you say) in Maxima without
using any add-on packages. So just do it.
This sort of approach doesn't help much, though, if you want to
manipulate div/curl/grad on symbolic vectors (not components),
possibly in other coordinate systems.
-s