12.2.1 Derivatives and partial derivatives
The diff or
derive or
deriver command
computes derivatives and partial derivatives of expressions.
-
To compute first-order derivatives, diff takes one mandatory
argument and one optional argument:
-
expr, an expression or a list of expressions.
- Optionally, x, a variable (resp. a list of
variable names, see several variable functions in
Section 12.7). If the only variable is x, this
second argument can be omitted.
- diff(expr ⟨,x ⟩)
returns the derivative (resp. a vector of derivatives) of the
expression expr (or list of expressions) with respect to the
variable x (resp. with respect to each variable in the list x).
- To compute higher order derivatives, diff takes more than two arguments:
-
expr, an expression.
- x1,x2…, the names of the
derivation variables. Note that for repeated variables, you can
use the $ operator (see Section 5.1.2) followed by
the number of derivations with respect to the variable; for
example, instead of writing x,x,x you could write x$3.
- diff(expr,x1,x2,…) returns the
partial derivative of expr with respect to the variables
x1,x2,…
Examples
Compute ∂/∂ z(x y2 z3+x y z).
Compute the first order partial derivatives of x y2 z3+x y z.
diff(x*y^2*z^3+x*y,[x,y,z]) |
|
| ⎡
⎣ | y2 z3+y,2 x y z3+x,3 x y2 z2 | ⎤
⎦ |
| | | | | | | | | | |
|
Compute ∂3/∂ y ∂2 z(x y2 z3+x y z).
diff(x*y ^2*z^3+x*y*z,y,z$2) |
Compute ∂2/∂ x∂ z(x y2 z3+x y z).
diff(x*y^2*z^3+x*y*z,x,z) |
Compute ∂3/∂ x∂2 z(x y2 z3+x y z).
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) |
Compute the third derivative of 1/x2+2.
normal(diff((1)/(x^2+2),x,x,x)) |
or:
normal(diff((1)/(x^2+2),x$3)) |
|
| −24 x3+48 x |
|
x8+8 x6+24 x4+32 x2+16 |
|
| | | | | | | | | | |
|
Remarks.
-
Note the difference between diff(f,x,y) and
diff(f,[x,y]):
the first returns ∂2f/∂ x ∂ y while
the second returns [∂ f/∂ x,
∂ f/∂ y].
- Never define a derivative function with
f1(x):=diff(f(x),x).
Indeed, x would mean two different things Xcas is unable to
deal with: on the left hand side, x is the variable name to
define the f1 function, and on the right hand side, x is
the differentiation variable. The right way to define a derivative is
either with function_diff (see Section 12.2.2)
or with f1:=unapply(diff(f(x),x),x).