Notebook for: The Implications of Rybczynski's Theorem for Government Spending, Learning by Doing, and Labor Mobility

parameters and revenue maximization

The definition of FOC is taken from Varian (ed.), 1993, Economic and Financial Modeling with Mathematica, Springer:New York.

\(FOC[f_, x_] := \((∂\_#1 f == 0&)\)/@x\)

a1 = (1/5); a2 = (4/5); b1 = (4/5); b2 = (1/5); rho = 0.3; x1 = a (v1^a1) (c1^a2); x2 = (((v - v1))^b1) (((c - c1))^b2); r = p x1 + x2;

sol1
       = {{v1 -> (1/60) (16 (a^(5/3)) c (p^(5/3)) - 4 v), 
          c1 -> 
            ((16 c)/15) - ((4 v)/(15 (a^(5/3)) (p^(5/3))))}, {
          v1 -> 
            (1/60) (
                -8 (a^(5/3)) c (p^(5/3)) - 
                  8 I (Sqrt[3]) (a^(5/3)) c (p^(5/3)) - 4 v), 
          c1 -> 
            ((16 c)/15) + 
              ((2 (1 - I (Sqrt[3])) v)/(15 (a^(5/3)) (p^(5/3))))}, {
          v1 -> 
            (1/60) (
                -8 (a^(5/3)) c (p^(5/3)) + 
                  8 I (Sqrt[3]) (a^(5/3)) c (p^(5/3)) - 4 v), 
          c1 -> 
            ((16 c)/15) + 
              ((2 (1 + I (Sqrt[3])) v)/(15 (a^(5/3)) (p^(5/3))))}}

sol2 = N[Simplify[sol1[[1]]]]

a = ((((q/q0)))^n); q0 = 50; n = (1/3);

sol = Simplify[sol2]

p = 1; c = 48;

margins of specialization

minq = Solve[{c1 /. sol} == 0, q]

qminz = N[q /. minq[[5]], 20]

qmin := qminz

maxq = Solve[{c1 /. sol} - c == 0, q]

qmaxz = N[q /. maxq[[5]], 20]

qmax := qmaxz

supply and revenue functions

x1qint[q_, v_] = Simplify[PowerExpand[x1 /. sol]]

x1q[q_, v_] := 0 /;  q ≤ qminx1q[q_, v_] := x1qint[q, v] /;  qmin < q < qmaxx1q[q_, v_] := 
      ((((q/q0)))^n) (v^a1) (c^a2) /;  q ≥ qmax

x2qint[q_, v_] = Simplify[PowerExpand[x2 /. sol]]

x2q[q_, v_] := (v^b1) (c^b2) /;  q ≤ qminx2q[q_, v_] := x2qint[q, v] /;  qmin < q < qmaxx2q[q_, v_] := 0 /;  q ≥ qmax

rq[q_, v_] = r /. {x1 -> x1q[q, v], x2 -> x2q[q, v]}

graphics

<< "Graphics`ImplicitPlot`"

S2 = 
      ImplicitPlot[x1qint[q, v] == 0, {q, 0.5, 750}, {v, 0.5, 500}, 
        PlotPoints -> 200, AspectRatio -> Automatic, 
        PlotStyle -> AbsoluteThickness[1]]

S1 = 
      ImplicitPlot[
        x1qint[q, v] == a (v^a1) (c^a2), {q, 0.5, 750}, {v, 0.5, 500}, 
        PlotPoints -> 200, AspectRatio -> Automatic, 
        PlotStyle -> AbsoluteThickness[1]]

\(qdot0 = 
      ImplicitPlot[x1q[q, v] - rho\ q == 0, {q, 0.5, 750}, {v, 0.5, 500}, 

        		PlotPoints -> 200, AspectRatio -> Automatic, 
        PlotStyle -> {AbsoluteThickness[2], GrayLevel[0.5]}]\)

alpha = 1; BIPmean = 0.5349922439811367;

\(vdot0 = 
      ImplicitPlot[alpha\ \((rq[q, v] - p\ c - BIPmean\ v)\) == 0, 

        		{q, 0.5, 750}, {v, 0.5, 500}, PlotPoints -> 200, 
		
        AspectRatio -> Automatic, PlotStyle -> AbsoluteThickness[2]]
        \)

Show[S1, S2, qdot0, vdot0, Ticks -> None]

<< "Graphics`PlotField`"

\(vector = 
      PlotVectorField[{x1q[q, v] - rho\ q, 
          alpha\ \((rq[q, v] - p\ c - BIPmean\ v)\)}, 

        		{q, 0.5, 750}, {v, 0.5, 500}, PlotPoints -> 10, 
        Axes -> True, 
		AspectRatio -> Automatic, 
        PlotStyle -> AbsoluteThickness[0.3]]\)

Show[S1, S2, qdot0, vdot0, vector, Ticks -> None]