ABSTRACT (original article): We prove that the critical structure of the prey nullcline constrains where oscillatory instabilities can emerge in planar predator–prey systems of Gause type. Under a predator self–damping hypothesis, the prey coordinate of every Hopf bifurcation point is confined to an ascending branch of the prey nullcline, between consecutive critical points. The mechanism is purely geometric: along the nullcline the diagonal Jacobian entry satisfies =p(x)(x), independently of the bifurcation parameter, while <0 at any coexistence equilibrium; at a critical point (=0) the trace is therefore strictly negative, so the critical points act as spectral barriers that preclude oscillatory onset. We illustrate the principle in three canonical families—Bazykin’s model (quadratic nullcline), a Leslie–Holling type IV system with harvesting (cubic nullcline), and the Crowley–Martin model with predator interference (rational nullcline)—for which we obtain closed–form Hopf loci. The mechanism persists in discrete time: for the forward Euler map with step size , the exact identity shows that the Neimark–Sacker locus is strictly disjoint from the continuous Hopf locus, differs from it by the term , and crosses the spectral barrier only in the coarse–step regime. Predator saturation and interference thus not only bound the efficiency of interactions but also imprint a geometric architecture on the bifurcation landscape. CITATION (original article): Published as: E. Chan-López, A. Martín-Ruiz and V. Castellanos, Nullcline Geometry Constrains the Location of Oscillatory Instabilities in Planar Predator–Prey Systems, Qualitative Theory of Dynamical Systems 25, 172 (2026). https://doi.org/10.1007/s12346-026-01598-7. Read-only version: Springer Nature SharedIt.
J
11
′
g
J
22
′
g
τ
det()-1=τ[tr(J)+τdet(J)]
G
J
O(τ)
τdet(J)
A note on the form of this notebook. The paper presents its results in the order of justification: framework, lemma, theorem, examples. This notebook follows the order of discovery. It retraces the questions, computations and pictures that came before the proof, and only then arrives at the theorem and its consequences. The narrative voice is that of the first author; the mathematics belongs to all three.
Table of Contents
Table of Contents
◼
Beginnings
◼
Where the question comes from
◼
Introduction
◼
The Order of Discovery
◼
Exploration in the Wolfram Language
1
.An unease
2
.A few lines in a book
3
.A plane inside a space
4
.Looking at the parabola: a trichotomy
5
.A direction, then an identity
6
.Another model, and another
◼
The Order of Justification
◼
The theorem and what it makes visible
7
.The localization theorem
8
.When time becomes discrete
9
.From where to how
◼
One Question
◼
References
Introduction
Introduction
Theorems appear when an intuition finally finds the language capable of sustaining it.
Consider a planar predator–prey system of Gause type,
x
y
f
2
where is the density of the prey, that of the predator, the per-capita growth of the prey in the absence of predators, and the functional response: the rate at which a single predator removes prey. The prey nullcline is the graph . Its shape is usually drawn and then forgotten. It deserves better. It is, as we shall see, the place where the model keeps the memory of where oscillations may begin.
x
y
h(x)
p(x)>0
y=g(x)=xh(x)/p(x)
A coexistence equilibrium loses stability through a Hopf bifurcation when a pair of complex conjugate eigenvalues of the Jacobian crosses the imaginary axis: with . This is the condition every paper imposes. It is correct, and it is silent. It tells us when an oscillation appears; it does not tell us where in the state space the system must be for that to be possible.
J
trJ=0
detJ>0
There is a physical way to read the trace. At an equilibrium, is the divergence of the vector field: the rate at which an infinitesimal patch of phase space expands or contracts. In a predator–prey system, biomass enters only through the prey equation. The prey converts external resources into living matter; predation transfers part of that matter upward; predator mortality and interference dissipate it. The diagonal of the Jacobian keeps this account locally. measures what the prey equation injects, what the predator equation dissipates, and a Hopf bifurcation is the moment of exact balance, +=0. Oscillations are born where injection and dissipation become equal.
trJ
J
11
J
22
J
11
J
22
But why should the prey equation inject at all? A population limited by its resources is self-damping: more prey means slower per-capita growth. The source of injection is the saturation of the functional response. A predator limited by handling time cannot keep pace with an abundant prey, so the per-capita risk of predation, , decreases as the prey become abundant. Within a window of densities this relief outweighs logistic crowding, and the per-capita growth rate of the prey increases with its own density. That is a positive feedback, and geometrically it is the ascending branch of the prey nullcline. Other conditions are needed for an oscillation (a coexistence equilibrium, a positive determinant, a self-damped predator), but without saturation there is nothing to balance: no ascending branch, no injection, no Hopf bifurcation.
p(x)/x
The central result of [1] makes this picture exact. Along the prey nullcline,
J
11
′
g
so the prey's contribution to the trace is the slope of its own nullcline, weighted by the marginal predation rate, independently of every parameter that does not enter the prey equation. Under predator self-damping, <0 at every coexistence equilibrium, and the trace can vanish only where (x)>0. Every Hopf point lives on an ascending branch, strictly between consecutive critical points of the prey nullcline. The critical points are spectral barriers.
J
22
′
g
What follows is not the paper. It is the path to the paper: the questions, computations and pictures that came before the proof, reconstructed in the Wolfram Language. Mathematica appears here as it appeared then. It is not a machine that proves. It is a laboratory in which a question can take shape until it becomes impossible to ignore, and in which that question can eventually be handed over to a theorem.
In[]:=
ClearAll["Global`*"];(*Conventions.xispreydensityandyispredatordensity.Neithersymboliseverassignedavalue,soeveryexpressionbelowstayssymbolicuntilwedecideotherwise.*)jacobian[field_List]:=D[field,{{x,y}}];factorRules[rules_List]:=Thread[Keys[rules]->Factor[Values[rules]]];preyColor=RGBColor[0.60,0.10,0.10];ascendingColor=RGBColor[0.12,0.33,0.66];predatorColor=RGBColor[0.85,0.50,0.05];barrierColor=GrayLevel[0.45];
1. An unease
1. An unease
I never thought that this problem would end up occupying several years of my life. It all began with an unease.
Reading papers on Hopf bifurcations in predator–prey models, I kept finding the same scene. Each author studied a different system. The functional responses changed, new parameters appeared, terms for competition, harvesting or interference were added. And yet the strategy remained essentially the same: compute the Jacobian, set its trace to zero, check that the determinant is positive, and derive a condition on the parameters.
It was a correct procedure. But something left me unsatisfied. Each proof solved one model and immediately forgot the next. I could not find what tied all those stories together.
models=<|"Bazykin"->{rx(1-x/k)-axy/(x+b),y(eax/(x+b)-d-σy)},"Leslie-Holling IV"->{x(1-x)-xy/(α+x^2)-h1x,y(δ-βy/x)-h2y},"Crowley-Martin"->{ρx(1-x/k)-axy/((1+bx)(1+cy)),γaxy/((1+bx)(1+cy))-dy}|>;
Out[]=
model | trace of the Jacobian at a general point |
Bazykin | abekx-abky+aek 2 x 2 b 2 b 2 b 2 b 2 x 2 x 2 x 2 x 3 x k 2 (b+x) |
Leslie-Holling IV | -h1 5 x 3 x 2 α 5 x 3 x 2 α 6 x 5 x 5 x 4 x 4 x 3 x 3 x 3 x 2 α 2 x 2 x 2 α 2 α 2 α x 2 (α+ 2 x |
Crowley-Martin | 1 k 2 (bx+1) 2 (cy+1) 2 x 2 y 2 b 2 c 2 x 2 y 2 b 2 c 2 x 2 y 2 b 2 c 3 x 2 y 2 b 2 x 2 b 2 x 2 b 3 x 2 b 2 x 2 b 2 x 2 b 3 x 2 c 2 y 2 c 2 y 2 c 2 x 2 y 2 x 2 x 2 c 2 y 2 c 2 y 2 c 2 y |
Three models, three traces, three expressions with no visible kinship. The recipe works every time, and every time it explains nothing that carries over to the next model. With time I understood that my unease was not algebraic. It was geometric.
During those months something curious happened. I stopped asking where the bifurcation appeared, and began asking what it meant. The difference seems small. It is not. Looking for a condition is solving a problem. Looking for meaning is trying to discover a structure. Without noticing, I had changed the question completely.
2. A few lines in a book
2. A few lines in a book
I remember an afternoon reading Alan Hastings' Population Biology: Concepts and Models [3]. It was not a proof that caught my attention, nor a theorem. It was a short explanation of the geometry of the Rosenzweig–MacArthur model [4]: the coexistence equilibrium loses its stability as it passes over the hump of the prey nullcline.
Sometimes an enormous idea enters our head occupying only a few lines. That observation stayed with me for days, not because I understood its importance at once, but because it produced a strange sense of incompleteness. It was like seeing the summit of a mountain whose base remained hidden.
In the Wolfram Language the observation takes four lines.
In[]:=
rosenzweigMacArthur={rx(1-x/k)-axy/(x+b),y(eax/(x+b)-d)};(*Thepreynullcline:adownwardparabola.*)gRM=Factor[y/.First[Solve[First[rosenzweigMacArthur]/x==0,y]]](*Anequilibriumonthisnullclineischaracterizedbyd=eax/(x+b).*)trRM=Simplify[Tr[jacobian[rosenzweigMacArthur]]/.y->gRM/.d->eax/(x+b)](*Thetraceistheslopeofthenullcline,weightedbythefunctionalresponse...*)Simplify[trRM==(ax/(x+b))D[gRM,x]](*...soitvanishesexactlyatthetopofthehump.*)Reduce[trRM==0&&x>0&&k>b>0&&r>0,x,Reals]
Out[]=
r(k-x)(b+x)
ak
Out[]=
r(-b+k-2x)x
k(b+x)
Out[]=
True
Out[]=
k>0&&0<b<k&&r>0&&x(-b+k)
1
2
At an equilibrium of the Rosenzweig–MacArthur system the trace is exactly , and it vanishes exactly at the vertex . The predator equation contributes nothing, because at equilibrium its diagonal entry is zero. That is why the Hopf point occurs at the top of the hump. The question I could not put down was this: what happens when the predator's diagonal entry is not zero?
p(x)(x)
′
g
x=(k-b)/2
3. A plane inside a space
3. A plane inside a space
By then I was already using Mathematica to explore models. I did not use it only to verify computations I already knew how to do. I used it to ask questions.
I was studying a system of three populations: two competing prey and one predator. Examining it, an invariant plane appeared, and on that plane, a predator–prey system. That is how Bazykin's model [6] entered the story. The three-population model led to a result I later published with Víctor Castellanos and Jaume Llibre [12]: a Hopf bifurcation producing a continuous transition between two limit cycles embedded in different phase spaces, one in the three-dimensional phase space and another confined to an invariant plane. In that work the planar Hopf bifurcation on Bazykin's plane was an ingredient I could verify but not yet explain; I used it as a black box, because I did not yet have a general planar explanation that would justify its role in the three-dimensional system.
So Bazykin's model became my laboratory. The computations below retrace an exploratory notebook I kept years before the paper [1] existed. I did not think, at the time, that I had found the model around which a theory would be built. It was simply the system in front of me, and Mathematica allowed me to walk through it.
In[]:=
threeSpecies={r1x(1-x/k1)-c1xy-a1xz/(x+b1),r2y(1-y/k2)-c2xy-a2yz/(y+b2),e1a1xz/(x+b1)+e2a2yz/(y+b2)-dz-σz^2};(*Theplanex=0isinvariant:thefirstcomponentvanishesidenticallyonit.*)First[threeSpecies]/.x->0(*Onthatplanethe(y,z)dynamicsisBazykin'spredator-preysystem.Werename(y,z)->(x,y)sothatxisagaintheprey.*)bazykin=Rest[threeSpecies]/.x->0/.{y->x,z->y,r2->r,k2->k,a2->a,b2->b,e2->e};Simplify[bazykin-models["Bazykin"]]TraditionalForm[Column[bazykin]]
4. Looking at the parabola: a trichotomy
4. Looking at the parabola: a trichotomy
I computed the Jacobian, examined its trace and its determinant, eliminated variables, parametrized families of equilibria, imposed the spectral conditions of Hopf and watched which relations among the parameters appeared. Many of those computations were routine. Precisely for that reason they began to trouble me. I could repeat them again and again, but the feeling was always the same: I was calculating a lot and understanding little.
So I stopped looking only at the algebraic expressions, and began to look at the nullclines. The prey nullcline of Bazykin's system is a parabola opening downward. It has a maximum. And once one sees a maximum, it is hard not to ask what happens on each side of it.
Thus appeared a division that at first seemed completely elementary: before the maximum, at the maximum, after the maximum. I did not know yet that this trichotomy would become one of the central pieces of the story. I simply wanted to compare the three cases.
4.1 Three cases
4.1 Three cases
Negative, for every admissible choice of parameters. The maximum could not be the place where the Hopf bifurcation appears. That was already interesting, but it could still be a coincidence. So I looked at the other side.
One more computation belongs here, as a matter of honesty.
The positivity of the determinant is a genuine extra condition, and its boundary is given by points where the trace and determinant vanish simultaneously. These are the points associated with the Bogdanov–Takens boundary of the Hopf family. It does not affect the localization: the side of the vertex is already decided by the trace.
4.2 An explorer for the trichotomy
4.2 An explorer for the trichotomy
Move the slider to the vertex and the prey bar disappears: only dissipation remains. Move it beyond, and both bars point down. The trace can be positive only on a stretch of the ascending branch, and the two points where it changes sign are the Hopf points of this example.
4.3 Parameters that behave like surfaces
4.3 Parameters that behave like surfaces
At that moment I decided to do something that looked strange. Instead of solving for a state variable, I kept solving for parameters. I was not after an algebraic simplification. I only wanted to look at the problem from another angle. The geometry began, quite literally, to reorganize itself in front of me. The parameters stopped behaving like numbers and began to behave like surfaces.
5. A direction, then an identity
5. A direction, then an identity
I remember that night with a precision that still surprises me. On the table there was a sheet covered with parabolas drawn by hand. Behind them were pages of symbolic computation: Jacobians, traces, determinants, eliminations, families of parameters, plots made to see what was happening. The sheet was only the simplest form I had found to think about all of that.
At dawn something happened that I have never managed to explain satisfactorily. I did not dream a proof. No complete formula appeared. Something much simpler happened: I woke up knowing exactly what to look at. That is perhaps the most honest description I can offer. I did not find an answer. I found a direction.
The vertex of the prey nullcline was not a graphical detail. It was the organizer of the problem. It felt less like discovering something new than like recognizing something that had always been there, like finding a hidden door in a room one has visited for years.
The identity was small. The story that had produced it was not. I had started with a concrete parabola, separated three regions, observed the sign of the trace, and now the slope of a curve was appearing directly inside the Jacobian matrix. Geometry had become algebra.
6. Another model, and another
6. Another model, and another
Many colleagues told me at the time that it was probably a coincidence peculiar to Bazykin's model. I understood. It was a reasonable objection; I would have thought the same a few months earlier. So I did not answer with arguments. I answered by doing the only thing that could be done. I looked for another model. And then another. And another.
6.1 Fifteen hundred models
6.1 Fifteen hundred models
Today that search can be made systematic. The next cell draws random Gause systems: logistic prey, a functional response chosen among Holling II (saturation), Holling III (sigmoid saturation) and Holling IV (inhibition), anda predator equation with self-damping of Bazykin or Leslie type. For every coexistence equilibrium it records the slope of the prey nullcline, the trace and the determinant, computing the Jacobian from the full vector field.
Not a single equilibrium falls in the forbidden quadrant. Every point with nonnegative trace sits over an ascending branch. Conjectures are not born because we imagine a lot. They are born because a structure obstinately refuses to disappear.
6.2 Three geometries
6.2 Three geometries
The paper [1] treats three canonical families in closed form: Bazykin's quadratic nullcline; a Leslie–Holling type IV system with harvesting [8], whose nullcline is a cubic with a local minimum and a local maximum; and the Crowley–Martin model with predator interference [7], whose nullcline is rational. In each case the Hopf locus can be written explicitly as a function of the equilibrium position, and in each case its admissible part is an ascending arc.
7. The localization theorem
7. The localization theorem
When I finally wrote the proof, I felt an unexpected emotion. I did not feel that I had created an idea. I felt that I had found the language needed to describe a geometry that had been waiting a long time to be named.
The proof is three lines long. Everything else in this notebook is the distance between not having it and having it. What remains is to let the Wolfram Language show what the theorem makes visible.
7.1 Injection meets dissipation
7.1 Injection meets dissipation
7.2 An equilibrium sliding on a fixed parabola
7.2 An equilibrium sliding on a fixed parabola
7.3 Rosenzweig–MacArthur as the boundary case
7.3 Rosenzweig–MacArthur as the boundary case
7.4 Saturation creates the branch
7.4 Saturation creates the branch
8. When time becomes discrete
8. When time becomes discrete
9. From where to how
9. From where to how
The ideas behind the theorem were sharpened in many discussions with Alberto Martín-Ruiz and Víctor Castellanos. In March, I also asked Jaume Llibre whether he knew of related work; he did not, and his encouragement to pursue the idea stayed with me. The article took its final form in June 2026, during a research stay with Alberto at the Instituto de Ciencias Nucleares of UNAM, from the 12th to the 20th; it was submitted to Qualitative Theory of Dynamical Systems that same week. Then came the waiting.
Waiting has a strange nature for someone who does research. The problem is no longer in your hands, but it has not finished existing. When the reports arrived, they were brief and remarkably clean: the result was described as interesting, novel and useful, and the work was recommended for publication after a short revision. I read those words with a satisfaction unlike the one I had felt on finding the geometry. The first had been the recognition of a structure. This was the confirmation that the structure could leave my notebook and stand before other eyes.
The first paper asked where. The second asked how. Both were looking at the same structure.
One question
One question
When I remember the first afternoon in which I drew Bazykin's parabolas, everything that came afterward seems almost strange. There was no research program. There was no theory waiting to be developed. There was an unease, a figure, some computations, a computer, and a question: what part of this figure is really organizing the dynamics?
The same question has followed me elsewhere. In the Faddeev–Jackiw reduction of singular Lagrangians, the object that governed the regularity of the problem turned out to be not the Schur complement but the kernel of the presymplectic form. In the normal form of the Bogdanov–Takens bifurcation, the coefficients turned out to be directional derivatives of the characteristic invariants of the Jacobian. In cellular automata, the organizing object was a symmetry. It may look as if I wander among too many subjects. I do not think so. I have pursued one question in several languages: what remains when everything seems to change? Physics taught me to ask about mechanisms. Mathematics taught me to recognize structures. My research began the day I understood that both questions were, at bottom, the same.
There is a way of presenting mathematics in which the definitions come first and the proof arrives as if from nowhere. It is clear and efficient, and it hides almost everything that makes mathematics a human activity. A theorem is not the beginning of a story; it is the moment in which a story becomes communicable. What comes before it (the unease, the drawings, the wrong turns, the obstinate intuition) is not scaffolding to be discarded once the building stands. It is where the understanding lives.
Nor did the geometry of the prey nullcline need an application to deserve attention. Its value was already there the moment it was seen: a slope, a vertex, a balance between what enters and what is lost. That the same facts also tell ecologists where oscillations can appear is a gift, not a justification. Some structures deserve to be understood before anyone asks what they are good for.
When I finally wrote the proof, I did not feel that I had invented a world. I felt that I had recognized an order that had always been there, invisible, waiting patiently for someone to ask the right question.
Mathematics begins when the mind discovers invariants.
References
References
[1] E. Chan-López, A. Martín-Ruiz and V. Castellanos, Nullcline geometry constrains the location of oscillatory instabilities in planar predator–prey systems, Qual. Theory Dyn. Syst. 25, 172 (2026). https://doi.org/10.1007/s12346-026-01598-7
[2] E. Chan-López, The trace field on the prey nullcline: criticality of planar Hopf bifurcations on the admissible branch, arXiv:2608.22047 (2026). https://doi.org/10.48550/arXiv.2608.22047
[3] A. Hastings, Population Biology: Concepts and Models, Springer, New York (1997). https://doi.org/10.1007/978-1-4757-2731-9
[4] M. L. Rosenzweig and R. H. MacArthur, Graphical representation and stability conditions of predator–prey interactions, Am. Nat. 97, 209–223 (1963). https://doi.org/10.1086/282272
[5] M. L. Rosenzweig, Paradox of enrichment: destabilization of exploitation ecosystems in ecological time, Science 171, 385–387 (1971). https://doi.org/10.1126/science.171.3969.385
[6] A. D. Bazykin, Nonlinear Dynamics of Interacting Populations, World Scientific, Singapore (1998). https://doi.org/10.1142/2284
[7] P. H. Crowley and E. K. Martin, Functional responses and interference within and between year classes of a dragonfly population, J. North Am. Benthol. Soc. 8, 211–221 (1989). https://doi.org/10.2307/1467324
[8] J. Huang, X. Xia, X. Zhang and S. Ruan, Bifurcation of codimension 3 in a predator–prey system of Leslie type with simplified Holling type IV functional response, Int. J. Bifurc. Chaos 26, 1650034 (2016). https://doi.org/10.1142/S0218127416500346
[9] A. Hammoum, T. Sari and K. Yadi, The Rosenzweig–MacArthur graphical criterion for a predator–prey model with variable mortality rate, Qual. Theory Dyn. Syst. 22, 36 (2023). https://doi.org/10.1007/s12346-023-00739-6
[10] Yu. A. Kuznetsov, Elements of Applied Bifurcation Theory, 3rd ed., Springer, New York (2004). https://doi.org/10.1007/978-1-4757-3978-7
[11] Yu. A. Kuznetsov and H. G. E. Meijer, Numerical Bifurcation Analysis of Maps: From Theory to Software, Cambridge University Press (2019). https://doi.org/10.1017/9781108585804
[12] V. Castellanos, E. Chan-López and J. Llibre, The transition between two ecological limit cycles in one predator-two competitive prey model, Dyn. Contin. Discrete Impuls. Syst. Ser. B Appl. Algorithms 31, 377–404 (2024). No DOI assigned; archival copy: gsd.uab.cat (UAB Dynamical Systems group)
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
The Hidden Geometry of Hopf
by E. Chan-López, A. Martín-Ruiz and V. Castellanos
Wolfram Community, STAFF PICKS, September 25, 2026
https://community.wolfram.com/t/28174
by E. Chan-López, A. Martín-Ruiz and V. Castellanos
Wolfram Community, STAFF PICKS, September 25, 2026
https://community.wolfram.com/t/28174