D
D[f,x]
gives the partial derivative .
D[f,{x,n}]
gives the multiple derivative .
D[f,x,y,…]
gives the partial derivative .
D[f,{x,n},{y,m},…]
gives the multiple partial derivative .
D[f,{{x_{1},x_{2},…}}]
for a scalar f gives the vector derivative .
D[f,{array}]
gives an array derivative.
Details and Options
 D is also known as derivative for univariate functions.
 By using the character ∂, entered as pd or \[PartialD], with subscripts, derivatives can be entered as follows:

D[f,x] ∂_{x}f D[f,{x,n}] ∂_{{x,n}}f D[f,x,y] ∂_{x,y}f D[f,{{x,y}}] ∂_{{{x,y}}}f  The comma can be made invisible by using the character \[InvisibleComma] or ,.
 The partial derivative D[f[x],x] is defined as , and higher derivatives D[f[x,y],x,y] are defined recursively as etc.
 The order of derivatives n and m can be symbolic and they are assumed to be positive integers.
 The derivative D[f[x],{x,n}] for a symbolic f is represented as Derivative[n][f][x].
 For some functions f, Derivative[n][f][x] may not be known, but can be approximated by applying N. »
 New derivative rules can be added by adding values to Derivative[n][f][x]. »
 For lists, D[{f_{1},f_{2},…},x] is equivalent to {D[f_{1},x],D[f_{2},x],…} recursively. »
 D[f,{array}] effectively threads D over each element of array.
 D[f,{array,n}] is equivalent to D[f,{array},{array},…], where {array} is repeated n times.
 D[f,{array_{1}},{array_{2}},…] is normally equivalent to First[Outer[D,{f},array_{1},array_{2},…]]. »
 Common array derivatives include:

D[f,{{x_{1},x_{2},…}}] gradient {D[f,x_{1}],D[f,x_{2}],…} D[f,{{x_{1},x_{2},…},2}] Hessian {{D[f,x_{1},x_{1}],D[f,x_{1},x_{2}],…},{D[f,x_{2},x_{1}],D[f,x_{2},x_{2}],…},…} D[{f_{1},f_{2},…},{{x_{1},x_{2},…}}] Jacobian {{D[f_{1},x_{1}],D[f_{1},x_{2}],…},
{D[f_{2},x_{1}],D[f_{2},x_{2}],…},…}  If f is a scalar and x={x_{1},…}, then the multivariate Taylor series at x_{0}={x_{01},…} is given by:
 ,
 where f_{i}=D[f,{x,i}]/.{x_{1}x_{01},…} is an array with tensor rank . »
 If f and x are both arrays, then D[f,{x}] effectively threads first over each element of f, and then over each element of x. The result is an array with dimensions Join[Dimensions[f],Dimensions[x]]. »
 VectorSymbol, MatrixSymbol or ArraySymbol can be used to indicate that variables or function values are vectors, matrices or arrays.
 D can formally differentiate operators such as integrals and sums, taking into account scoped variables as well as the structure of the particular operator.
 Examples of operator derivatives include:

is not scoped by the integral is scoped by the integral is not scoped by the integral transform is scoped by by the integral transform  All expressions that do not explicitly depend on the variables given are taken to have zero partial derivative.
 The setting NonConstants{u_{1},…} specifies that u_{i} depends on all variables x, y, etc. and does not have zero partial derivative. »
Examples
open allclose allBasic Examples (7)
Scope (89)
Basic Uses (12)
Derivative of an expression with respect to x:
Derivative of an expression at a point:
Derivative of a function at a general point x:
This can also be achieved using fluxion notation:
This can be found more easily using fluxion notation:
The third derivative at the point x==1:
Derivative involving symbolic functions:
Partial derivatives of an expression with respect to x and y:
The mixed partial derivative :
The mixed partial derivative :
Differentiate with respect to a compound expression:
Differentiate with respect to different compound expressions:
Derivative of a vector expression:
Vector derivative of an expression, also known as the gradient:
Symbolic Functions (9)
Derivative of a symbolic function:
Substitute in a pure function for f to get a particular result:
The chain rule for composite functions:
Product rule for three functions:
State the rule using an Inactive derivative:
Partial derivative of a symbolic function:
Substitute in for f a pure function in two variables:
Derivative of a pure function with respect to nonargument parameters:
The result is the function that at point x gives the derivative of with respect to a:
Local variables are independent from the differentiation variable:
Derivative of a symbolic function at a point:
The same, using prime notation:
Derivative of an inverse function:
Elementary Functions (6)
Special Functions (8)
The logarithmic derivative of Gamma is the PolyGamma function:
Derivatives of Airy functions are given in terms of AiryAiPrime and AiryBiPrime:
The derivative of Zeta has a closedform expression at the origin:
Special functions with elementary derivatives:
Special functions with derivatives expressed in terms of the same functions:
Derivative of JacobiSN:
Derivative of JacobiCD:
Derivative of LogIntegral:
Derivative of ExpIntegralEi:
Derivative of order n for SinIntegral:
Piecewise and Generalized Functions (8)
Derivative of a piecewise function:
Derivative of a ConditionalExpression:
Convert a symbolic function into a piecewise function over the reals to differentiate it:
Compute the piecewise derivative over a finite range:
Classical derivatives of pointwisedefined engineering functions:
Distributional derivatives of generalized functions:
Derivative of RealAbs:
Their counterparts on the complex plane are nowhere differentiable:
Derivative of Floor:
Implicitly Defined Functions (3)
VectorValued Functions (5)
The first derivative to a vectorvalued function at a general value t:
Computing the same using prime notation:
Computing the same using prime notation:
The derivative of a vectorvalued function stored as a SparseArray:
Convert the result to a normal array:
The derivative of matrix represented as a SymmetrizedArray object:
Vector Argument Functions (6)
Gradient of a scalar function:
Jacobian of a vectorvalued function:
Secondorder derivative tensor:
Compute the derivative of the determinant with respect to the original matrix:
The gradient of a vectorvalued function stored as a SparseArray:
The result is another SparseArray, containing only the nonzero entries:
Convert the result to a normal matrix:
Hessian computed as a SparseArray:
The gradient can also be computed as a SparseArray, but in this case it is effectively dense:
Jacobian computed as a SparseArray:
Symbolic Array Arguments and Functions (8)
Derivative of a symbolic vectorvalued function with respect to a scalar argument:
Derivative of a symbolic matrix–valued function with respect to a scalar argument:
Derivative of a symbolic array–valued function with respect to a scalar argument:
Derivatives of scalarvalued functions with respect to symbolic vector arguments:
Real symbolic vector argument:
Derivatives of scalarvalued functions with respect to symbolic matrix arguments:
Real symbolic matrix argument:
Derivative of a scalarvalued function with respect to a symbolic array argument:
Derivatives of symbolic array–valued functions with respect to symbolic array arguments:
Integrals and Integral Transforms (6)
Differentiate unevaluated integrals:
Differentiate the Inactive form of an integral to get the fundamental theorem of calculus:
A more general form of the fundamental theorem:
Differentiate an inactive FourierTransform:
Sums and Summation Transforms (4)
Differentiate an unevaluated sum:
Differentiation with respect to the dummy variable gives zero:
Differentiate the Inactive form of a sum:
Differentiate an inactive GeneratingFunction:
Indexed Differentiation (9)
Differentiate with respect to an indexed variable, introducing KroneckerDelta factors:
Use Inactive to prevent expansion of the sum:
Summation indices will be renamed if needed, to avoid name ambiguities:
Differentiate an inactive table with respect to an indexed variable:
Activate the result to get the explicit vector result:
Differentiate an inactive table twice with respect to an indexed variable:
In this case only the j entry is nonzero:
Use any notation for indexed variables in sums and tables:
Differentiate with respect to a symbolic table of indexed variables:
Activating the result gives the explicit gradient:
Differentiate twice with respect to a symbolic table of indexed variables, introducing a dummy index:
Replace symbolic variables with explicit values:
Use symbolic vector differentiation of another symbolic vector:
Vector differentiation of a vector with respect to itself gives the identity matrix:
Functions Defined by Derivatives (5)
Define the derivative with prime notation:
This rule is used to evaluate the derivative:
Define the derivative at a point:
Prescribe values and derivatives of f and g:
Find the derivative of the composition at x=3:
Define a partial derivative with Derivative:
Options (1)
Applications (47)
Geometry of the Derivative (5)
The derivative gives the slope of the tangent line at a point:
For small displacements h from the base point π, the tangent line gives an excellent approximate of f:
The tangent and f are visually indistinguishable from each other over a small, and only a small, plot range:
The derivative gives the limit of the slope of the secant line connecting {x,f[x]} to {x+h,f[x+h]}:
Visualize the process for the point {1,f[1]}:
Find an equation for the tangent line to a function:
General equation for the tangent line at x=a:
Find an equation for the normal line to a function:
General equation for the normal line at x=a:
Find equations for the tangent lines to a function that pass through a point:
Characterization of Functions (5)
Find the turning points on a plane curve:
Find the critical points of a function:
By the second derivative test, these are all maxima or minima:
Visualize the critical points:
Find all values of c that satisfy the Mean Value theorem on an interval:
Define the secant line from a to b:
Define the tangent lines associated with the two values of c:
Visualize the two tangent lines parallel to the secant line along with the original function:
Use the first derivative to characterize a function:
Find the critical points of a function:
Find where the function is increasing:
Find where the function is decreasing:
Use the second derivative to characterize a function:
Find the inflection points of a function:
Find where the function has positive concavity:
Relation to Integration (2)
Multivariate and Vector Calculus (6)
Find the critical points of a function of two variables:
Compute the signs of and the determinant of the second partial derivatives:
By the second derivative test, the first two points—red and blue in the plot—are minima and the third—green in the plot—is a saddle point:
Find the curvature of a circular helix with radius r and pitch c:
Obtain the same result using ArcCurvature:
Compute a univariate Taylor series by hand:
Compute a multivariate Taylor series by hand:
Write a function to automate the process:
Recompute the above using the new function:
The gradient vector can be computed by finding the partial derivatives of a function:
Find the gradient vector of the function :
Visualize the direction of the gradient vector using a unit vector representation:
The curl of a vector field on the plane can be computed by subtracting the derivatives of its components:
Find the curl of the vector field :
Visualize the 2D curl as the net "rotation" of the vector field at a point, with red and green representing clockwise and counterclockwise curl, respectively, and radius proportional to the magnitude of rotation:
The divergence of a vector field can be computed by summing the derivatives of its components:
Find the divergence of a 2D vector field:
Visualize 2D divergence as the net "flow" of the vector field at a point, with red and green representing outflow and inflow, respectively, and radius proportional to the magnitude of the flow:
Differential Equations (6)
Construct the differential equation satisfied by an implicit function y[x]:
Use D to specify ordinary and partial differential equations:
These can be solved using DSolve:
Define a wave equation in two spatial variables:
Define initial values for the function and its first time derivative:
Solve the system using DSolve:
Extract a few terms from the Inactive sum:
The twodimensional wave executes periodic motion in the vertical direction:
Specify a Laplacian operator using D:
Specify homogeneous Dirichlet boundary conditions:
Find the 4 smallest eigenvalues and eigenfunctions of the operator in a unit disk:
Specify an integrodifferential equation using D:
Specify an initial condition to obtain a particular solution:
Plot the solutions for different values of a:
Find a seconddegree polynomial solution to the differential equation:
Rates of Change (5)
The height of a projectile at time t is given by:
Compute the acceleration at t:
Find when the projectile reaches its maximum height:
Find the maximum height of the projectile:
The area of a circle as a function of time is given by:
Compute the rate of change of area:
Find the rate of change of area at a radius of 10 m if the radius increases at a rate of 5m/s:
The position of a particle is given by:
Compute the velocity, acceleration, jerk, snap (jounce), crackle and pop of the particle:
The total resistance in a circuit of two resistors connected in parallel is given by:
Calculate R_{T} for the given values of R_{1} and R_{2}:
Find the rate of change of the total resistance:
Calculate the rate of change of the total resistance with the given values:
Volume of a cube in terms of side length l is given by:
Surface area of a cube is given by:
Compute the rate of change of the volume of a cube with respect to surface area using the chain rule:
Solve for l in terms of surface area and substitute that into the result:
Implicit Functions (3)
Optimization (3)
Find the maximum area of a rectangular fence of 2000 ft., bordered on one side by a barn:
Compute the area in terms of width:
By the second derivative test, this value is a true maximum:
Alternately, compute the area in terms of length:
Visualize how the area changes as the length changes:
Find the shortest distance from a curve to the point (1,5):
Compute the distance in terms of y:
By the second derivative test, this is a minimum:
Visualize how the distance changes with position:
Find the dimensions of a lidless, cylindrical can with the least material that can hold up to 2 L of water:
Compute the height in terms of the radius, using the volume constraint:
Compute the surface area in terms of the radius:
The radius corresponding to the minimum surface area:
By the second derivative test, this is a minimum:
Compute the radius, height and surface area of the minimum configuration:
L'Hôpital's Rule (3)
Find the limit of the ratio of two functions as x0:
Directly solving the limit leads to an indeterminate form of type :
L'Hôpital's rule can be used because in an interval around , both and are defined, and :
Indeed, and are continuous, and , so can be computed trivially:
Verify the result using Limit:
Visualize the two functions and their ratio:
Find the limit of the ratio of two functions as x∞:
Directly solving the limit leads to an indeterminate form of type :
L'Hôpital's rule can be used because for all , both and are defined, and :
However, using the first derivatives also leads to an indeterminate form:
The second derivatives are constant and obviously satisfy the conditions of L'Hôpital's rule:
Hence can be computed trivially:
Verify the result using Limit:
Find the limit of the product of two functions as x0:
Directly solving the limit leads to an indeterminate form of type 0×∞:
However, exists and is positive for all , and it also exists and is negative for all :
As is clearly defined for all real , L'Hôpital's rule can be applied in the form:
The quotient in the righthand limit gives a continuous expression whose limit is simple to compute:
Symbolic Array Calculus (6)
Approximate the variance for a perturbed vector:
Since the second derivative does not depend on , the order two approximation equals the exact value:
Approximate the determinant of a perturbed matrix:
Derive a leastsquares solution for data given as a list of pairs :
Find the vector of vertical deviations for the data:
Define the sum of squares of the vertical deviations for the data:
Set up the leastsquares equations:
Solve the leastsquares problem for this data:
Find GammaDistribution parameters that best fit the given data using the maximum likelihood method:
Maximize the loglikelihood function :
Find a zero of the gradient, with replaced by :
Compare with the result computed using EstimatedDistribution:
Find an optimality condition for a portfolio optimization problem with the expected return and standard deviation :
The goal is to maximize when the vector of asset weights satisfies Total[x]=1. The constraint can be used to represent where the unconstrained vector variable consists of the first coordinates of :
The maximum occurs at a critical point of :
Express the condition in terms of :
Compute the gradient of the loglikelihood function of the linear regression model represented by the equation , where are normally distributed random variables with mean zero and variance :
The loglikelihood function is given by:
Properties & Relations (23)
The derivative of a function is defined as a limit:
The Limit of DifferenceQuotient is the derivative D:
D is the inverse of Integrate:
The fundamental theorem of calculus:
Differentiation inside of Integrate:
D returns formal results in terms of Derivative:
D differentiates expressions with respect to a given variable:
Derivative is an operator and returns purefunction results:
The derivative of a function at a point may not be available in closed form:
An approximation to the derivative can be obtained using N:
D[f,{array_{1}},…] is essentially equivalent to First[Outer[D,{f},array_{1},…]]:
If f and a are arrays, Dimensions[D[f,{a}]==Join[Dimensions[f],Dimensions[a]]:
D[f,{{x_{1},x_{2},…,x_{n}}}] is effectively equivalent to Grad[f,{x_{1},x_{2},…,x_{n}}]:
Div[{f_{1},f_{2},…,f_{n}},{x_{1},x_{2},…,x_{n}}] is the trace of the vector derivative of f:
More generally, Div[f,x] is the contraction of the last two dimensions of the vector derivative of f:
Curl[f,x] is times the HodgeDual of the vector derivative of f, where r is the rank of f:
For scalar f, Laplacian[f,{x_{1},x_{2},…,x_{n}}] is the trace of the second vector derivative of f:
More generally, Laplacian[f,x] is the contraction of the last two dimensions of the second vector derivative of f:
Compute the derivative of Total[a] with respect to a using symbolic arrays:
Compare with the results obtained using indexed differentiation:
ArcCurvature can be defined in terms of D:
Systems of differential equations involving D can be solved with DSolve:
Use D to specify a heat equation with homogeneous Dirichlet boundary conditions:
The eigensystem for this differential system can be found with DEigensystem:
D can be defined using DifferenceDelta:
D can be defined using DiscreteShift:
The right onesided derivative is computed with a righthand limit:
The left onesided derivative is computed with a lefthand limit:
Note that this function is not differentiable at x==0:
D assumes that other variables are independent of the differentiation variable:
Dt assumes that other variables may depend on the differentiation variable:
By manually specifying all other variables as constant, Dt can yield the same result as D:
Compute the derivative of an implicit function using D and Solve:
Use ImplicitD to compute the derivative of an implicit function:
Possible Issues (5)
Results may not immediately be given in the simplest possible form:
Functions given in different forms can yield the same derivatives:
D returns generic results that may not account for discontinuities, cusps or other special points:
Neither f nor g is differentiable at 0:
f is discontinuous, and g has a cusp:
If a function can be expanded into a Piecewise expression, D will provide more accurate results:
Cached values for D may miss changes in underlying definitions:
The issue can be resolved by clearing the system cache:
The variable of differentiation is treated literally:
The following mathematically equivalent input gives 0 because there is no Sin[x] in the first argument:
Interactive Examples (2)
Text
Wolfram Research (1988), D, Wolfram Language function, https://reference.wolfram.com/language/ref/D.html (updated 2024).
CMS
Wolfram Language. 1988. "D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/D.html.
APA
Wolfram Language. (1988). D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/D.html