Open in CoCalc

# Bifurcations in homeomorphisms of $\mathbb R$.

We will consider the family of maps $f_c(x) = \frac{1}{2} (e^x + x - c).$ We can see this is a homeomorphism of $\mathbb R$ because the derivative is everywhere in the interval $[\frac{1}{2},+\infty)$. Another nice property of the map is that $f_c'(0)=1$ for all $c$. Also $f'$ is increasing so that this is the only point where $f'_c$ is zero.

In [1]:
# This function returns the map f_c.
def f(c):
m(x) = 1/2*(e^x + x - c)
return m

In [2]:
f_1 = f(1)
x = var("x")
f_1(x)

1/2*x + 1/2*e^x - 1/2
In [3]:
# The identity map
identity(x) = x


A bifurcation occurs at the value $c=1$. Here we plot some nearby values

In [4]:
# Plot of f_0.9
plot(f(0.9),-1,1,aspect_ratio=1)+plot(identity, color="red")

In [5]:
# Plot of f_1
plot(f(1),-1,1,aspect_ratio=1)+plot(identity, color="red")

In [6]:
# Plot of f_1.1
plot(f(1.1),-1,1,aspect_ratio=1)+plot(identity, color="red")


A bifurcation is a sudden change in the dynamics as we change the parameters of a family of dynamical systems. In this case, a bifurcation occurs at the value $c=1$:

• For values of $c<1$: For every $x \in \mathbb R$, $\lim_{n \to +\infty} f_c^n(x)=+\infty$. That is, $W^s(+\infty)=\mathbb R$.
• At the value $c=1$: The map $f_1$ has a single fixed point, $f_1(0)=0$. For values of $x<0$, we have $\lim_{n \to +\infty} f_1^n(x)=0$. For values of $x>0$, we have $\lim_{n \to +\infty} f_1^n(x)=+\infty$. That is, $W^s(0)=(-\infty,0] \quad \text{and} \quad W^s(+\infty)=(0,+\infty).$
• At values of $c>1$: The map $f_c$ has two fixed points, denote them by $a$ and $b$ with \$a

## Visualizing the maps through a vector field.

We can visualize this bifurcation in the $(x,c)$ plane, where dynamics in the horizontal line of height $c$ represent the action of $f_c$. First, let us compute the fixed points.

Observe that the $x$ value of a fixed point uniquely determines the $c$ value:

In [7]:
c=var("c")
x=var("x")
solve(f(c)(x)==x,c)

[c == -x + e^x]
In [8]:
c_value_of_fixed_point(x) = e^x - x

In [9]:
fixed_point_plot = plot(c_value_of_fixed_point, -2, 1.25, aspect_ratio=1)
fixed_point_plot


Since $c$ is a parameter, it is constant under iteration. We define the map $F(x,c) = \big(f_c(x), c\big).$

In [10]:
F(x,c) = (f(c)(x), c)
F(x,c)

(-1/2*c + 1/2*x + 1/2*e^x, c)

We can visualize $F$ as a vector field. At each point $(x,c)$, we join $(x,c)$ to its image $F(x,c)$ by a displacement vector with value $F(x,c)-(x,c)$. We just compute this to be:

In [11]:
V(x,c) = (-1/2*c + 1/2*x + 1/2*e^x - x, 0)

In [12]:
fixed_point_plot + plot_vector_field(V(x,c), (x,-2,1.25), (c,0,2.2))