# Cobb-Douglas Production Functions, 
Cost, and Supply

We modify the Cobb-Douglas production function slightly, replacing 
the value 1 with the variable m. In this formulation, m is the degree 
of homogeneity. The exercises involve deriving the resulting long-run 
total cost curve and the firm's long-run supply curve.

One implication is that, unless m <= 1/2, the firm's long-run supply
curve is elastic. 

kill(all)$ ratprint:false$ fpprintprec:5$
xFunction: K^a*L^(m - a);

Assume that r = 1 and w = 1. Derive the "augmented" production function,
by inserting the optimal K/L ratio into xFunction.

/*Input. Execute (ctrl-enter) for results */
/*r = 1; r = 1 */
/* K = a/(m -a)*L */
xaugmented: radcan(subst(K = L*a/(m -a),xFunction));

Derive a functional expression for ltc of the form ltc = A*x^B,
where A and B involve a and m.

/*Input. Execute (ctrl-enter) for results */
declare(m,noninteger)$ assume(x>0,a>0,a<m)$
solve(xaugmented=x,L);
ltc(x,a,m):= ''(radcan(subst(%, L*a/(m-a) + L)));

Derive a similar functional expression for the firm's long-run 
marginal cost curve. Write the expression in the form lmc(x,a,m):= ... .
Explain why the expression implies that the firm's supply curve is 
elastic if m > 1/2.

Be aware that the elasticity of supply is the reciprocal of the 
elasticity of lmc with respect to x. Why?

/*Input. Execute (ctrl-enter) for results */
lmc(x,a,m):= ''(diff(ltc(x,a,m),x));

Determine the elasticity values for these values of m: 1/2, 3/4, 1.
In all cases, let a = 0.3. 

/*Input. Execute (ctrl-enter) for results */
1/ ( diff(lmc(x,0.3,1/2),x)*x/lmc(x,0.3,1/2) );
1/ ( diff(lmc(x,0.3,3/4),x)*x/lmc(x,0.3,3/4) );

/*This is a trick question. The supply curve is horizontal 
  when m = 1, so the supply elasticity is not defined. */
1/ ( diff(lmc(x,0.3,1),x)*x/lmc(x,0.3,1) );

[lmc(x, 0.3, 1/2),lmc(x, 0.3, 3/4),lmc(x, 0.3, 1)];

Draw the supply curves that correspond to the values of m indicated above.
Observe that none is inelastic.

/*Input. Execute (ctrl-enter) for results */
wxdraw2d( title="m is the degree of homogeneity",
 xlabel = "x", ylabel="$ per unit",
 yrange=[0,5],line_width=2, 
 key="m = 0.5", explicit(lmc(x,0.3, 0.5),x,0,2), 
 color = red, key="m = 0.75",
 explicit(lmc(x,0.3, 0.75),x,0,2),
 color = black,key="m =1.0",
 explicit(lmc(x,0.3, 1.0),x,0,2)  )$

This set of exercises does not consider m > 1. Such a value
would result in an ever-decreasing long-run marginal cost, which
would not be consistent with the firm remaining a price taker.