1

Oscillations & Hopf

Feedback · Sigmoids · Mackey-Glass · HPG · Holling-Tanner

🌊 The Two Causes of Stable Oscillations
🗝 The only two things that cause oscillations
1. Steep negative feedback — controlled by the steepness parameter $n$ in a sigmoid function. The steeper the feedback, the more the system overcorrects, creating oscillation.

2. Long time delay — controlled by $\tau$ (explicit) or by the number of steps in a cascade (implicit). The longer the delay, the more the system overshoots before correcting.

Both must be large enough simultaneously. Increasing just one isn't enough — you need both $n$ and $\tau$ past their thresholds at the same time.
Bennoun's specific thresholds (Class 2 summary slide)
Steepness of sigmoid:
• $n \leq 4$ → not steep → unlikely to oscillate
• $n \geq 8$ → steep → likely to oscillate

Time delay:
• $\tau \leq 0.4$ → small → unlikely to oscillate
• $\tau \geq 0.8$ → large → likely to oscillate

Both must be in the high range simultaneously.
Stable vs Neutral vs No Oscillation
TypeAttractorAfter a small kick...Example
Stable oscillationsStable limit cycleReturns to same amplitude & periodHolling-Tanner with large $w$
Neutral oscillationsCenter (neutral EP)Stays at new amplitude foreverLotka-Volterra, Locust model
Decays to EPStable spiral/nodeSpirals toward equilibriumHPG with small $n$
The key difference: stable oscillations snap back to the same cycle after perturbation. Neutral ones drift to a new orbit. This is tested directly.
🔥 How to determine if a system will oscillate
Look for two things in the equations:
1. Is there a negative feedback loop? (Variable A stimulates something that eventually inhibits A)
2. Is there a time delay, either explicit ($A(t-\tau)$) or implicit (chain of 3+ steps)?

If both are present and parameters are large enough → oscillation possible via Hopf bifurcation.
🔄 Identifying Feedback Loops
How to trace a feedback loop
A feedback loop is a closed chain: $A \to B \to \cdots \to A$.

To classify each link in the chain:
Positive link (→+): increasing A causes the next variable to increase. Comes from a positive coefficient or increasing sigmoid.
Negative link (→−): increasing A causes the next variable to decrease. Comes from a decreasing sigmoid or a subtraction term.

Then multiply the signs around the loop:
• If the product of all signs = negativenegative feedback loop → can cause oscillations
• If the product = positivepositive feedback loop → causes bistability, NOT oscillations
Worked Example — Classify this loop
$$A' = \frac{512}{512 + B^9} - 0.1A \qquad B' = 0.4A(t-10) - 0.5B$$ Link A→B: The $B'$ equation has $+0.4A$. So increasing $A$ increases $B$. → Positive link
Link B→A: The $A'$ equation has $\frac{512}{512+B^9}$ which is a decreasing sigmoid in $B$. So increasing $B$ decreases $A'$. → Negative link

Loop sign: $(+) \times (-) = \mathbf{-}$ → Negative feedback loop ✓
Also: $\tau = 10$ is an explicit delay in $A(t-10)$. With $n=9$ (steep) and $\tau=10$ (long) → expect oscillations.
Self-loops
A term like $-kX$ where $X$ is the same variable is a negative self-loop (degradation). It doesn't cause oscillations on its own but is important in model equations.
A term like $+kX^2$ would be a positive self-loop.
Function shapes at a glance
increasing sigmoid xⁿ/(hⁿ+xⁿ) x10 h ½ decreasing sigmoid hⁿ/(hⁿ+xⁿ) x10 h ½ Holling Type II cx/(h+x) no n! xc c h c/2
⚠ Schematic illustration only — not drawn to scale or from simulation.
📈 Sigmoid Functions — Know All Three
Three types you must recognize
1. Decreasing sigmoid (negative feedback, inhibition): $$f(x) = \frac{h^n}{h^n + x^n}$$ Starts near 1 when $x$ is small, drops toward 0 as $x$ grows. Used when $x$ inhibits production.

2. Increasing sigmoid (cooperative activation, Allee effect): $$f(x) = \frac{x^n}{h^n + x^n}$$ Starts near 0, rises toward 1. Used when $x$ activates production cooperatively.

3. Saturating / Holling Type II (not a sigmoid — no steep threshold): $$f(x) = \frac{wx}{d + x}$$ Rises from 0, saturates at $w$. No $n$ parameter — always same shape. Used for predator feeding rates.
The parameter n controls steepness
$n = 1$: gentle, gradual response — unlikely to oscillate
$n = 5$: moderate steepness
$n = 9$: very steep, almost switch-like — likely to oscillate

$h$ is the half-saturation constant: the value of $x$ at which $f(x) = 0.5$. It shifts the curve left/right but doesn't change steepness.
🫁 Mackey-Glass Model (CO₂ / Breathing)
The equation
$$X'(t) = L - \frac{V_{\max} \cdot X^n(t-\tau)}{1 + X^n(t-\tau)} \cdot X(t)$$ Each term explained:
• $L$: constant CO₂ production from cellular metabolism (input, always positive)
• $\frac{V_{\max} X^n(t-\tau)}{1+X^n(t-\tau)}$: ventilation rate (breaths/min) — an increasing sigmoid of $X(t-\tau)$
• Multiplied by $X(t)$: more CO₂ per breath when CO₂ concentration is high
• $\tau$: neural time delay between sensing CO₂ and adjusting breathing
Why it oscillates (Cheyne-Stokes breathing)
High CO₂ → brain signals faster breathing → but this signal arrives $\tau$ seconds late → by then CO₂ has already changed → overshooting → oscillation.

Increasing $\tau$ or $n$ past critical values triggers Hopf bifurcation: stable breathing → periodic (oscillating) breathing. This is Cheyne-Stokes respiration, seen in heart failure patients.
🔥 What the exam tests
Be able to identify: (1) the negative feedback loop (high CO₂ → more ventilation → CO₂ drops → inhibits further ventilation), (2) the explicit time delay $\tau$, and (3) which parameters ($n$, $\tau$) control whether it oscillates.
HPG feedback cascade
H Hypothalamus P Pituitary G Gonads +1 +1 H'=f(G)−k₁H P'=H−k₂P G'=P−k₃G − negative feedback f(G) = 1/(1+Gⁿ) −k₁H decay −k₂P decay −k₃G decay
⚠ Schematic illustration only — not drawn to scale or from simulation.
🧬 H/P/G Hormonal Model
The three equations
$$H' = \underbrace{f(G)}_{\text{decreasing sigmoid}} - k_1 H \qquad f(G) = \frac{1}{1+G^n}$$ $$P' = H - k_2 P$$ $$G' = P - k_3 G$$ H = hypothalamic hormone, P = pituitary hormone, G = gonadal hormone (e.g. testosterone/estrogen)
Reading the model
• $H' = f(G) - k_1H$: $H$ is produced at rate $f(G)$ (inhibited by $G$ — decreasing sigmoid) and degrades at rate $k_1H$
• $P' = H - k_2P$: $P$ is produced proportional to $H$, degrades at $k_2P$
• $G' = P - k_3G$: $G$ is produced proportional to $P$, degrades at $k_3G$

The feedback loop: $G$ inhibits $H$ (via decreasing sigmoid) → $H$ stimulates $P$ → $P$ stimulates $G$ → back to start. This is a negative feedback loop.
Why the implicit delay matters
There is NO explicit $\tau$ in the equations. Yet this system can oscillate because the signal from $H$ takes 3 steps to reach back to $H$ (through $P$ and $G$). This cascade delay acts like an implicit time delay.

Proof: remove the intermediate step (try an H/G model with only 2 variables) → oscillations disappear → confirms the cascade is the source of delay.

With $n=5$: system has stable spiral (tends to EP). With $n=9$: system oscillates with a stable limit cycle.
🦁 Holling-Tanner Predator-Prey Model
The equations
$$N' = r_1 N\!\left(1-\frac{N}{k}\right) - \frac{wN}{d+N}P$$ $$P' = r_2 P\!\left(1-\frac{jP}{N}\right)$$ $N$ = prey (e.g. rabbits), $P$ = predators (e.g. foxes)
Why this is better than Lotka-Volterra
Lotka-VolterraHolling-Tanner
Prey growthExponential $bN$ (unrealistic)Logistic $r_1N(1-N/k)$ (has carrying capacity)
Predation rate$aNP$ (unbounded — predators never get full)$\frac{wN}{d+N}P$ (saturates — predators get full)
Long-termNeutral oscillations onlyCan be stable spiral OR stable limit cycle
Predator equation intuition — $P' = r_2 P(1 - jP/N)$
Each predator needs $j$ prey to survive. The whole predator population needs $jP$ prey total.
• If $jP < N$: enough prey → predators grow (positive)
• If $jP > N$: not enough prey → predators decline (negative)
• If $jP = N$: exactly balanced → predator population stable
🔥 Hopf bifurcation in Holling-Tanner (the $w$ example)
For the model $N'=N(1-N/7)-w\frac{N}{1+N}P$, $P'=0.1P(1-P/N)$:

$w$ valueEP stabilityLong-term behavior
$w=0.3$Stable nodeTends directly to EP (no spiraling)
$w=0.8$Stable spiralSpirals into equilibrium
$w=0.9$Unstable spiralStable limit cycle (oscillations!)
$w=1.0$Unstable spiralStable limit cycle (oscillations!)
Hopf bifurcation occurs between $w=0.8$ and $w=0.9$. As $w$ increases past $w^*$: stable equilibrium → unstable equilibrium + stable limit cycle.
Hopf bifurcation — illustrative schematic
c < 0 Re(λ) < 0 → stable spiral trajectories → EP c = 0 (Hopf!) Re(λ) = 0 → neutral neutral orbits (set by IC) c > 0 Re(λ) > 0 → limit cycle stable limit cycle EP unstable — spiral out
⚠ Schematic illustration only — not drawn to scale or from simulation.
🔀 Hopf Bifurcation
Bennoun's exact definition (Class 15)
Take a model that depends on a parameter $c$ with equilibrium point $P^*$. Suppose the Jacobian at $P^*$ has eigenvalues $\lambda_{1,2} = x \pm yi$, and $x$ (the real part) goes from negative to positive as $c$ changes.

Then the behavior changes from: stable spiral EP → unstable spiral EP + stable limit cycle.

Before Hopf (Re(λ) < 0): stable spiral → trajectories wind inward to EP
At Hopf (Re(λ) = 0): purely imaginary eigenvalues → neutral center
After Hopf (Re(λ) > 0): unstable spiral + stable limit cycle appears
🗝 How to find the Hopf bifurcation parameter
Find the equilibrium point (set equations to 0, solve)
Compute the Jacobian $J$ at the EP (take all partial derivatives)
Write $(J_{11}+J_{22})$ as a function of the parameter
Set $(J_{11}+J_{22}) = 0$ and solve for the parameter value $p^*$
Verify $\det(J) > 0$ at $p^*$ (ensures eigenvalues are complex, not real)
PLF Final Review — Complex model writing (Ducks, Geese, Aquatic Plants)
Three variables: $D$ = ducks, $G$ = geese, $A$ = aquatic plants. Read each assumption and map to a term:

Plants: logistic growth (no predators) − saturating consumption by each duck − saturating consumption by each goose:
$$A' = 0.65A\left(1-\frac{A}{300}\right) - \frac{9A}{h_2+A}D - \frac{14A}{h_1+A}G$$
Ducks: birth rate delayed by 1 yr (time to mature) − constant death − loss from goose aggression (proportional to DG contact):
$$D' = 0.28D(t-1) - 0.2D - 0.03DG$$
Geese: birth rate = decreasing sigmoid of D (fewer ducks = more births), delayed 2 yr − constant death:
$$G' = 0.12\frac{h_3}{h_3 + D(t-2)}G - 0.16G$$

Key rules to remember:
• "Saturating, non-sigmoid" → Holling Type II: $\frac{cX}{h+X}$ (no $n$ exponent)
• "Drops off steeply" or "steep sigmoid" → decreasing sigmoid: $\frac{h^n}{h^n+X^n}$ with large $n$
• Time to mature → explicit delay $\tau$ in the birth term only
• "Proportional to contact" → product $DG$ (mass action)
PLF Final Review — Harlequin bug DDEs (3 variables with multiple delays)
$H$ = adult bugs, $E$ = eggs, $W$ = wasps. Key translation:

• "Lays 12 eggs/week" → $+12H$ in $E'$
• "Die due to competition proportional to H" → $-0.7H^2$ in $H'$ (non-linear!)
• "25% of eggs hatch per week" → $-0.25E$ in $E'$; those hatched eggs become adults 5 weeks later → $+0.25E(t-5)$ in $H'$
• "Saturating wasp egg-laying rate, saturation 0.9, half-saturation 400" → $\frac{0.9E}{400+E}W$ per wasp
• Wasps hatch 0.5 weeks later → use $E(t-0.5)$ in that term for $W'$
• Each parasitized egg → 6 wasps, destroys the egg

$$E' = 12H - 0.25E - \frac{0.9E}{400+E}W$$ $$H' = 0.25E(t-5) - 0.1H - 0.7H^2$$ $$W' = 6\cdot\frac{0.9E(t-0.5)}{400+E(t-0.5)}W(t-0.5) - kW$$

Pattern to memorize: When something "takes X weeks to mature", the input to that growth term uses the delayed version $X(t-\tau)$, not current $X(t)$.
✦ Unit 1 Practice Quiz

✦ Quiz — Oscillations & Hopf

Q1. Which two conditions are BOTH required for stable oscillations?

A) Positive feedback loop AND long time delay
B) Steep negative feedback (large $n$) AND long time delay (large $\tau$)
C) Negative feedback AND the system must be 3-dimensional
D) Decreasing sigmoid AND positive self-loop

Q2. In the system $A' = \frac{1}{1+B^5} - 0.1A$, $B' = 0.3A - 0.5B$, what type of feedback loop connects A and B?

A) Positive feedback (both links positive)
B) Negative feedback (A→B positive, B→A negative via decreasing sigmoid)
C) No feedback — A and B are independent
D) Negative feedback (A→B negative, B→A positive)

Q3. What is the key difference between stable and neutral oscillations?

A) Stable oscillations grow over time; neutral ones stay constant
B) After a perturbation, stable oscillations return to the same amplitude; neutral ones drift to a new orbit permanently
C) Stable oscillations are faster; neutral ones are slower
D) Stable oscillations require 3 variables; neutral oscillations need only 2

Q4. In the Holling-Tanner model, what does increasing the parameter $w$ (predation intensity) eventually cause?

A) The prey go extinct immediately
B) A Hopf bifurcation: stable spiral EP becomes unstable, and a stable limit cycle appears
C) The system becomes chaotic
D) The oscillations disappear — system decays to equilibrium

Q5. The H/P/G model has no explicit time delay $\tau$ in its equations. Why can it still oscillate?

A) It cannot oscillate — without explicit delay, oscillations are impossible
B) The 3-step cascade $H\to P\to G\to$(back to $H$) creates an implicit time delay — it takes multiple steps for feedback to complete
C) The sigmoid function itself creates the delay
D) Degradation terms $-k_1H$ etc. create the delay