
Egwald Mathematics: Nonlinear Dynamics:
One Dimensional Dynamics and Bifurcations
by
Elmer G. Wiens
Egwald's popular web pages are provided without cost to users. Please show your support by joining Egwald Web Services as a Facebook Fan:
Follow Elmer Wiens on Twitter:
one dimensional dynamics  population dynamics  logistic equation  1dimensional differential equations fixed points and stability  linear stability analysis  bifurcations  saddlenode bifurcation  labour market bifurcation transcritical bifurcation  neoclassical economic growth model  pitchfork bifurcation  kaldor business cycle model stabilized subcritical pitchfork  references
One Dimensional Dynamics: Continuous Time Models.
Population Dynamics
Many concepts of nonlinear dynamics can be illustrated with the model of the growth or decay of a population of organisms. In this model, the rate of change of the population at a specific time is proportional to the population.
Writing x(t) as the population and dx(t)/dt as the change in population at time t, the population model as a differential equation is:
dx(t)/dt = k * x, x(0) = x0 > 0, (1)
where the constant k is the rate of growth or decay, and x0 is the population at the start, time t = 0. If k is positive, the population is growing; if k is negative, the population is diminishing.
The solution to this differential equation is the function of time, x(t), providing the time profile of the population of organisms.
One can solve the differential equation, (1), by separating the variables and integrating:
dx / x = k * dt,
∫ dx / x = ∫ k * dt,
ln x(t) = k * t + C_{1},
x(t) = e^{k*t+C} = e^{k*t}* e^{C},
x(0) = e^{C} = x0, so
x(t) = e^{k*t} * x0. (2)
The solution x(t) = e^{k*t} * x0 suggests that the population will grow or decay exponentially from its starting population, x0, at a rate depending on the magnitude of the parameter k.
Environments typically constrain the size of the population of an organism. Overcrowding and limited resources prevent an organism from increasing in number beyond some level. A slightly more realistic model includes a parameter, xe, representing this equilibrium population:
dx(t)/dt = k * (xe  x), x(0) = x0 > 0. (3)
If the population x at time t is less than xe, the population grows at the rate k times the difference (xe  x); if the population is greater than xe, the population decays at rate k times the difference (xe  x); if the population is xe, it remains at xe. This differential equation has the solution:
x(t) = xe + (x0  xe) * e^{(k*t)}. (4)
The next diagram illustrates some solution curves or trajectories, x(t), for various values of the initial population, x0, an equilibrium population of xe = 30, and a growth rate k = .10.
For populations much less than the environments sustainable level, the number of the organism grows rapidly, tapering off as the population reaches the equilibrium, xe = 30, level. Conversely, for populations much greater than the sustainable level, the number of the organism decreases rapidly with the rate of decay of the population tapering off as it reaches xe = 30.
The relation between the change in the population, dx, as a function of the population level, x, as described by equation (3) is:
dx = k * (xe  x), x > 0 (5)
where dx is a function of x. The graph of this function is the phase diagram of the differential equation (3):
The change in population,dx, is positive for x < xe, and negative for x > xe, as indicated by the arrows on the xaxis. With any initial population, the population will adjust until the equilibrium population, xe, is attained. At this equilibrium, the available resources are just sufficient to maintain the population of the organism.
In the model above, the population grows most rapidly at small levels. If an organism needs to find a suitable mate to reproduce, the rate of growth should gradually increase with the size of the population, until environmental pressures reduce the rate of growth. In other words, one wants a differential equation with a quadratic phase diagram looking something like:
In this model, the rate of growth of the population has a maximum at x = 15, increasing from zero at x = 0, and decreasing to zero at xe = 30. For populations above xe = 30, the rate of growth is negative.
The wellknown logistic differential equation:
dx(t)/dt = k * x * (1  x / xe), x(0) = x0 >= 0. (6)
has these properties.
The relation between the change in the population, dx, as a function of the population level, x, as described by equation (6) is:
dx = k * x * (1  x / xe), x >= 0. (7)
Graphing dx as a function of x yields the phase diagram above when xe = 30. If the initial population x0 = 0, the population will remain at 0 over time. In other words, xe = 0 is also an equilibrium along with xe = 30.
The next diagram illustrates some solution curves, x(t), for various values of the beginning population x0, an equilibrium population of xe = 30, and a growth rate k = .15.
The general solution of the logistic differential equation is:
x(t) = xe / (1  e^{(k * t)} * (x0  xe) / x0). (8)
The set of all curves for specific values of xe and k are a oneparameter family of curves in the parameter x0, also called the integral curves of the differential equation (6). Equation (6) could also be considered as a oneparameter family in k, a oneparameter family in xe, a twoparameter family in k and xe, etc.
One Dimensional Differential Equations
The logistic equation is an example of a one dimensional differential equation. The general form of a one dimensional differential equation with a parameter r is:
dx / dt = f(x, r), x(0) = x0. (9)
If the function f is linear in x, the differential equation (9) is called linear; if the function f is nonlinear in x, it is called nonlinear.
While the solution of the nonlinear logistics differential equation can be represented explicitly by equation (8), determining the explicit solution of most nonlinear differential equations is very difficult or impossible. Consequently, the geometric properties of the function f are investigated to obtain qualitative information about the solution to the differential equation (9).
Fixed Points and Stability
For a specific value of the parameter r = r1, write:
dx / dt = f(x, r1) = f(x). (10)
A fixed point of f is a number x^{*} such that:
f(x^{*}) = 0. (11)
A fixed point x^{*} can also be called an equilibrium point (i.e. xe above), a critical point, a stationary point, or a rest point.
A fixed point x^{*} is stable if all trajectories starting "sufficiently close" to x^{*} stay "close" to x^{*}. The fixed point x^{*} is asymptotically stable if it is stable and trajectories starting "sufficiently close" to x^{*} eventually approach (decay) to x^{*} as t → ∞. A fixed point that is not stable is called unstable.
Linear Stability Analysis
One can analyze the local stability of the differential equation (10) about a fixed point by examining the first derivative of the function f with respect to x evaluated at x^{*}:
λ = f'(x^{*}). (12)
The slope of f at the fixed point x^{*} determines the stability of (10).
The nonlinear process determined by the function f is stable at x^{*} if:
λ = f'(x^{*}) < 0;
the nonlinear process is unstable at x^{*} if:
λ = f'(x^{*}) > 0.
If λ ≠ 0, x^{*} is called a hyperbolic fixed point.
The stability of the process must be examined for each situation if:
λ = f'(x^{*}) = 0.
If λ = 0, x^{*} is called a nonhyperbolic fixed point.
Example: Logistic Equation Stability
The logistic equation (6) for k = 0.15 and xe = 30 is:
dx(t)/dt = f(x, 0.15)= f(x) = 0.15 * x * (1  x /30). (13)
Differentiating f with respect to x:
f'(x) = 0.15 * (1  2 * x / 30). (14)
At x^{*} = 0:
λ = f'(0) = 0.15 > 0,
so the logistic process is unstable at x^{*} = 0.
At x^{*} = 30:
λ = f'(30) = 0.15 < 0,
so the logistic process is stable at x^{*} = 30.
Both fixed points are hyperbolic.
Examples of NonHyperbolic Fixed Points
Nonhyperbolic fixed points can be stable, unstable, or halfstable (unstable). A fixed point is halfstable (unstable) if trajectories converge to the fixed point on one side, but diverge from the fixed point on the other side. The following diagrams illustrate nonlinear processes with a fixed point x^{*} = 0, where f'(0) = 0.
dx /dt = x^3, stable

dx /dt = x^3, unstable

dx /dt = x^2, half (left) stable

dx /dt = x^2, half (right) stable

One Dimensional Bifurcations.
A dictionary definition of bifurcation states: Division into two branches; the point of division; the branches or one of them. A nonlinear process experiences a qualitative change in its dynamics when the nature of its fixed points change. When a change in a parameter results in a qualitative change in the dynamics of a nonlinear process, the process is said to have gone through a bifurcation.
A one dimensional nonlinear dynamic process is modelled by the function f of two variables, x and r, where f is nonlinear in x, and r is a parameter. The differential equation governing the dynamics of the process is:
dx / dt = f(x, r), x(0) = x0. (15)
Bifurcations are classified by the way in which the fixed points of the function f change their number, location, form, and stability. It is convenient to consider normal forms for the different types of bifurcations, and the conditions under which the dynamic process described by equation (15) will experience a specific type of bifurcation.
SaddleNode Bifurcation
The normal form of a saddlenode bifurcation is:
f(x, r) = a * (r  r_{c}) + b * (x  x^{*})^{2}, a ≠ 0, b ≠ 0. (16)
The parameter is r; r_{c} and x^{*} are specific values.
Equation (16) has (x, r) = (x^{*}, r_{c}) as a fixed point since:
f(x^{*}, r_{c}) = a * (r_{c}  r_{c}) + b * (x^{*}  x^{*})^{2} = 0. (17)
For specific values of the parameter r, r_{c}, and x^{*}, the roots of equation (16) are:
x_{1} = x^{*} + sqrt( (a / b) * (r  r_{c}) ),
x_{2} = x^{*}  sqrt( (a / b) * (r  r_{c}) ). (18)
SaddleNode Conditions:
(SN1) f(x^{*}, r_{c}) = 0 → (x^{*}, r_{c}) is a fixed point
(SN2) f_{x}(x^{*}, r_{c}) = 0 → (x^{*}, r_{c}) is nonhyperbolic
(SN3) a = f_{r}(x^{*}, r_{c}) ≠ 0
(SN4) b = (1/2) * f_{x,x}(x^{*}, r_{c}) ≠ 0

SaddleNode Bifurcation Example: x^{*} = 0, r_{c} = 0.
For x^{*} = 0, and r_{c} = 0 equation (16) is:
f(x, r) = a * r + b * x^{2}. (19)
The fixed points of f are:
x_{1} = + sqrt( (a / b) * r ),
x_{2} =  sqrt( (a / b) * r ).
Linearized stability:
Since:
f(0, 0) = a * 0 + b * 0^{2} = 0,
f_{x}(x, r) = 2 * b * x,
f_{x}(0, r) = 2 * b * 0 = 0,
the function f has a nonhyperbolic fixed point at x = x^{*} = 0, r = r_{c} = 0.
The stability of the dynamic process at each equilibrium point x_{1}, and x_{2} depends on the values of f_{x}(x_{1}, r), and f_{x}(x_{2}, r), which depend on the signs of x_{1} or x_{2}, and the coefficient b.
The phase diagram of equation (19) depends on the values of a, b, and r.
Type One SaddleNode Bifurcation: Case a > 0, b > 0
In the following diagrams, a > 0, and b > 0. With r < 0, the phase diagram has two equilibria — one stable and one unstable. These two equilibria coalesce when r = 0, creating a half stable equilibrium. For r > 0, the equilibrium disappears because the discriminant of equation (18) is negative, resulting in complex number roots.
dx = a * r + b * x^{2}; a = 1, b = 1

r = 2, stable & unstable equilibria

r = 0, half (left) stable equilibrium

r = 2, unstable, no equilibrium

SaddleNode Bifurcation Phase Diagrams

The following bifurcation diagram summarizes the behaviour of the equilibria for the saddlenode bifurcation. It shows the equilibria as a function of the parameter r. The blue curve represents the stable equilibria, while the red curve represents the unstable equilibria.
a > 0, b > 0 

SaddleNode Bifurcation Diagram

If r < 0, the nonlinear process has a negative (x < 0) stable equilibrium, and a positive (x > 0) unstable equilibrium. These equilibria coalesce at point, (r = 0, x = 0). This point, (x, r ) = (x^{*}, r_{c}) = (0, 0), is called the bifurcation point of the nonlinear dynamic process. For r > 0, the process diverges to +∞.
The next three diagrams contain graphs of the solution trajectories, x(t), for each case (r < 0, r = 0, r > 0) with some initial points, x(0) = x0.
dx /dt = a * r + b * x^{2}, x(0) = x0; a = 1, b = 1

r = 2

r = 0

r = 2

Solution Trajectories x(t), x(0) = x0

With r < 0, the solution trajectories converge to sqrt(2) for all initial points x(0) < sqrt(2). If x(0) = sqrt(2), x(t) = sqrt(2) for all t. With x(0) > sqrt(2), x(t) diverges to +∞.
With r = 0, x(t) converges to 0 for all x(0) <= 0. With x(0) > 0, x(t) diverges to +∞. With r > 0, x(t) diverges to +∞ for all x(0).
Type Two SaddleNode Bifurcation: Case a > 0, b < 0
dx = a * r + b * x^{2}; a = 1, b = 1

r = 2, unstable, no equilibrium

r = 0, half (right) stable equilibrium

r = 2, unstable & stable equilibria

SaddleNode Bifurcation Phase Diagrams

a > 0, b < 0 

SaddleNode Bifurcation Diagram

dx /dt = a * r + b * x^{2}, x(0) = x0; a = 1, b = 1

r = 2

r = 0

r = 2

Solution Trajectories x(t), x(0) = x0

Type Three SaddleNode Bifurcation: Case a < 0, b > 0
dx = a * r + b * x^{2}; a = 1, b = 1

r = 2, unstable, no equilibrium

r = 0, half (left) stable equilibrium

r = 2, stable & unstable equilibria

SaddleNode Bifurcation Phase Diagrams

a < 0, b > 0 

SaddleNode Bifurcation Diagram

dx /dt = a * r + b * x^{2}, x(0) = x0; a = 1, b = 1

r = 2

r = 0

r = 2

Solution Trajectories x(t), x(0) = x0

Type Four SaddleNode Bifurcation: Case a < 0, b < 0
dx = a * r + b * x^{2}; a = 1, b = 1

r = 2, unstable & stable equilibria

r = 0, half (right) stable equilibrium

r = 2, unstable, no equilibrium

SaddleNode Bifurcation Phase Diagrams

a < 0, b < 0 

SaddleNode Bifurcation Diagram

dx /dt = a * r + b * x^{2}, x(0) = x0; a = 1, b = 1

r = 2

r = 0

r = 2

Solution Trajectories x(t), x(0) = x0

Identifying SaddleNode Bifurcations
The four types of saddlenode bifurcations can identify bifurcations for a differential equation of the form:
dx / dt = f(x, r), x(0) = x0. (20)
Example
Consider the differential equation:
dx / dt = f(x, r) = x  r * e^{x}, x(0) = x0. (21)
Step 1: Determine the nonhyperbolic fixed points.
Solve the next two equations for x = x^{*} and r = r_{c}:
SN1:

f(x, r) = x  r * e^{x} = 0, (22)

SN2: 
f_{x}(x, r) = 1  r * e^{x} = 0. (23)

Equation (22) implies r_{c} = x / e^{x}; equation (23) implies r_{c} = 1 / e^{x}. Together equations (22) and (23) imply the nonhyperbolic fixed point is:
(x, r) = (x^{*}, r_{c}) = (1, 1/e). (24)
Step 2: Determine the nonzero a and b coefficients
SN3:

f_{r}(x, r) = e^{x} → a = f_{r}(x^{*}, r_{c}) =  1 * e^{1} = e < 0, (25)

SN4: 
f_{x,x}(x, r) = r * e^{x} → b = 0.5 * f_{x,x}(x^{*}, r_{c}) = 0.5*(1/e)*e^{1} = 0.5 < 0 (26)

Since a < 0 and b < 0, the dynamic process of equation (21) has a Type Four saddlenode bifurcation at x = x^{*} = 1, r_{c} = 1/e, with two equilibria if r < r_{c} = 1/e, one equilibrium if r = 1/e, and no equilibria if r > 1/e.
The fixed points of equation (22) are the points of intersection of the curves y = x, and y = r * e^{x}.
y = x versus y = r * e^{x}




dx/dt = x  r * e^{x}

r = . 2 < 1/e, unstable & stable equilibria

r = 1/e, half (right) stable equilibrium

r = 1, unstable, no equilibrium

SaddleNode Bifurcation Phase Diagrams

dx /dt = x  r * e^{x}, x(0) = x0;

r = .2

r = 1/e

r = 1

Solution Trajectories x(t), x(0) = x0

The normal form of a differential equation with a saddlenode bifurcation is:
dx/dt = f(x, r) = a * (r  r_{c}) + b * (x  x^{*})^{2}, x(0) = x0; a ≠ 0, b ≠ 0. (27)
The dynamics of the differential equation:
dx / dt = f(x, r) = x  r * e^{x}, x(0) = x0. (28)
are qualitatively similar to the dynamics of the differential equation (27) with:
x^{*} = 1, r_{c} = 1/e
a = e, b = 0.5
Example: Labour Market Bifurcation
The labour market has a demand and a supply schedule. The demand for labour, L_{d}, by firms is a decreasing function of the wage rate, w, while the supply of labour, L_{s}, by workers is an increasing function of the wage rate, w. The first diagram below illustrates these relationships, where the intersection of the L_{d} and L_{s} curves determine the equilibrium wage rate, w, and equilibrium number of workers hired, N. In the diagram of backward bending labour supply, the supply of labour function L_{s}, increases with the wage rate to a wage w, and decreases with any further increases in w.
Labour Market

Increasing Labour Supply

Backward Bending Labour Supply

HansWalter Lorenz describes this model's bifurcation in Nonlinear Dynamical Economics and Chaotic Motion (8889), and Robert Crouch analyzes the validity of a backward bending labour supply schedule in Macroeconomics (4042).
To illustrate the model geometrically, assume the functional forms:
L_{d}(w, r) = r  .8 * w,
L_{s}(w) = .25 * (3.5^{2}  (w  3.5)^{2}),
where r is a parameter, and L_{s}(w) is the backward bending labour supply schedule in the diagram above.
The wage rate, w, adjusts according to the differential equation:
dw / dt = f(w, r) = L_{d}(w, r)  L_{s}(w), w(0) = w0.
Step 1: Determine the nonhyperbolic fixed points.
Solve the next two equations for w = w^{*} and r = r_{c}:
SN1:

f(w, r) = r  .8 * w  .25 * (3.5^{2}  (w  3.5)^{2}) = 0,

SN2: 
f_{w}(w, r) = .8 .25 * (2 * (w  3.5)) = 0 → w^{*} = 5.1 → r_{c} = 6.5025.

The nonhyperbolic fixed point is:
(w, r) = (w^{*}, r_{c}) = (5.1, 6.5025).
Step 2: Determine the nonzero a and b coefficients
SN3:

f_{r}(w, r) = 1 → a = f_{r}(x^{*}, r_{c}) = 1 > 0,

SN4: 
f_{w,w}(w, r) = .25 * 2 → b = 0.5 * f_{w,w}(x^{*}, r_{c}) = 0.25 > 0

Since a > 0 and b > 0, the dynamic process of the labour market has a Type One saddlenode bifurcation at w^{*} = 5.1, r_{c} = 6.5025.
L_{d}(w, r) = r  .8 * w, versus L_{s}(w) = .25 * (3.5^{2}  (w  3.5)^{2})




dw / dt = r  .8 * w  .25 * (3.5^{2}  (w  3.5)^{2})

r = 6, stable & unstable equilibria

r = r_{c}, half (left) stable equilibrium

r = 7, unstable, no equilibrium

SaddleNode Bifurcation Phase Diagrams

dw / dt = r  .8 * w  .25 * (3.5^{2}  (w  3.5)^{2}), w(0) = w0;

r = 6

r = r_{c}

r = 7

Solution Trajectories w(t), w(0) = w0

Transcritical Bifurcation
The normal form of a transcritical bifurcation is:
f(x, r) = a * (r  r_{c}) * (x  x^{*}) + b * (x  x^{*})^{2}, a ≠ 0, b ≠ 0. (29)
The parameter is r; r_{c} and x^{*} are specific values.
After factoring (x  x^{*}) equation (29) becomes:
f(x, r) = (x  x^{*}) * [a * (r  r_{c}) + b * (x  x^{*})], (30)
revealing the roots of equation (29) as:
x_{1} = x^{*}
x_{2} = x^{*}  (a / b) * (r  r_{c}). (31)
Transcritical Conditions
(TC1) f(0, r) = 0 for all r
(TC2) f_{x}(0, r_{c}) = 0 → (0, r_{c}) is nonhyperbolic
(TC3) a = f_{x,r}(0, r_{c}) ≠ 0
(TC4) b = (1/2) * f_{x,x}(0, r_{c}) ≠ 0

Transcritical Bifurcation Example: x^{*} = 0, r_{c} = 0.
For x^{*} = 0, and r_{c} = 0 equation (29) is:
f(x, r) = a * r * x + b * x^{2}. (32)
The fixed points of f are:
x_{1} = x^{*} = 0,
x_{2} =  (a / b) * r.
Linearized stability:
Since:
f(0, r) = 0 for all r,
f_{x}(x, r) = a * r + 2 * b * x,
f_{x}(0, r) = 0 for r = 0,
the function f has a nonhyperbolic fixed point at x = x^{*} = 0, r = r_{c} = 0.
The phase diagram of equation (32) depends on the values of a, b, and r.
Type One Transcritical Bifurcation: Case a > 0, b > 0
In the following diagrams, a > 0, and b > 0. With r < 0, the phase diagram has two equilibria — one stable at x = 0, and one unstable at x = r > 0. These two equilibria coalesce when r = 0, creating a half stable equilibrium. For r > 0, the phase diagrams has two equilibria — one stable at x = r < 0, and one unstable at x = 0.
dx = a * r * x + b * x^{2}; a = 1, b = 1

r = 2, stable & unstable equilibria

r = 0, half (left) stable equilibrium

r = 2, stable & unstable equilibria

Transcritical Bifurcation Phase Diagrams

The following bifurcation diagram summarizes the behaviour of the equilibria for the transcritical bifurcation. It shows the equilibria as a function of the parameter r. The blue lines represent the stable equilibria, while the red lines represent the unstable equilibria.
a > 0, b > 0 

Transcritical Bifurcation Diagram

If r < 0, the nonlinear process has a (x = 0) stable equilibrium, and a positive (x > 0) unstable equilibrium. These equilibria coalesce at point, (r = 0, x = 0). This point, (x, r ) = (x^{*}, r_{c}) = (0, 0), is called the bifurcation point of the nonlinear dynamic process. For r > 0, the nonlinear process has a negative (x < 0) stable equilibrium, and an unstable (x = 0) equilibrium.
The next three diagrams contain graphs of the solution trajectories, x(t), for each case (r < 0, r = 0, r > 0) with some initial points, x(0) = x0.
dx /dt = a * r * x + b * x^{2}, x(0) = x0; a = 1, b = 1

r = 2

r = 0

r = 2

Solution Trajectories x(t), x(0) = x0

With r < 0, the solution trajectories converge to 0 for all initial points x(0) < r. If x(0) = r, x(t) = r for all t. With x(0) > r, x(t) diverges to +∞.
With r = 0, x(t) converges to 0 for all x(0) <= 0. With x(0) > 0, x(t) diverges to +∞.
With r > 0, the solution trajectories converge to r < 0 for all initial points x(0) < 0. With x(0) > 0, x(t) diverges to +∞.
Type Two Transcritical Bifurcation: Case a > 0, b < 0
dx = a * r * x + b * x^{2}; a = 1, b = 1

r = 2, unstable & stable equilibria

r = 0, half (right) stable equilibrium

r = 2, unstable & stable equilibria

Transcritical Bifurcation Phase Diagrams

a > 0, b < 0 

Transcritical Bifurcation Diagram

dx /dt = a * r * x + b * x^{2}, x(0) = x0; a = 1, b = 1

r = 2

r = 0

r = 2

Solution Trajectories x(t), x(0) = x0

Type Three Transcritical Bifurcation: Case a < 0, b > 0
dx = a * r * x + b * x^{2}; a = 1, b = 1

r = 2, stable & unstable equilibria

r = 0, half (left) stable equilibrium

r = 2, stable & unstable equilibria

Transcritical Bifurcation Phase Diagrams

a < 0, b > 0 

Transcritical Bifurcation Diagram

dx /dt = a * r * x + b * x^{2}, x(0) = x0; a = 1, b = 1

r = 2

r = 0

r = 2

Solution Trajectories x(t), x(0) = x0

Type Four Transcritical Bifurcation: Case a < 0, b < 0
dx = a * r * x + b * x^{2}; a = 1, b = 1

r = 2, unstable & stable equilibria

r = 0, half (right) stable equilibrium

r = 2, unstable & stable equilibria

Transcritical Bifurcation Phase Diagrams

a < 0, b < 0 

Transcritical Bifurcation Diagram

dx /dt = a * r * x + b * x^{2}, x(0) = x0; a = 1, b = 1

r = 2

r = 0

r = 2

Solution Trajectories x(t), x(0) = x0

Identifying Transcritical Bifurcations
The four types of transcritical bifurcations can identify transcritical bifurcations for a differential equation of the form:
dx / dt = f(x, r), x(0) = x0. (33)
Example: Neoclassical Economic Growth
Consider the Solow Growth Model described in Economic Growth by Henry Wan (3262), and in Nonlinear Dynamical Economics and Chaotic Motion by HansWalter Lorenz(9092).
An economy produces a homogeneous good Y using capital K and labour L according to the production function Y = P(K, L). The labour force grows exponentially as dL/dt = n * L; the capital stock depreciates as dK/dt = μ * K, implying gross investment is I(t) = dK/dt + μ * K(t). If consumption is C(t), the economy's income identity is Y(t) = C(t) + I(t).
Dividing the variables Y, K, I, and C by L yields the per capita variables y, k, i, and c.
Using per capita variables, the production function becomes:
y = P(K/L, 1) = p(k), (34)
the economy's income identity is:
y(t) = c(i) + i(t), (35)
the gross investment identity is:
i(t) = (dK/dt)/L + μ * k(t),
where the rate of change of capital per worker is:
dk/dt = d(K/L)/dt = (dK/dt)/L  (dL/dt)/L * (K/L), so
(dK/dt)/L = dk/dt + n * k.
Consequently, the gross investment identity is:
i(t) = dk/dt + (μ + n) * k. (36)
Using equations (34), (35), and (36), the fundamental differential equation of neoclassical economic growth is:
p(k(t))  (μ + n) * k(t) = c(t) + dk(t)/dt. (37)
If the economy's saving rate is s, per capita consumption is:
c(t) = (1  s) * p(k). (38)
Substituting (38) into (37) and rearranging results in the differential equation governing the growth of the economy's per capita capital stock:
dk/dt = s * p(k)  (μ + n) * k(t). (39)
To illustrate this model geometrically, assume that the production function p(k) has the functional form:
y = p(k) = β * ln(1 + k), β > 0. (40)
(Note: This results in the Solow Growth Model without the Inada condition that p'(0) = ∞.)
The differential equation governing the dynamic process is:
dk/dt = f(k, s) = s * (β * ln(1 + k))  (μ + n) * k, k >=0, k(0) = k0, (41)
with the savings rate, s, as the parameter.
Check the Transcritical Bifurcation Conditions
TC1:

f(0, s) = s * (β * ln(1 + 0))  (μ + n) * 0 = 0 for all r.

TC2: 
f_{k}(k, s) = s * β / (1 + k)  (μ + n),
f_{k}(0, s) = s * β  (μ + n) = 0 → s_{c} = (μ + n) / β. (42)

TC3: 
f_{k,s}(k, s) = β / (1 + k) → a = f_{k,s}(0, s_{c}) = β. (43)

TC4: 
f_{k,k}(k, s) = s * β / (1 + k)^{2} → b = .5 * f_{k,s}(0, s_{c}) = (μ + n) / 2 (44)

Since a > 0, and b < 0, the dynamic process of equation (41) has a Type Two transcritical bifurcation at s_{c} = (μ + n) / β, with one half (right) stable equilibrium if s = s_{c}, and two equilibria (unstable and stable) if s > s_{c}.
(μ + n) * k versus k and s * β * ln( 1 + k) versus k



dk / dt = s * β * ln( 1 + k)  (μ + n) * k

s = s_{c}, half (right) stable equilibrium

s > s_{c}, unstable and stable equilibria

Transcritical Bifurcation Phase Diagrams

dk /dt = s * β * ln( 1 + k)  (μ + n) * k , k(0) = k0

s = s_{c}

r > r_{c}

Solution Trajectories k(t), k(0) = k0

The equilibrium capital stock per capita, k, increases with the savings rate, s. Using Equations (38) and (40):
y = p(k) = β * ln(1 + k),
c = (1  s) * p(k) = (1  s) * y
one can graph the equilibrium income (output) per capita, y, and the equilibrium consumption per capita, c, as functions of the savings rate, s. For s < s_{c}, k, y, and c are zero. For s > s_{c}, equilibrium consumption per capita increases with the savings rate to a maximum and then decreases.
Specifying μ = 0.10, n = 0.05, and β = 1.5, s_{c} = (μ + n) / β = 0.10. The maximum consumption per capita occurs at s = 0.40.
y versus s and c versus s


Pitchfork Bifurcation
The normal form of a pitchfork bifurcation is:
f(x, r) = a * (r  r_{c}) * x + b * x^{3}, a ≠ 0, b ≠ 0. (45)
The parameter is r; r_{c} is a specific value.
Supercritical Pitchfork Bifurcation
In the normal form of a supercritical pitchfork bifurcation, the coefficient, b, in equation (45) is negative. Consequently, the cubic term stabilizes the dynamic process by pulling the trajectory of x(t) back toward x = 0.
Subcritical Pitchfork Bifurcation
In the normal form of a subcritical pitchfork bifurcation, the coefficient, b, in equation (45) is positive. Consequently, the cubic term destabilizes the dynamic process by driving the trajectory of x(t) toward infinity.
After factoring x equation (45) becomes:
f(x, r) = x * [a * (r  r_{c}) + b * x^{2}], (46)
revealing the roots of equation (45) as:
x_{1} = 0,
x_{2} = + sqrt[(a / b) * (r  r_{c})],
x_{3} =  sqrt[(a / b) * (r  r_{c})].
If (a / b) * (r  r_{c}) >= 0 , x_{2} and x_{3} are real numbers.
Note that f is an odd function since:
f(x, r) = f(x, r),
and the function f does not have a transcritical bifurcation since:
f_{x,x}(0, r) = 0.
Pitchfork Conditions
(PF1) f(x, r) = f(x, r) → f is an odd function → f(0, r) = 0
(PF2) f_{x}(0, r_{c}) = 0 → (0, r_{c}) is nonhyperbolic
(PF3) a = f_{x,r}(0, r_{c}) ≠ 0
(PF4) b = (1/6)* f_{x,x,x}(0, r_{c}) ≠ 0

Pitchfork Bifurcation Example: x^{*} = 0, r_{c} = 0.
For r_{c} = 0 equation (45) is:
f(x, r) = a * r * x + b * x^{3}. (47)
The fixed points of f are:
x_{1} = 0,
x_{2} = + sqrt((a / b) * r),
x_{3} =  sqrt((a / b) * r).
Linearized stability:
Since:
f(0, r) = 0 for all r,
f_{x}(x, r) = a * r + 3 * b * x^{2},
f_{x}(0, r) = 0 for r = 0,
the function f has a nonhyperbolic fixed point at x = x_{1} = 0, r = r_{c} = 0.
The phase diagram of equation (47) depends on the values of a, b, and r.
Type One Pitchfork Bifurcation: Case a > 0, b > 0
In the following diagrams, a > 0, and b > 0. With r < 0, the phase diagram has three equilibria — in the order unstable (x_{3}), stable (x_{1}), and unstable (x_{2}). These three equilibria coalesce when r = 0 since x_{1} = x_{2} = x_{3} = 0, resulting in one unstable equilibrium. For r > 0, x_{2} and x_{3} become pure imaginary numbers leaving one stable equilibrium at x_{1} = 0.
dx = a * r * x + b * x^{3}; a = 1, b = 1

r = 2, unstable & stable & unstable equilibria

r = 0, unstable equilibrium

r = 2, unstable equilibrium

Pitchfork Bifurcation Phase Diagrams

a > 0, b > 0 

Pitchfork Bifurcation Diagram

Type Two Pitchfork Bifurcation: Case a > 0, b < 0
dx = a * r * x + b * x^{3}; a = 1, b = 1

r = 2, stable equilibrium

r = 0, stable equilibrium

r = 2, stable & unstable & stable equilibria

Pitchfork Bifurcation Phase Diagrams

a > 0, b < 0 

Pitchfork Bifurcation Diagram

Type Three Pitchfork Bifurcation: Case a < 0, b > 0
dx = a * r * x + b * x^{3}; a = 1, b = 1

r = 2, unstable equilibrium

r = 0, unstable equilibrium

r = 2, unstable & stable & unstable equilibria

Pitchfork Bifurcation Phase Diagrams

a < 0, b > 0 

Pitchfork Bifurcation Diagram

Type Four Pitchfork Bifurcation: Case a < 0, b < 0
dx = a * r * x + b * x^{3}; a = 1, b = 1

r = 2, stable & unstable & stable equilibria

r = 0, stable equilibrium

r = 2, stable equilibrium

Pitchfork Bifurcation Phase Diagrams

a < 0, b < 0 

Pitchfork Bifurcation Diagram

Identifying Pitchfork Bifurcations
The four types of pitchfork bifurcations can identify pitchfork bifurcations for a differential equation of the form:
dx / dt = f(x, r), x(0) = x0. (48)
Example: Kaldor Business Cycle Model
Consider the one dimensional version of Kaldor's Business Cycle Model described by HansWalter Lorenz in Nonlinear Dynamical Economics and Chaotic Motion (4345, 9294). Let the variable Y represent income, and y = Y  Y^{*} represent deviations from the stationary equilibrium income Y^{*}, with all the economy's goods subsumed into one good.
Kaldor assumes the investment function has a sigmoid shape centered at y = 0. Thus investment depends positively on income, but the slope of the investment function decreases if Y diverges from Y^{*}. Assume also that the investment function, i(y, r), depends on a parameter r, increasing the slope of the investment function for all y as r increases.
Savings, s(y), are a linear function of income
The income differential equation is:
dy / dt = α * (i(y, r)  s(y)), y(0) = y0. (49)
To illustrate the model geometrically, assume the functional forms:
i(y, r) = r * tanh(β * y), (50)
s(y) = s * y, (51)
where r is the parameter, and β and s are empirically determined coefficients.
The differential equation governing the dynamic process with α = 1 is:
dy /dt = f(y, r) = r * tanh(β * y)  s * y, y(0) = y0. (52)
Check the Pitchfork Bifurcation Conditions
(PF1) f(y, r) = r * tanh(β * y)  s * y = f(y, r) → f is an odd function → f(0, r) = 0
(PF2) f_{y}(y, r) = β * r * sech^{2}(β * y)  s = 0
f_{y}(0, r) = β * r  s = 0 → r_{c} = s / β → (0, r_{c}) is nonhyperbolic
(PF3) f_{y,r}(y, r) = β * sech^{2}(β * y) → a = f_{y,r}(0, r_{c}) = β ≠ 0
(PF4) f_{y,y,y}(0, r) = 2 * b^{3} * r → b = (1/6)*f_{y,y,y}(0, r_{c}) = (1/3) * b^{3} * s / b = (1/3) * b^{2} * s ≠ 0

Since a > 0, and b < 0, the dynamic process of equation (52) has a Supercritical bifurcation — a Type Two pitchfork bifurcation at y = 0 , r_{c} = s / β,
s * y versus y and r * tanh(β * y),




dy / dt = r * tanh(β * y)  s * y

r < r_{c}, stable equilibrium

r = r_{c}, stable equilibrium

r > r_{c}, stable & unstable & stable equilibria

Pitchfork Bifurcation Phase Diagrams

dy /dt = r * tanh(β * y)  s * y, y(0) = y0

r < r_{c}

r = r_{c}

r > r_{c}

Solution Trajectories y(t), y(0) = y0

Subcritical Pitchfork Bifurcation Revisited
The normal form of a subcritical pitchfork bifurcation is:
dx / dt = f(x, r) = a * r * x + x^{3}. (53)
The cubic term destabilizes the dynamic process by driving the trajectory of x(t) toward infinity.
Stabilized Subcritical Pitchfork Bifurcation
The cubic destabilizing force can be offset by adding a stabilizing force as expressed by the negative coefficient of the x^{5} term in equation (54) below:
dx / dt = f(x, r) = a * r * x + x^{3}  x^{5}. (54)
The fixed points of f(x, r) in (53) are:
x_{1} = 0,
x_{2} = (1/2)*sqrt(2+2*sqrt(1+4*a*r)),
x_{3} = (1/2)*sqrt(2+2*sqrt(1+4*a*r)),
x_{4} = (1/2)*sqrt(22*sqrt(1+4*a*r)),
x_{5} = (1/2)*sqrt(22*sqrt(1+4*a*r)).
Linearized stability
Since:
f(0, r) = 0 for all r,
f_{x}(x, r) = a * r + 3 * x^{2}  5 * x^{4},
f_{x}(0, r ) = 0 for r = 0,
the function f has a nonhyperbolic fixed point at x = x_{1} = 0, r = r_{c} = 0.
Subcritical Pitchfork Bifurcation: Case a = 1 > 0
The following diagrams display the phase diagrams for equation (53) in red, and the phase diagrams for equation (54) in blue.
With r < .25, equation (54) only has a stable fixed point at x_{1} = 0. The other fixed points are complex numbers.
With .25 <= r < 0, all fixed points are real with x_{3} < x_{5} < 0 < x_{4} < x_{2}
With r = 0, x_{1} = x_{2} = x_{3} = 0, and x_{5} < 0 < x_{4}.
With r > 0, x_{3} < 0 < x_{2}, while x_{4} and < x_{5} are complex numbers.
dx = a * r * x + x^{3} and
dx = a * r * x + x^{3}  x^{5}

r = .5,

r = .1

Pitchfork Bifurcation Phase Diagrams

dx = a * r * x + x^{3} and
dx = a * r * x + x^{3}  x^{5}

r = 0

r = .5

Pitchfork Bifurcation Phase Diagrams

dx = a * r * x + x^{3} 
dx = a * r * x + x^{3}  x^{5} 


Subcritical Pitchfork Bifurcation Diagrams

Subcritical Pitchfork Bifurcation: Case a = 1 < 0
The following diagrams display the phase diagrams for equation (53) in red, and the phase diagrams for equation (54) in blue.
dx = a * r * x + x^{3} and
dx = a * r * x + x^{3}  x^{5}

r = .5,

r = 0

Pitchfork Bifurcation Phase Diagrams

dx = a * r * x + x^{3} and
dx = a * r * x + x^{3}  x^{5}

r = .1

r = .5

Pitchfork Bifurcation Phase Diagrams

dx = a * r * x + x^{3} 
dx = a * r * x + x^{3}  x^{5} 


Subcritical Pitchfork Bifurcation Diagrams

References.
 Burden, Richard L. and J. Douglas Faires. Numerical Analysis. 6th ed. Pacific Grove: Brooks/Cole, 1997.
 Demmel, James W. Applied Numerical Linear Algebra. Philadelphia: Siam, 1997.
 Devaney, Robert L. An Introduction to Chaotic Dynamical Systems. Menlo Park, CA: Benjamin/Cummings, 1986.
 Intriligator, M. D. Mathematical Optimization and Economic Theory. Englewood Cliffs: PrenticeHall, 1971.
 Kaplan, Wilfred. Ordinary Differential Equations. Reading: AddisonWesley, 1958.
 Lipschutz, Seymour. Linear Algebra. New York: Schaum McGrawHill, 1968.
 Lorenz, HansWalter. Nonlinear Dynamical Economics and Chaotic Motion. Berlin: SpringerVerlag, 1993.
 Mathews, John H. and Kurtis D. Fink. Numerical Methods Using MATLAB. 3rd ed. Upper Saddle River: Prentice Hall, 1999.
 Nagata, K. Wayne. Nonlinear Dynamics and Chaos: Mathematics 345 Lecture Notes. Vancouver: University of B.C., 2006
 Press, William H., Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterling. Numerical Recipes: The Art of Scientific Computing. Cambridge: Cambridge UP, 1989.
 Strang, Gilbert. Linear Algebra and Its Applications. 3d ed. San Diego: Harcourt, 1976.
 Strogatz, Steven H. Nonlinear Dynamics and Chaos. Cambridge MA: Perseus, 1994.
 Wan, Henry Y. Jr. Economic Growth. New York: Harcourt, 1971.
 Watkins, David S. Fundamentals of Matrix Computations. New York: John Wiley, 1991.

