A while ago CY asked about this. I was looking at my old Macsyma quick ref
sheets and a sale pitch booklet that had a nice solution. Here it is:
load(vect);
scalefactors([[r*sin(p)*cos(q),r*sin(p)*sin(q),r*cos(p)],r,p,q]);
depends(t,[r,p,q]);
express(laplacian(t));
ev(d6,diff);
ratexpand(d9);
It looks like vect package is quite good. The Macsyma example involved
Maxwell's equations.
Just wanted to pass this info along.
Osman