Procedure from library ainvar.lib (see ainvar_lib).
ainvar.lib
derivate(m,id); m matrix, id poly/vector/ideal
m is a nx1 matrix, where n = number of variables of the basering
poly/vector/ideal (same type as input), result of applying the vector field by the matrix m componentwise to id;
the vector field is m[1,1]*d/dx(1) +...+ m[1,n]*d/dx(n)
Example:
LIB "ainvar.lib"; ring q=0,(x,y,z,u,v,w),dp; poly f=2xz-y2; matrix m[6][1] =x,y,0,u,v; derivate(m,f); → -2y2+2xz vector v = [2xz-y2,u6-3]; derivate(m,v); → 6u6*gen(2)-2y2*gen(1)+2xz*gen(1) derivate(m,ideal(2xz-y2,u6-3)); → _[1]=-2y2+2xz → _[2]=6u6