Nullclines & Jacobian Linearization Explorer

Where equilibria live, what the linearization says about them, and what the nullcline geometry can and cannot reveal on its own. Click anywhere on the plane to launch a trajectory.

© 2026 Theodore P. Pavlic (MIT License)

x-nullcline (ẋ = 0) y-nullcline (ẏ = 0) eigenvectors (real λ) rotation oval (complex λ) trajectory initial condition

Click the plane to show trajectories. A few of them reveal behavior the nullclines alone hide, like the fast-slow jumps of FitzHugh–Nagumo once its time-scale separation sharpens. The initial-condition dots stay fixed as the sliders move, and so the same starting points carry across parameter changes for easy comparison.

How to read a phase plane from its nullclines
x y ẋ = 0 ẏ = 0 equilibrium

In the figure, the blue line is the x-nullcline ẋ = 0 and the red line is the y-nullcline ẏ = 0. The flow arrows take the color of the rate that drives them: on the blue ẋ = 0 line only y changes, which colors those arrows red (the color), and on the red ẏ = 0 line only x changes, which colors those arrows blue (the color). The open orange circle marks the equilibrium where the two nullclines cross, and the faint gray lines are the coordinate axes.

Nullclines are the curves where one rate is zero. On the blue x-nullcline ẋ = 0, and so the flow there can only point straight up or down; on the red y-nullcline ẏ = 0, and so it points straight left or right. The two curves carve the plane into regions where and each keep one sign, and stepping across a nullcline flips that one component. Where the curves cross, both rates vanish at once, which is an equilibrium. The vector-field arrows in the plot show which way the flow actually runs in each region. In this example, the nullclines combined with the direction of flow across them are consistent with an unstable equilibrium (drawn here as an open circle) because the arrows point away from the crossing on every side. They do not settle whether it is an unstable node or an unstable focus; that distinction turns on the discriminant (the trace and determinant) and not on the crossing geometry.

The angle at which the nullclines cross hints at the type of equilibrium but does not fix its stability. Their relative steepness feeds the determinant, which separates saddles (negative determinant) from nodes and foci (positive). What the angle cannot give is the trace, and the trace is what decides stable versus unstable. A stable focus and an unstable one can share the exact same pair of nullclines, and so reading stability off the picture takes the flow arrows, not the angle. The linear tab shows this directly: hold both slopes fixed and slide a row gain, and the focus flips stability while the nullclines stay put.

Parameters

Equilibria & linearization

Trace–determinant plane

Each dot is an equilibrium, and its position determines its stability; dots are color coded by their stability classification. The frame is held fixed, and so the parabola stays put as the sliders move; an equilibrium pushed past the frame is pinned to the nearest edge with a small arrow toward its true position. See below for how to read this plane.
How to read this trace–determinant plane
tr² − 4 det = 0 tr det stable focus unstable focus stable node unstable node center saddle (det < 0)

In the map and in both plots, color marks stability (green stable, orange unstable, and purple saddle), and fill marks attraction: a filled dot is an attractor, and an open dot is not. A center is the boundary case, stable but not attracting, and so it appears as an open green dot.

The two axes are the trace (horizontal) and determinant (vertical) of the Jacobian J. The eigenvalues of J are the roots of its characteristic equation det(J − λI) = 0, which for a 2×2 matrix is λ² − (tr)λ + det = 0, and so the two eigenvalues sum to the trace and multiply to the determinant. The quantity (tr² − 4 det) is the discriminant of that quadratic, exactly like (b² − 4ac) in the quadratic formula. An equilibrium is stable only when both eigenvalues have negative real parts, and the five regions all follow from that:

  • det < 0 → saddle (below the horizontal axis): the eigenvalues are real with opposite signs, one positive and one negative, and so their product, the determinant, is negative. One direction attracts and another repels.
  • det > 0 → node or focus. The eigenvalues now share a sign or arrive as a complex pair, and so the trace settles stability:
    • below the parabola, (tr² − 4 det) > 0: two real eigenvalues of the same sign – a stable node when tr < 0, an unstable node when tr > 0.
    • inside the parabola, (tr² − 4 det) < 0: a complex pair with real part tr/2 – a stable focus when tr < 0, an unstable focus when tr > 0, and a center when tr = 0 (purely imaginary).

Far to the left or right, where the trace magnitude is large, the equilibrium falls below the parabola, and the eigenvalues are real because (tr² − 4 det) grows with tr². A very negative trace then drives both roots negative (firmly stable), and a very positive trace drives both positive (firmly unstable), which is why the node and focus halves split stable from unstable.

Key point: The Jacobian linearization only describes the behavior within a small neighborhood of the equilibrium. In nonlinear systems, the global behavior can be more complex (e.g., stable limit cycles that completely surround unstable nodes).