Linear and Nonlinear Dynamics
Some additional material and references
Fixed Point
Let \(f : S \to S\) where we will assume \(S \subseteq \mathbb{R}^N\). Then a fixed point \(x^* \in S\) of \(f\) is one where
\[ x^* = f(x^*) \]
Fixed points may not exist, or could have multiplicity
\[ x_{t+1} = a x_t + b \equiv f(x_t),\quad \text{ given }x_0 \]
\[ \begin{aligned} x_1 &= a x_0 +b\\ x_2 &= a x_1 + b = a^2 x_0 + ab + b\\ \ldots & \\ x_t &= a^t x_0 + b \sum_{i=0}^{t-1} a^i = a^t x_0 + b \frac{1-a^t}{1-a}\\ x^* &\equiv \lim_{t\to\infty}x_t = \begin{cases}\frac{b}{1-a} & \text{ if } |a|<1\\ \text{diverges} & \text{ if } |a| > 1 \text{ or } a=1, b\neq 0\\ \text{indeterminate} & \text{ if } a=1, b=0 \end{cases} \end{aligned} \]
\[ \begin{aligned} x_{t+1} &= f(x^*) + \nabla f(x^*) (x_t - x^*) + \text{second order and smaller terms}\\ x_{t+1} - x^* &\approx \nabla f(x^*) (x_t - x^*)\\ \hat{x}_{t+1} &\approx \nabla f(x^*) \hat{x}_t \end{aligned} \]
Recall that both had fixed points at \(x^*=0\) and \(x^*=1\)
Lets check derivatives! Let \(f_1(x) = \sqrt{x}\) and \(f_2(x) = x^2\)
Check spectral radius of the Jacobians (trivial since univariate) at the fixed points:
Interpretation:
Then capital dynamics follow a nonlinear difference equation with steady state
\[ \begin{aligned} y_t &= A k_t^{\alpha}\\ k_{t+1} &= s y_t + (1-\delta)k_t = s A k_t^{\alpha} + (1-\delta) k_t \equiv g(k_t)\quad \text{ given }k_0\\ k^* &\equiv \left(\frac{s A}{\delta}\right)^{\frac{1}{1-\alpha}} \end{aligned} \]
k_1 = g(k_0) = 0.546,k_2 = g(g(k_0)) = 0.828
k_star = 1.785
\[ \begin{aligned} \nabla g(k^*) &= \alpha s A k^{*\alpha-1} + 1-\delta,\quad \text{ substitute for } k^*\\ &= \alpha s A \frac{\delta}{s A} + 1-\delta = \alpha \delta + 1 - \delta\\ &= 1 - (1-\alpha)\delta < 1 \end{aligned} \]
X_1 = simulate(g, X_0, T) # use with our g
X_2 = simulate(g, np.array([2.1]) , T)
fig, ax = plt.subplots()
ax.plot(range(T+1), X_1.T,
label=r"$k_t$ from $k_0 = 0.25$")
ax.plot(range(T+1), X_2.T,
label=r"$k_t$ from $k_0 = 2.1$")
ax.set(xlabel="t", ylabel="Capital per Worker")
ax.axhline(y=k_star, linestyle=':',
color='black',label=r"$k^*$")
ax.legend()
plt.show()
\[ M = \begin{pmatrix} 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 \\ 1 & 0 & 0 & 1 \\ 1 & 1 & 0 & 0 \end{pmatrix} \]
One interpretation of this is that you can
Alternatively,
\[ S = \begin{pmatrix} 0 & 0.5 & 0.5 & 0 \\ 0 & 0 & 0.5 & 0.5 \\ 0.5 & 0 & 0 & 0.5 \\ 0.5 & 0.5 & 0 & 0 \end{pmatrix} \]
\[ r_{t+1} = S^{\top} r_t \]