Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Chapter 3: Differential Equations in Continuous-Time Macro Models

kapitaali.com

The Solow and Ramsey Foundations

“The solution of a differential equation is a function — not a number but a whole trajectory through time.”

Cross-reference: Principles Ch. 5.2 (Solow ODE); Ch. 5.3 (RCK Hamiltonian system and phase plane); Ch. 19 (labour market dynamics); Ch. 3 (GDP convergence) [P:Ch.5.2, P:Ch.5.3, P:Ch.19, P:Ch.3]


3.1 Why Continuous Time? The Case for ODEs in Growth Theory

Two modeling conventions compete in macroeconomics: continuous time (differential equations) and discrete time (difference equations). The choice is largely one of mathematical convenience, but the two approaches have different strengths.

Continuous-time models are analytically cleaner for growth theory and optimal control. The differential equation k˙=sf(k)δk\dot{k} = sf(k) - \delta k is a single object with a well-developed theory. Phase plane analysis — drawing the (k,c)(k, c) plane, finding nullclines, identifying stable manifolds — provides geometric intuition that is harder to obtain in discrete time. The Pontryagin maximum principle, developed in Chapter 11, is most naturally stated in continuous time.

Discrete-time models are preferred for business cycle analysis, DSGE estimation, and numerical work. All macroeconomic data are observed at discrete intervals (quarterly GDP, monthly inflation), and most numerical algorithms — value function iteration, Kalman filtering, particle filtering — are discrete-time procedures.

This chapter develops continuous-time differential equations systematically, with every result illustrated by the two key models of Principles Part I: the Solow growth model and the RCK optimal growth model. Chapter 4 develops the discrete-time analogue.


3.2 First-Order Linear Ordinary Differential Equations

Definition 3.1 (Ordinary Differential Equation). An ordinary differential equation (ODE) of order nn is an equation relating a function x(t)x(t) and its derivatives up to order nn:

F(t,x,x˙,x,,x(n))=0.F(t, x, \dot{x}, \ddots x, \ldots, x^{(n)}) = 0.

It is ordinary (as opposed to partial) because xx depends on a single variable tt.

We begin with the first-order linear case, which covers the linearized Solow dynamics and the Wicksellian adjustment process.

3.2.1 Homogeneous Equation

The equation x˙(t)=ax(t)\dot{x}(t) = ax(t) has the general solution:

x(t)=x0eat,x(t) = x_0 e^{at},

where x0=x(0)x_0 = x(0) is the initial condition. The sign of aa determines behavior:

  • a<0a < 0: x(t)0x(t) \to 0 (stable, exponential decay).

  • a=0a = 0: x(t)=x0x(t) = x_0 (constant).

  • a>0a > 0: x(t)±x(t) \to \pm\infty (unstable, exponential growth).

Theorem 3.1 (Stability of Linear First-Order ODE). The equilibrium x=0x^* = 0 of x˙=ax\dot{x} = ax is globally asymptotically stable if and only if a<0a < 0.

This is the continuous-time analogue of the discrete-time condition λ<1|\lambda| < 1. The connection is: if we discretize x˙=ax\dot{x} = ax with step size hh, we get xt+1=(1+ah)xtx_{t+1} = (1 + ah)x_t, which is stable iff 1+ah<1|1 + ah| < 1, iff ah(2,0)ah \in (-2, 0) — which for small hh requires a<0a < 0.

3.2.2 Nonhomogeneous Equation and Particular Solutions

The equation x˙=ax+b\dot{x} = ax + b (with a0a \neq 0) has equilibrium x=b/ax^* = -b/a. Let x~=xx\tilde{x} = x - x^*; then x~˙=ax~\dot{\tilde{x}} = a\tilde{x}, which is the homogeneous equation. Therefore:

x(t)=x+(x0x)eat=ba+(x0+ba)eat.x(t) = x^* + (x_0 - x^*)e^{at} = -\frac{b}{a} + \left(x_0 + \frac{b}{a}\right)e^{at}.

For a<0a < 0, x(t)xx(t) \to x^* as tt \to \infty: the system converges to the steady state at rate a|a|. The half-life — time for the gap x(t)xx(t) - x^* to halve — is τ1/2=ln2/a\tau_{1/2} = \ln 2 / |a|.

Application: The linearized Solow model near the steady state k~\tilde{k}^* gives:

k~˙k~˙λ(k~k~),\dot{\tilde{k}} - \dot{\tilde{k}}^* \approx -\lambda(\tilde{k} - \tilde{k}^*),

where λ=(1α)μ>0\lambda = (1-\alpha)\mu > 0 [P:Ch.5.2]. This is exactly x~˙=λx~\dot{\tilde{x}} = -\lambda\tilde{x} with a=λ<0a = -\lambda < 0, giving convergence at rate λ\lambda and half-life ln2/λ17\ln 2/\lambda \approx 17 years for λ0.04\lambda \approx 0.04 — the conditional convergence result of Principles Ch. 5.2.

3.2.3 The Integrating Factor Method

For the general first-order linear ODE x˙+p(t)x=q(t)\dot{x} + p(t)x = q(t), the solution uses the integrating factor μ(t)=ep(t)dt\mu(t) = e^{\int p(t)\,dt}:

x(t)=1μ(t)[C+0tμ(s)q(s)ds].x(t) = \frac{1}{\mu(t)}\left[C + \int_0^t \mu(s)q(s)\,ds\right].

This formula is useful when p(t)p(t) or q(t)q(t) are time-varying — as in models with time-varying interest rates or technology growth rates.


3.3 First-Order Nonlinear ODEs: Phase Line Analysis

Most continuous-time macro models generate nonlinear ODEs. Analytical solutions often do not exist, but the phase line (for scalar equations) and phase plane (for 2D systems) provide a complete qualitative picture of the dynamics.

3.3.1 Autonomous Equations and the Phase Line

An autonomous ODE x˙=f(x)\dot{x} = f(x) does not depend explicitly on tt. The dynamics are fully determined by the sign of f(x)f(x):

Definition 3.2 (Steady State). A point xx^* is a steady state (or equilibrium) of x˙=f(x)\dot{x} = f(x) if f(x)=0f(x^*) = 0. The system is stationary at xx^*.

Definition 3.3 (Phase Line). The phase line is a one-dimensional diagram plotting f(x)f(x) on the vertical axis against xx on the horizontal axis. The steady states are the zeros of ff. The system moves rightward (x˙>0\dot{x} > 0) wherever f(x)>0f(x) > 0 and leftward wherever f(x)<0f(x) < 0.

Theorem 3.2 (Local Stability via Linearization). Let xx^* be a steady state of x˙=f(x)\dot{x} = f(x) and suppose ff is differentiable at xx^*. Then xx^* is locally asymptotically stable if f(x)<0f'(x^*) < 0 and locally unstable if f(x)>0f'(x^*) > 0.

Proof. Let x~=xx\tilde{x} = x - x^*. Taylor-expanding: x~˙=f(x+x~)f(x)+f(x)x~=f(x)x~\dot{\tilde{x}} = f(x^* + \tilde{x}) \approx f(x^*) + f'(x^*)\tilde{x} = f'(x^*)\tilde{x}. By Theorem 3.1, this converges iff f(x)<0f'(x^*) < 0. \square

3.3.2 The Solow Equation as a Nonlinear ODE

The fundamental equation of the Solow model [P:Ch.5.2]:

k~˙=sf(k~)μk~,\dot{\tilde{k}} = sf(\tilde{k}) - \mu\tilde{k},

where f(k~)=k~αf(\tilde{k}) = \tilde{k}^\alpha (Cobb–Douglas), ss is the saving rate, μ=n+g+δ\mu = n + g + \delta is the effective depreciation rate.

Phase line analysis:

  1. Steady state: sk~α=μk~s\tilde{k}^{*\alpha} = \mu\tilde{k}^*, giving k~=(s/μ)1/(1α)\tilde{k}^* = (s/\mu)^{1/(1-\alpha)}.

  2. For k~<k~\tilde{k} < \tilde{k}^*: sf(k~)/k~>sk~α/k~=μsf(\tilde{k})/\tilde{k} > s\tilde{k}^{*\alpha}/\tilde{k}^* = \mu (since f(k~)/k~f(\tilde{k})/\tilde{k} is decreasing in k~\tilde{k}), so k~˙>0\dot{\tilde{k}} > 0.

  3. For k~>k~\tilde{k} > \tilde{k}^*: sf(k~)/k~<μsf(\tilde{k})/\tilde{k} < \mu, so k~˙<0\dot{\tilde{k}} < 0.

Therefore k~\tilde{k}^* is globally stable: the economy converges to it from any initial k~0>0\tilde{k}_0 > 0.

Local convergence rate:

f(k~)=ddk~[sf(k~)μk~]k~=sf(k~)μ=αsk~α1μ=αμμ=μ(1α)=λ<0,f'(\tilde{k}^*) = \frac{d}{d\tilde{k}}[sf(\tilde{k}) - \mu\tilde{k}]\Big|_{\tilde{k}^*} = sf'(\tilde{k}^*) - \mu = \alpha s\tilde{k}^{*\alpha-1} - \mu = \alpha\mu - \mu = -\mu(1-\alpha) = -\lambda < 0,

confirming stability and giving the convergence rate λ=μ(1α)\lambda = \mu(1-\alpha).

The Cobb–Douglas analytical solution. For f(k~)=k~αf(\tilde{k}) = \tilde{k}^\alpha, the Solow ODE is a Bernoulli equation, solvable in closed form. Let z=k~1αz = \tilde{k}^{1-\alpha}; then z˙=(1α)k~αk~˙=(1α)(sμz)\dot{z} = (1-\alpha)\tilde{k}^{-\alpha}\dot{\tilde{k}} = (1-\alpha)(s - \mu z), which is a linear ODE with solution:

z(t)=z+(z0z)eλt,z=s/μ.z(t) = z^* + (z_0 - z^*)e^{-\lambda t}, \quad z^* = s/\mu.

Converting back: k~(t)=[k~1α+(k~01αk~1α)eλt]1/(1α)\tilde{k}(t) = [\tilde{k}^{*1-\alpha} + (\tilde{k}_0^{1-\alpha} - \tilde{k}^{*1-\alpha})e^{-\lambda t}]^{1/(1-\alpha)}.

This is the exact transition path of the Solow model — no approximation. It is used in Chapter 10 for numerical verification and to replicate the Mankiw–Romer–Weil convergence regressions.


3.4 Systems of ODEs and Phase Plane Analysis

The RCK model involves two coupled ODEs — the Euler equation for consumption and the capital accumulation equation — which together constitute a 2D autonomous system. Understanding 2D systems requires phase plane analysis.

3.4.1 Linear 2D Systems

For the system x˙=Ax\dot{\mathbf{x}} = A\mathbf{x} with AR2×2A \in \mathbb{R}^{2\times 2}, the solution is:

x(t)=eAtx0=PeDtP1x0,\mathbf{x}(t) = e^{At}\mathbf{x}_0 = P e^{Dt} P^{-1}\mathbf{x}_0,

where A=PDP1A = PDP^{-1} is the eigendecomposition (assuming AA is diagonalisable). The qualitative behavior near the origin is completely determined by the eigenvalues λ1,λ2\lambda_1, \lambda_2.

Definition 3.4 (Classification of 2D Equilibria). For x˙=Ax\dot{\mathbf{x}} = A\mathbf{x} with eigenvalues λ1,λ2\lambda_1, \lambda_2:

EigenvaluesEquilibrium TypeBehavior
λ1<λ2<0\lambda_1 < \lambda_2 < 0Stable nodeMonotone convergence
0<λ1<λ20 < \lambda_1 < \lambda_2Unstable nodeMonotone divergence
λ1<0<λ2\lambda_1 < 0 < \lambda_2Saddle pointStable in one direction, unstable in other
Re(λ)<0\text{Re}(\lambda) < 0, Im(λ)0\text{Im}(\lambda) \neq 0Stable spiralOscillatory convergence
Re(λ)>0\text{Re}(\lambda) > 0, Im(λ)0\text{Im}(\lambda) \neq 0Unstable spiralOscillatory divergence
λ1,2=±bi\lambda_{1,2} = \pm bi, purely imaginaryCentreClosed orbits (neutral stability)

The saddle point is the most important case in macroeconomics. The RCK model has a saddle point: there is a one-dimensional stable manifold (the saddle path) along which the system converges to the steady state, and convergence occurs along this path. Any trajectory starting off the saddle path either violates the transversality condition (too much capital accumulation) or runs into a corner (negative consumption). The unique optimal trajectory is thus the saddle path, selected by the appropriate initial condition on the jump variable c0c_0.

3.4.2 The Nullcline Method

Definition 3.5 (Nullclines). For a 2D autonomous system x˙1=f1(x1,x2)\dot{x}_1 = f_1(x_1, x_2), x˙2=f2(x1,x2)\dot{x}_2 = f_2(x_1, x_2):

  • The x˙1=0\dot{x}_1 = 0 nullcline is the curve {(x1,x2):f1(x1,x2)=0}\{(x_1, x_2): f_1(x_1, x_2) = 0\}.

  • The x˙2=0\dot{x}_2 = 0 nullcline is the curve {(x1,x2):f2(x1,x2)=0}\{(x_1, x_2): f_2(x_1, x_2) = 0\}.

Steady states occur at nullcline intersections. The phase plane is divided into four regions by the nullclines; in each region, the signs of x˙1\dot{x}_1 and x˙2\dot{x}_2 are constant, determining the direction of motion with arrows.

Example — RCK Phase Plane. The system in effective-labor units (k~,c~)(\tilde{k}, \tilde{c}):

k~˙=f(k~)c~μk~,c~˙c~=1σ[f(k~)δρσg].\dot{\tilde{k}} = f(\tilde{k}) - \tilde{c} - \mu\tilde{k}, \qquad \frac{\dot{\tilde{c}}}{\tilde{c}} = \frac{1}{\sigma}[f'(\tilde{k}) - \delta - \rho - \sigma g].

k~˙=0\dot{\tilde{k}} = 0 nullcline: c~=f(k~)μk~\tilde{c} = f(\tilde{k}) - \mu\tilde{k}. This is a hump-shaped curve, peaking at the Golden Rule capital stock k~GR\tilde{k}^{GR} where f(k~GR)=μf'(\tilde{k}^{GR}) = \mu.

c~˙=0\dot{\tilde{c}} = 0 nullcline: f(k~)=δ+ρ+σgf'(\tilde{k}^*) = \delta + \rho + \sigma g. This is a vertical line at the unique k~\tilde{k}^*.

The steady state (k~,c~)(\tilde{k}^*, \tilde{c}^*) is at the intersection. The RCK steady state satisfies k~<k~GR\tilde{k}^* < \tilde{k}^{GR} because impatience (ρ>0\rho > 0) pushes f(k~)=δ+ρ+σg>δ+n+g=f(k~GR)f'(\tilde{k}^*) = \delta + \rho + \sigma g > \delta + n + g = f'(\tilde{k}^{GR}), implying k~<k~GR\tilde{k}^* < \tilde{k}^{GR} since f<0f'' < 0.

3.4.3 Linearization Around the Steady State

To analyze local dynamics, linearize the system around (k~,c~)(\tilde{k}^*, \tilde{c}^*). Define deviations x1=k~k~x_1 = \tilde{k} - \tilde{k}^*, x2=c~c~x_2 = \tilde{c} - \tilde{c}^*. The Jacobian:

J=(k~˙/k~k~˙/c~c~˙/k~c~˙/c~)(k~,c~)=(f(k~)μ1c~σf(k~)0).J = \begin{pmatrix} \partial\dot{\tilde{k}}/\partial\tilde{k} & \partial\dot{\tilde{k}}/\partial\tilde{c} \\ \partial\dot{\tilde{c}}/\partial\tilde{k} & \partial\dot{\tilde{c}}/\partial\tilde{c} \end{pmatrix}\Bigg|_{(\tilde{k}^*, \tilde{c}^*)} = \begin{pmatrix} f'(\tilde{k}^*) - \mu & -1 \\ \frac{\tilde{c}^*}{\sigma}f''(\tilde{k}^*) & 0 \end{pmatrix}.

Theorem 3.3 (Saddle-Point Property of the RCK Steady State). The Jacobian JJ of the RCK system at the steady state has one negative and one positive real eigenvalue (i.e., the steady state is a saddle point).

Proof. det(J)=0(f(k~)μ)(1)c~σf(k~)=c~σf(k~)<0\det(J) = 0\cdot(f'(\tilde{k}^*) - \mu) - (-1)\cdot\frac{\tilde{c}^*}{\sigma}f''(\tilde{k}^*) = \frac{\tilde{c}^*}{\sigma}f''(\tilde{k}^*) < 0, since f<0f'' < 0 (diminishing returns) and c~>0\tilde{c}^* > 0. Since det(J)=λ1λ2<0\det(J) = \lambda_1\lambda_2 < 0, the eigenvalues have opposite signs, confirming a saddle point. \square

The product of eigenvalues is negative: one is positive, one is negative. The negative eigenvalue λ\lambda_- governs the speed of convergence along the saddle path. From the quadratic formula applied to λ2tr(J)λ+det(J)=0\lambda^2 - \text{tr}(J)\lambda + \det(J) = 0:

λ±=tr(J)±tr(J)24det(J)2.\lambda_\pm = \frac{\text{tr}(J) \pm \sqrt{\text{tr}(J)^2 - 4\det(J)}}{2}.

Since det(J)<0\det(J) < 0, the discriminant tr(J)24det(J)>tr(J)2>0\text{tr}(J)^2 - 4\det(J) > \text{tr}(J)^2 > 0, ensuring real eigenvalues.


3.5 Second-Order ODEs: The Multiplier–Accelerator

A second-order ODE x¨+px˙+qx=r\ddot{x} + p\dot{x} + qx = r arises in the continuous-time multiplier–accelerator model [P:Ch.27]. It can always be converted to a 2D first-order system by letting x1=xx_1 = x, x2=x˙x_2 = \dot{x}:

x˙1=x2,x˙2=qx1px2+r.\dot{x}_1 = x_2, \qquad \dot{x}_2 = -qx_1 - px_2 + r.

The matrix of this system is A=(01qp)A = \begin{pmatrix} 0 & 1 \\ -q & -p \end{pmatrix} with tr(A)=p\text{tr}(A) = -p and det(A)=q\det(A) = q.

The characteristic equation of the second-order ODE: λ2+pλ+q=0\lambda^2 + p\lambda + q = 0. The roots:

λ=p±p24q2.\lambda = \frac{-p \pm \sqrt{p^2 - 4q}}{2}.

Stability (both roots with negative real part) requires p>0p > 0 and q>0q > 0.

The nature of the roots determines whether approach to equilibrium is monotone (p2>4qp^2 > 4q, real roots) or oscillatory (p2<4qp^2 < 4q, complex roots with non-zero imaginary part). Oscillatory convergence corresponds to the business-cycle-like fluctuations in the continuous-time multiplier–accelerator model.


3.6 Numerical Solution of ODEs

When analytical solutions are unavailable — which is the rule for nonlinear systems — numerical methods are essential. The two most important are the Euler method and the Runge–Kutta 4th-order method.

Algorithm 3.1 (Euler Method).

Given x˙=f(t,x)\dot{x} = f(t, x), x(0)=x0x(0) = x_0, step size hh:

  1. Set t0=0t_0 = 0, x0=x(0)x_0 = x(0).

  2. For n=0,1,,N1n = 0, 1, \ldots, N-1: xn+1=xn+hf(tn,xn)x_{n+1} = x_n + h \cdot f(t_n, x_n), tn+1=tn+ht_{n+1} = t_n + h.

The Euler method has local truncation error O(h2)O(h^2) and global error O(h)O(h). It is simple but requires small hh for accuracy.

Algorithm 3.2 (Runge–Kutta 4th Order, RK4).

Given x˙=f(t,x)\dot{x} = f(t, x), x(0)=x0x(0) = x_0, step size hh:

  1. Compute four slopes:

    • k1=f(tn,xn)k_1 = f(t_n, x_n)

    • k2=f(tn+h/2,  xn+(h/2)k1)k_2 = f(t_n + h/2,\; x_n + (h/2)k_1)

    • k3=f(tn+h/2,  xn+(h/2)k2)k_3 = f(t_n + h/2,\; x_n + (h/2)k_2)

    • k4=f(tn+h,  xn+hk3)k_4 = f(t_n + h,\; x_n + h\,k_3)

  2. Update: xn+1=xn+(h/6)(k1+2k2+2k3+k4)x_{n+1} = x_n + (h/6)(k_1 + 2k_2 + 2k_3 + k_4).

RK4 has local truncation error O(h5)O(h^5) and global error O(h4)O(h^4) — dramatically more accurate than Euler for the same step size.

⎕IO←0 ⋄ ⎕ML←1
alpha ← 1÷3 ⋄ s ← 0.25 ⋄ mu ← 0.08
solow ← {(s × ⍵*alpha) - mu × ⍵}

⍝ RK4 logic
rk4 ← {f←⍺⍺ ⋄ h←⍺ ⋄ k1←f ⍵ ⋄ k2←f ⍵+(h÷2)×k1 ⋄ k3←f ⍵+(h÷2)×k2 ⋄ k4←f ⍵+h×k3 ⋄ ⍵+(h÷6)×k1+(2×k2)+(2×k3)+k4}

h ← 0.2 ⋄ T ← 1000 ⋄ k0 ← 0.5

⍝ The Logic: We use the Power operator (⍣) to generate the vector.
⍝ {⍵, h (solow rk4) ⊢ ⊃⌽⍵} starts with k0 and appends the NEXT step to the end of the list.
all_k ← {⍵, h (solow rk4) ⊢ ⊃⌽⍵} ⍣ T ⊢ k0

⍝ Check the results
¯20 ↑ all_k
Loading...
# Python — RK4 for the Solow model
import numpy as np
import matplotlib.pyplot as plt

alpha, s, mu = 1/3, 0.25, 0.08

def solow(k): return s * k**alpha - mu * k

def rk4_step(f, x, h):
    k1 = f(x)
    k2 = f(x + (h/2)*k1)
    k3 = f(x + (h/2)*k2)
    k4 = f(x + h*k3)
    return x + (h/6)*(k1 + 2*k2 + 2*k3 + k4)

h, T, k0 = 0.1, 200, 0.5
k_ss = (s / mu) ** (1/(1-alpha))
print(f"Steady state: k* = {k_ss:.4f}")

path = [k0]
for _ in range(T):
    path.append(rk4_step(solow, path[-1], h))

plt.plot(np.arange(T+1)*h, path, label='RK4 trajectory')
plt.axhline(k_ss, linestyle='--', color='red', label='Steady state k*')
plt.xlabel('Time'); plt.ylabel('k̃'); plt.legend(); plt.show()
# Julia — RK4 for the Solow model
alpha, s, mu = 1/3, 0.25, 0.08
solow(k) = s * k^alpha - mu * k

function rk4_step(f, x, h)
    k1 = f(x); k2 = f(x + (h/2)*k1)
    k3 = f(x + (h/2)*k2); k4 = f(x + h*k3)
    x + (h/6)*(k1 + 2k2 + 2k3 + k4)
end

h, T, k0 = 0.1, 200, 0.5
path = accumulate((k,_) -> rk4_step(solow, k, h), 1:T; init=k0)
println("Final k: ", round(last(path), digits=4), "  Steady state: ", round((s/mu)^(1/(1-alpha)), digits=4))
# R — RK4 for the Solow model
alpha <- 1/3; s <- 0.25; mu <- 0.08
solow <- function(k) s * k^alpha - mu * k
rk4_step <- function(f, x, h) {
  k1 <- f(x); k2 <- f(x + (h/2)*k1)
  k3 <- f(x + (h/2)*k2); k4 <- f(x + h*k3)
  x + (h/6)*(k1 + 2*k2 + 2*k3 + k4)
}
h <- 0.1; T <- 200; k0 <- 0.5
path <- Reduce(function(k, .) rk4_step(solow, k, h), seq_len(T), accumulate=TRUE, init=k0)
plot(seq(0, T*h, h), path, type='l', xlab='Time', ylab='k̃',
     main='Solow convergence'); abline(h=(s/mu)^(1/(1-alpha)), lty=2, col='red')

3.7 Worked Example: Full Phase Diagram of the Solow Model

Cross-reference: Principles Ch. 5.2 [P:Ch.5.2]

Calibration: α=1/3\alpha = 1/3, s=0.20s = 0.20, δ=0.05\delta = 0.05, n=0.01n = 0.01, g=0.02g = 0.02, so μ=0.08\mu = 0.08.

Steady state: k~=(0.20/0.08)3/2=(2.5)1.5=3.953\tilde{k}^* = (0.20/0.08)^{3/2} = (2.5)^{1.5} = 3.953.

Convergence rate: λ=(1α)μ=(2/3)(0.08)=0.0533\lambda = (1-\alpha)\mu = (2/3)(0.08) = 0.0533. Half-life: ln2/0.053313.0\ln 2/0.0533 \approx 13.0 years.

Phase line: At k~=1\tilde{k} = 1 (below steady state): k~˙=0.20(1)1/30.08(1)=0.12>0\dot{\tilde{k}} = 0.20(1)^{1/3} - 0.08(1) = 0.12 > 0. At k~=6\tilde{k} = 6 (above steady state): k~˙=0.20(6)1/30.08(6)=0.3620.480=0.118<0\dot{\tilde{k}} = 0.20(6)^{1/3} - 0.08(6) = 0.362 - 0.480 = -0.118 < 0. Both confirm convergence to k~\tilde{k}^*.

Transition path (analytical): With z=k~2/3z = \tilde{k}^{2/3} and z=(s/μ)=2.5z^* = (s/\mu) = 2.5:

k~(t)=[z+(z0z)eλt]3/2=[2.5+(z02.5)e0.0533t]3/2.\tilde{k}(t) = [z^* + (z_0 - z^*)e^{-\lambda t}]^{3/2} = [2.5 + (z_0 - 2.5)e^{-0.0533t}]^{3/2}.

For k~0=1\tilde{k}_0 = 1: z0=12/3=1z_0 = 1^{2/3} = 1, so k~(t)=[2.51.5e0.0533t]3/2\tilde{k}(t) = [2.5 - 1.5e^{-0.0533t}]^{3/2}.

At t=13t = 13 years (one half-life): gap should halve. Current gap: z0z=1.5z_0 - z^* = -1.5. Predicted z(13)=2.51.5e0.693=2.50.75=1.75z(13) = 2.5 - 1.5e^{-0.693} = 2.5 - 0.75 = 1.75, giving k~(13)=(1.75)1.5=2.315\tilde{k}(13) = (1.75)^{1.5} = 2.315. The gap k~k~(13)=3.9532.315=1.638\tilde{k}^* - \tilde{k}(13) = 3.953 - 2.315 = 1.638, which is indeed half of the initial gap 3.9531=2.9533.953 - 1 = 2.953. ✓


3.8 Programming Exercises

Exercise 3.1 (APL)

Write a dfn solow_phase ← {s delta n g alpha ← ⍵ ⋄ ...} that takes parameters as a 5-vector and returns the steady state k~\tilde{k}^*, convergence rate λ\lambda, and half-life τ1/2\tau_{1/2}. Test with the calibration from Section 3.7.

Exercise 3.2 (Python — Phase Diagram)

Plot the Solow phase diagram: the curve sf(k~)sf(\tilde{k}) and the line μk~\mu\tilde{k} on the same axes for k~[0,8]\tilde{k} \in [0, 8], with the steady state marked. Add three trajectory arrows at k~{0.5,2,6}\tilde{k} \in \{0.5, 2, 6\} showing the direction of motion.

Exercise 3.3 (Julia — RCK Saddle Path)

Implement the reverse-shooting algorithm for the RCK model: start from the steady state (k~,c~)(\tilde{k}^*, \tilde{c}^*), perturb slightly along the eigenvector corresponding to λ\lambda_-, and integrate backward in time to trace the saddle path. Parameters: α=1/3\alpha = 1/3, ρ=0.04\rho = 0.04, σ=2\sigma = 2, δ=0.05\delta = 0.05, n=0.01n = 0.01, g=0.02g = 0.02.

Exercise 3.4 (R — Convergence Regression)

Using the analytical Solow transition path k~(t)=[z+(z0z)eλt]1/(1α)\tilde{k}(t) = [z^* + (z_0 - z^*)e^{-\lambda t}]^{1/(1-\alpha)}, generate simulated data for 100 “countries” with:

  • z0U[0.5,3]z_0 \sim U[0.5, 3] (different initial conditions)

  • sU[0.1,0.4]s \sim U[0.1, 0.4] (different saving rates)

  • μ=0.08\mu = 0.08 (common effective depreciation)

Compute 40-year average growth rates and regress on lnk~i,0\ln\tilde{k}_{i,0} with and without ln(si/μ)\ln(s_i/\mu) as a control. Verify that conditional convergence (β<0\beta < 0 conditional on the saving rate) holds but unconditional convergence does not.

Exercise 3.5 — Stability Classification (\star)

For the linear system x˙=Jx\dot{\mathbf{x}} = J\mathbf{x} with Jacobian JJ from Section 3.4.3:

(a) Express tr(J)\text{tr}(J) and det(J)\det(J) in terms of f(k~)f'(\tilde{k}^*), f(k~)f''(\tilde{k}^*), c~\tilde{c}^*, σ\sigma, μ\mu.

(b) Show that det(J)<0\det(J) < 0 for any ff satisfying f<0f'' < 0 and any c~>0\tilde{c}^* > 0, confirming the saddle-point property without reference to any specific functional form.

(c) In APL, implement a function that takes (f,f,c~,σ,μ)(f', f'', \tilde{c}^*, \sigma, \mu) as arguments and returns both eigenvalues of JJ, verifying they have opposite signs.

Exercise 3.6 — Endogenous Growth (\star\star)

The AK model [P:Ch.5.4] has f(k~)=Ak~f(\tilde{k}) = A\tilde{k} (no diminishing returns). The growth equation becomes K˙/K=sAδ\dot{K}/K = sA - \delta. Show that: (a) there is no interior steady state of the Solow type; (b) all trajectories grow at rate g=sAδg^* = sA - \delta (for sA>δsA > \delta); (c) the phase line technique fails here because f(k)=Af'(k) = A is constant. Explain what this implies for the convergence analysis.


3.9 Chapter Summary

This chapter developed the theory of ordinary differential equations for continuous-time macroeconomic models.

Key results:

  • The first-order linear ODE x˙=ax+b\dot{x} = ax + b has solution x(t)=x+(x0x)eatx(t) = x^* + (x_0 - x^*)e^{at} with steady state x=b/ax^* = -b/a; stable iff a<0a < 0.

  • The linearization theorem allows local stability analysis of nonlinear ODEs: the stability of xx^* for x˙=f(x)\dot{x} = f(x) is determined by the sign of f(x)f'(x^*).

  • The Solow ODE is a Bernoulli equation with the exact solution k~(t)=[z+(z0z)eλt]1/(1α)\tilde{k}(t) = [z^* + (z_0 - z^*)e^{-\lambda t}]^{1/(1-\alpha)}, giving convergence at rate λ=(1α)μ\lambda = (1-\alpha)\mu.

  • For 2D systems x˙=Ax\dot{\mathbf{x}} = A\mathbf{x}, the equilibrium type (node, saddle, spiral, center) is determined by (tr(A),det(A))(\text{tr}(A), \det(A)); the RCK steady state is a saddle point because det(J)<0\det(J) < 0.

  • RK4 is the standard numerical ODE solver, with global error O(h4)O(h^4) far superior to Euler’s O(h)O(h).

Connections forward: Chapter 10 develops the full Solow model analytically and numerically, including the closed-form transition path and the MRW convergence regression. Chapter 11 applies the phase plane analysis to the RCK model, using the saddle-path structure to motivate the shooting algorithm and the transversality condition.


Next: Chapter 4 — Difference Equations in Discrete-Time Macro Models