So \(y \rightarrow 0\) for \(t \rightarrow \infty\)
Thus, \(\dot{x} = x + e^{-y}\) becomes \(\dot{x} \rightarrow x + 1\) for long times
This has exponentially growing solutions
Toward \(\infty\) for \(x > -1\) and \(-\infty\) for \(x < -1\)
Thus, overall solution grows exponentially in at least one dimension, and so is unstable.
Example – nullclines
Step 3: Sketch nullclines
Nullclines are the sets of points for which \(\dot{x} = 0\) or \(\dot{y} = 0\), so flow is either horizontal or vertical.
Example – computed
Step 4: Plot flow lines
Existence & Uniqueness
Non-linear \(\dot{\mathbf{x}} = f(\mathbf{x})\) and given an initial condition.
Existence and uniqueness of solution guaranteed if \(f\) is continuously differentiable
Corollary: Trajectories do not intersect, because if they did, then there would be two solutions for the same initial condition at the crossing point
Linearization About Fixed Points
Solving Linearized Systems
Example
More Examples
Classification of Fixed Points
Relevance for Nonlinear Dynamics
So, we have said that we can find fixed points of nonlinear dynamics, linearize about each fixed point, and characterize the dynamics about each fixed point in the non-linear model by the corresponding linear model.
Is this always true? Do the nonlinearities ever disturb this approach?
A theorem can be proven which states
That all the regions on the previous slide are “robust” (nodes, spirals, saddles) and correspond between linear and nonlinear models.
But that all the lines on the previous slide are “delicate” (centers, stars, degenerate nodes, non-isolated fixed points) and can have different behaviors in linear and non-linear models.
Bifurcations
The phase portraits we have been looking at describe the trajectory of the system for a given set of initial conditions. However, for “fixed” parameters (rate constants in eqns, for instance).
What we might like is a series of phase portraits corresponding to different sets of parameters.
Many will be qualitatively similar. The interesting ones will be where a small change of parameters creates a qualitative change in the phase portrait (bifurcations).
What we will find is that fixed points & closed orbits can be created/destroyed and stabilized/destabilized.
Saddle-Node Bifurcation
Genetic Control Network
Griffith (1971) model of genetic control:
x = protein concentration
y = mRNA concentration
Genetic Control Network
Biochemical version of a bistable switch:
Only stable points are no protein and mRNA or a fixed composition
If degradation rates too great, only stable point is origin
where b and c are positive constants, and a prime (’) denotes a derivative. To solve this equation with odeint, we must first convert it to a system of first order equations. By defining the angular velocity \(\omega(t) = \theta'(t)\), we obtain the system:
\[\theta'(t) = \omega(t)\]
\[\omega'(t) = -b*\omega(t) - c*\sin(\theta(t))\]
Implementation - Example
Let y be the vector \([\theta, \omega]\). We implement this system in python as:
We assume the constants are \(b = 0.25\) and \(c = 5.0\):
b, c =0.25, 5.0
Implementation - Example
For initial conditions, we assume the pendulum is nearly vertical with \(\theta(0) = \pi - 0.1\), and it initially at rest, so \(\omega(0) = 0\). Then the vector of initial conditions is
y0 = [np.pi -0.1, 0.0]
We generate a solution 101 evenly spaced samples in the interval \(0 \leq t \leq 10\). So our array of times is:
t = np.linspace(0, 10, 101)
Implementation - Example
Call odeint to generate the solution. To pass the parameters b and c to pend, we give them to odeint using the args argument.
from scipy.integrate import odeintsol = odeint(pend, y0, t, args=(b, c))
The solution is an array with shape (101, 2). The first column is \(\theta(t)\), and the second is \(\omega(t)\). The following code plots both components.