6.3 The envelope theorem
Consider, for example, a firm that can produce output with a single input using the production function f. The standard theory is that the firm chooses the amount x of the input to maximize its profit pf(x) − wx, where p is the price of output and w is the price of
the input. Denote by x*(w, p) the optimal amount of the input when the prices are w and p. An economically interesting question is: how does the firm's maximal profit
We have already answered this question in an earlier example. To do so, we used the chain rule to differentiate pf(x*(w, p)) − wx*(w, p) with respect to p, yielding
That is, the fact that the value of the variable satisfies the first-order condition allows us to dramatically simplify the expression for the derivative of the firm's maximal profit. On this page I describe results that generalize this observation to an arbitrary maximization problem.
Unconstrained problems
Consider the unconstrained maximization problem- Example 6.3.1
-
Let n = 1, k = 2, and f(x, r) = xr1 − r2x for x ≥ 0, where 0 < r1 < 1. This function is concave (look at its second derivative), and any solution of
maxx f(x, r) is positive, so a solution satisfies the first-order condition r1xr1−1 − r2 = 0. Thus x*(r) = (r1/r2)1/(1 − r1) is
the solution of the problem, so that the value function of f is
f*(r) = (x*(r))r1 − r2x*(r) = (r1/r2)r1/(1 − r1) − r2(r1/r2)1/(1 − r1).
= | i=1 f'i(x*(r), r)·(∂xi*/∂rh)(r) |
Given the first-order conditions, this expression simplifies to
f*h'(r) | = | f'n+h(x*(r), r) for h = 1, ..., k. |
This argument assumes that the maximization problem has a unique solution x* and this solution is differentiable (in r). These assumptions are not required for the conclusion; only the differentiability of f* is required.
- Proposition 6.3.1 (Envelope theorem for an unconstrained maximization problem)
-
Let f be a function of n + k variables, let r be a k-vector, and let the n-vector x*(r) be a maximizer of f(x, r). Assume that the partial derivative
f'n+h(x*(r), r) (i.e. the partial derivative of f with respect to rh at (x*(r), r)) exists. Define the function f* of k variables by
f*(r) = maxx f(x, r) for all r.If the partial derivative f*h'(r) exists then
f*h'(r) = f'n+h(x*(r), r).
- Proof
-
By the definition of the function f*, we have
and
f*(r) =f(x*(r), r) Put differently,f*(s) ≥f(x*(r), s) for all s.andf(x*(r), s) − f*(s) ≤ 0 for all sThus r is a solution of the problemf(x*(r), r) − f*(r) = 0 .maxs f(x*(r), s) − f*(s).Hence if the partial derivativesf'n+h(x*(r), r) andf*h'(r) exist, so that the partial derivative off(x*(r), s) − f*(s) with respect to sh at r exists, then by a previous result we havef'n+h(x*(r), r) − f*h'(r) = 0 , orf*h'(r) = f'n+h(x*(r), r) .
The next two examples illustrate the result.
- Example 6.3.2
-
Consider the earlier example, in which f(x, r) = xr1 − r2x, where 0 < r1 < 1. We found that the solution of the problem
maxx f(x, r)is given byx*(r) = (r1/r2)1/(1 − r1).Thus by the envelope theorem, the derivative of the maximal value of f with respect to r1 is the derivative of f with respect to r1 evaluated at x*(r), namely(x*(r))r1ln x*(r),or(r1/r2)r1/(1 − r1)ln (r1/r2)1/(1 − r1).(If you have forgotten how to differentiate xr1 with respect to r1 (not with respect to x!), remind yourself of the rules.)
If you approach this problem directly, by calculating the value function explicitly and then differentiating it, rather than using the envelope theorem, you are faced with the task of differentiating
(x*(r))r1 − r2x*(r) = (r1/r2)r1/(1 − r1) − r2(r1/r2)1/(1 − r1)
- Example 6.3.3
-
Consider the problem studied at the start of this section, in which a firm can produce output, with price p, using a single input, with price w, according to the production function f. The firm's profit when it uses the amount x of the input is π(x, (w, p)) =
pf(x) − wx, and its maximal profit is
π*(w, p) = pf(x*(w, p)) − wx*(w, p) ,f(x*(w, p)).In particular, the derivative is positive: if the price of output increases, then the firm's maximal profit increases.Also by the envelope theorem the derivative of the firm's maximal profit with respect to w is
−x*(p, w).(This result is known as Hotelling's Lemma, after Harold Hotelling, 1895–1973.) In particular, this derivative is negative: if the price of the input increases, then the firm's maximal profit decreases.A consequence of Hotelling's Lemma is that we can easily find the firm's input demand function x* if we know the firm's profit function, even if we do not know the firm's production function: we have x*(p, w) = −π*w'(p, w) for all (p, w), so we may obtain the input demand function by simply differentiating the profit function.
Here is an example in which f has a unique maximizer, but this maximizer is not a differentiable function of r.
- Example 6.3.4
-
Define the function f of two variables by
f(x, r) = −(x − r)2 if r ≥ 0 −(x + r)2 if r < 0 . x*(r) = |r|. Thus the maximizer is not differentiable at r = 0. However, the partial derivative f'r(x*(0), 0) exists (f(0, r) = −r2 for all r) andf*(r) = 0 for all r, so that the assumptions of the result are satisfied. The conclusion holds for r = 0, the point at which x* is not differentiable: f*'(0) = 0 and f'r(0, 0) = 0.
Constrained problems
We may apply the same arguments to maximization problems with constraints. Consider the problemWe want to calculate the derivatives f*h'(r) for h = 1, ..., k of the function f*. If x* is differentiable, then using the chain rule we have
= | i=1 f'i(x*(r),r)·(∂x*i/∂rh)(r) |
j=1λj(r)(∂gj/∂xi)(x*(r), r)
= |
i=1[∑m j=1λj(r)(∂gj/∂xi)(x*(r), r)] |
= |
j=1λj(r)[∑n i=1 (∂gj/∂xi)(x*(r),r) |
i=1(∂gj/∂xi)(x*(r), r)
= | j=1 λj(r)(∂gj/∂rh)(x*(r), r) + |
L(x, λ, r) | = | f(x, r) −
∑m j=1λjgj(x, r), |
- Proposition 6.3.2 (Envelope theorem for constrained maximization problems)
-
Let f and g1, ..., gm be continuously differentiable functions of n + k variables, with m ≤ n. Suppose that for all values of the k-vector r the problem
maxx f(x, r) subject to gj(x, r) = 0 for j = 1, ..., m,where x is an n-vector, has a unique solution, which is differentiable in r. Denote this solution
x*(r) and define the function f* of k variables byf*(r) = maxx f(x, r) subject to gj(x, r) = 0 for j = 1, ..., m. (∂gj/∂xi)(x*(r), r) is m. Define the function L byL(x, λ, r) = f(x, r) − ∑m for every (x, λ, r),
j=1λjgj(x, r)f*h'(r) = L'n+m+h(x*(r), λ(r), r) for h = 1, ..., k,
- Example 6.3.5
-
Consider a utility maximization problem:
maxx u(x) subject to p·x = wwhere x is a vector (a bundle of goods), p is the price vector, and w is the consumer's wealth (a number). Denote the solution of the problem by x*(p, w), and denote the value function by v, so thatv(p, w) = u(x*(p, w)) for every (p, w).The function v is known as the indirect utility function.
By the envelope theorem for constrained maximization problems we have
(∂v/∂pi)(p, w) = −λ*(p, w)xi*(p, w)(since u does not depend independently on p or w) and(∂v/∂w)(p, w) = λ*(p, w).Thus(∂v/∂pi)(p, w) (∂v/∂w)(p, w) = −xi*(p, w).