The formula
For a function z = f(x, y), the total differential is:
dz = (∂f/∂x) dx + (∂f/∂y) dy
Reading: nudge x by dx and y by dy, and the output moves by each nudge times
the slope in that direction, added up. It's the tangent-plane approximation — the
flat sheet that best hugs the surface at the point you're standing on.
The general n-input version is the same idea with more terms:
df = (∂f/∂x₁) dx₁ + (∂f/∂x₂) dx₂ + ... + (∂f/∂xₙ) dxₙ
Reading: total change is the sum of one-axis contributions. Each ∂f/∂xᵢ is a
sensitivity — how many output units per input unit — and it carries real physical
units.
When every input is itself a function of one driving variable t, you get the
multivariable chain rule:
df/dt = (∂f/∂x)(dx/dt) + (∂f/∂y)(dy/dt) + ...
Reading: to find how f changes along a path, chase each input's rate down its own
branch and sum the branches. Divide the total differential by dt and this falls out.
If an input depends on several drivers, you get one such sum per driver — the partial version of the chain rule:
∂f/∂s = (∂f/∂x)(∂x/∂s) + (∂f/∂y)(∂y/∂s)
Reading: hold the other drivers fixed, but still sum over every path from s to f.
The engineer's shortcut for products and quotients is the logarithmic
differential. For P = V²/R, taking d(ln P) gives:
dP/P = 2 (dV/V) − (dR/R)
Reading: fractional change in the output is a weighted sum of fractional changes in the inputs, with the exponents as weights. Percentages in, percentage out.
Where you meet it
Uncertainty budgets on the calibration bench. The GUM (JCGM 100) law of
propagation of uncertainty is a total differential in disguise: u_c²(y) = Σ (∂f/∂xᵢ)² u²(xᵢ). You write the measurement model, take the total differential to find each
sensitivity coefficient, then root-sum-square. That RSS form assumes the inputs are
uncorrelated; if two inputs share a reference (same DMM, same standard), the GUM adds
2·(∂f/∂xᵢ)(∂f/∂xⱼ)·u(xᵢ, xⱼ) cross-terms, which can add or cancel [5]. Measuring
power as P = V²/R with V = 12 V, R = 100 Ω gives P = 1.44 W, ∂P/∂V = 0.24 W/V,
∂P/∂R = −0.0144 W/Ω. The total differential is what converts a volt of meter error
into watts of result error.
Property relations in thermo. Nearly every Maxwell relation, every dU = T dS − p dV,
every dh = cₚ dT + [...] dp, is a total differential of a state function. When you
tell a review board how enthalpy shifts as both temperature and pressure drift off
nominal, you're writing dh = (∂h/∂T)_p dT + (∂h/∂p)_T dp and plugging in the drifts.
Rate problems on the test stand. Tank pressure depends on temperature and fill
level, both changing during a run. The multivariable chain rule turns the recorded
dT/dt and dV/dt into a predicted dP/dt — the thing your abort logic actually
watches. Same math sizes how fast a strain reading moves as load and temperature ramp
together.
Tolerance stack-ups at design review. "What if the bore is 0.5% oversize and the
shaft 0.3% undersize?" is a request for dP/P on a product formula. The log
differential answers it in your head: add the fractional errors with their exponents,
no calculator.
How it works
The total differential is a first-order, local picture — it's the tangent plane,
and it's only honest for small nudges. Take a rectangle A = L·W with L = 2,
W = 3, and grow it by dL = 0.01, dW = 0.02. The total differential predicts
dA = W·dL + L·dW = 0.07. The true change is 0.0702. The missing 0.0002 is the
second-order term dL·dW — the little corner square the linear model throws away. For
small perturbations that corner is negligible; for large ones it isn't, and the whole
budget built on the differential drifts off. Know which regime you're in.
The classic mistake is dropping a branch of the chain rule. When f = f(x, y) and
both x and y ride on t, df/dt is not ∂f/∂t. People write down the first
term, forget the second, and get an answer that's wrong by exactly the contribution of
the input they ignored. The tell-tale case is when x appears both explicitly and
through another variable — you have to count every path from the driver to the output
or the total rate is short. This is the same bookkeeping that trips up backpropagation
and every automatic-differentiation library: the chain rule is a sum over paths, and
missing a path is missing a term.
The differential is exact; the approximation is what you do with it. dz as a
formal object equals Σ (∂f/∂xᵢ) dxᵢ exactly. The approximation Δz ≈ dz is what
introduces error, and it holds only when f is differentiable — meaning the partials
exist near the point and are continuous there. A surface can have both partials at a
point and still not be differentiable (a sharp ridge or a folded seam), and then the
tangent-plane picture is a lie. For the smooth models most engineering runs on this is
academic, but it's the assumption underneath the whole apparatus, so it's worth knowing
it's there.
One more sign trap: sensitivity coefficients carry signs, and the total differential
keeps them. ∂P/∂R = −0.0144 W/Ω says higher resistance drops power. When you square
for a variance the sign vanishes, but when you reason about which way an error pushes
the result, keep it — the total differential is where the directions live.
History
The chain rule for a single variable is old — Gottfried Leibniz reached for it in a
1676 manuscript, using it to differentiate √(a + bz + cz²), and famously botched a
sign the first time through [1]. The rule's first appearance in print is implicit, in
l'Hôpital's 1696 Analyse des infiniment petits, the textbook built on Johann
Bernoulli's lectures [1]. The compact du/dw = (du/dv)·(dv/dw) notation everyone
writes today is Leibniz's; the whole d-quotient way of thinking about differentials
was built to make exactly this kind of substitution look like ordinary algebra.
What's odd is how long the clean, general statement took to settle. Leonhard Euler,
who wrote the era's definitive analysis textbooks a full lifetime after Leibniz and who
touched nearly everything else in calculus, never actually laid out the chain rule as a
stated rule in those books [2]. The first recognizably modern version is usually traced
to Joseph-Louis Lagrange, in his 1797 Théorie des fonctions analytiques, with the
formulation restated in Augustin-Louis Cauchy's 1823 lecture summaries from the École
Polytechnique — the same Cauchy who was busy putting limits and continuity on a firm
footing [1][2]. The multivariable extension — several inputs, several paths, the total
differential as a sum — grew out of the eighteenth and nineteenth-century work on
functions of many variables and partial differential equations, the same current that
gave Legendre and later Jacobi the curly ∂ to keep partial and total derivatives from
being confused.
The practical payoff is entirely modern. When the metrology world wrote the Guide to
the Expression of Uncertainty in Measurement (GUM), the sensitivity-coefficient formula
at its heart — ∂f/∂xᵢ times an input uncertainty, summed in quadrature — is nothing
but Leibniz's differential, propagated. A three-hundred-year-old bookkeeping trick is
what balances every uncertainty budget on the bench today.
Related tools
- /tools/stress-strain
- /tools/thermal-expansion
- /tools/link-budget
- /tools/reynolds-number
- /tools/pipe-pressure-drop
- /tools/isentropic-flow
Sources
- https://en.wikipedia.org/wiki/Chain_rule
- https://scholarworks.umt.edu/tme/vol7/iss2/10/ — Rodríguez & López Fernández, "A semiotic reflection on the didactics of the Chain rule", The Mathematics Enthusiast 7(2), 2010
- https://en.wikipedia.org/wiki/Total_derivative
- https://math.libretexts.org/Bookshelves/Calculus/Calculus_3e_(Apex)/12:_Functions_of_Several_Variables/12.04:_Differentiability_and_the_Total_Differential
- https://www.iso.org/sites/JCGM/GUM/JCGM100/C045315e-html/C045315e_FILES/MAIN_C045315e/05_e.html