5.17.5 Derivative and partial derivative
diff or derive may have one or two arguments
to compute a first order derivative (or first order partial
derivative) of an expression or of a list of expressions,
or several arguments to compute
the nth partial derivative of an expression or list of expressions.
Derivative and first order partial derivative : diff derive deriver
diff (or derive) takes two arguments : an expression and a variable
(resp. a vector of variable names) (see several variable functions in
5.54). If only one argument is provided, the derivative
is taken with respect to x
diff (or derive) returns the derivative (resp. a vector of
derivatives) of the expression with respect to the variable (resp. with respect
to each variable) given as second argument.
Examples :

Compute :
∂ (x y^{2} z^{3}+x y z) 

∂ z 

Input :
diff(x*y^
2*z^
3+x*y*z,z)
Output :
x*y^
2*3*z^
2+x*y
 Compute the 3 first order partial derivatives of x*y^{2}*z^{3}+x*y*z.
Input :
diff(x*y^
2*z^
3+x*y,[x,y,z])
Output :
[y^
2*z^
3+y*z, x*2*y*z^
3+x*z, x*y^
2*3*z^
2+x*y]
Derivative and nth order
partial derivative : diff derive deriver
derive (or diff) may take more than two arguments : an
expression and the names of the derivation variables (each variable
may be followed by $n to indicate the number n of derivations).
diff returns the partial derivative of the expression with respect to
the variables given after the first argument.
The notation $ is useful if you want to derive k times with
respect to the same variable, instead of entering k times the
same variable name, one enters the variable name followed by $k,
for example x$3 instead of (x,x,x).
Each variable may be followed by a $, for example
diff(exp(x*y),x$3,y$2,z) is the same as
diff(exp(x*y),x,x,x,y,y,z)
Examples

Compute :
∂^{2} (x y^{2} z^{3}+x y z) 

∂ x∂ z 

Input :
diff(x*y^
2*z^
3+x*y*z,x,z)
Output :
y^
2*3*z^
2+y
 Compute :
∂^{3} (x y^{2} z^{3}+x y z) 

∂ x∂^{2} z 

Input :
diff(x*y^
2*z^
3+x*y*z,x,z,z)
or :
diff(x*y^
2*z^
3+x*y*z,x,z$2)
Output :
y^
2*3*2*z
 Compute the third derivative of :
Input :
normal(diff((1)/(x^
2+2),x,x,x))
or :
normal(diff((1)/(x^
2+2),x$3))
Output :
(24*x^
3+48*x)/(x^
8+8*x^
6+24*x^
4+32*x^
2+16)
Remark