These examples reduce conductance-based spiking to phase-plane geometry. They compare the visibly separated slow and fast variables in FitzHugh--Nagumo and Hodgkin--Huxley (HH) systems, then show how that separation organizes a periodic orbit.
When one state changes much faster than another, trajectories move quickly
between branches of a slow manifold and linger near slow branches. Nullclines
locate the directions with zero velocity, while a closed orbit describes
repeated firing. A reduction with instantaneous sodium activation and
The FitzHugh--Nagumo example uses
Here
All five examples now live in one notebook, chapter10.ipynb:
simulate_fn integrates FitzHugh-Nagumo and plots its nullclines, orbit,
and voltage trace; simulate_hh_h_plus_n plots the HH combination 0.83 approximation; simulate_reduced_hh compares the
reduced HH voltage and gates with the imposed simulate_hh_nullclines_plus_solution draws the reduced HH nullclines and
a trajectory with direction arrows; simulate_hh_cycle_speed colors
portions of the HH orbit by their phase-plane speed. The nullcline
construction shared by the last two lives in hh_v_nullcline. Each has an
ipywidgets slider to explore its parameters interactively.
In FN, find the long motion near the cubic nullcline and the rapid jumps
between its outer branches. Compare HH_H_PLUS_N with REDUCED_HH before
using the two-dimensional HH plots. In HH_CYCLE_SPEED, green points mark
the slow portions of the orbit and blue points the faster traversal.
- Run
FNto connect nullclines to slow-fast motion. - Run
HH_H_PLUS_NandREDUCED_HHto inspect the HH reduction. - Use
HH_NULLCLINES_PLUS_SOLUTIONandHH_CYCLE_SPEEDto read its cycle.
This chapter builds on HH gates from Chapters 03--04 and the reduced models introduced in Chapter 05. Chapters 11--15 use the same phase-plane language to study bifurcations and canards.
Open chapter10.ipynb in Jupyter, or via the Colab
badge at the top of the notebook. Run all cells top to bottom; each
section's static figure reproduces the book's plot, and the interact(...)
cell below it lets you adjust that example's parameters with sliders.