## Abstract

We consider three connected populations with Allee effect, and give a complete classification of the steady state structure of the system with respect to the Allee threshold and the dispersal rate, describing the bifurcations at each critical point where the number of steady states change. One may expect that by increasing the dispersal rate between the patches, the system would become more well-mixed hence simpler, however we show that it is not always the case, and the number of steady states may (temporarily) increase by increasing the dispersal rate. Besides sequences of pitchfork and saddle-node bifurcations, we find triple-transcritical bifurcations and also a sun-ray shaped bifurcation where twelve steady states meet at a single point then disappear.

## 1 Introduction

In population dynamics, Allee effect refers to a situation when a population has lower growth rate at small densities. There are several biological mechanisms that can create this effect, and its significance in ecology has been widely demonstrated [1].

The simplest mathematical example of an Allee effect is given by the cubic growth model
where *N*(*t*) is the population size, *Ṅ*(*t*) is its time derivative, *r* is the intrinsic growth rate, *K* is the carrying capacity, and *A* ∈ (0, *K*) is called the Allee threshold. From a dynamical systems point of view, this is also one of the simplest systems with bistability: populations above the Allee threshold persist and converges to the carrying capacity, whereas populations that fall under the Allee threshold go extinct. With the transformation , after dropping the tilde and using the notation *b* = *A/K*, the cubic growth equation can be rescaled to

While this equation is indeed simple, things get interesting when we consider the spatial distribution of a species exhibiting Allee effect and living at different habitats which are connected by spatial dispersal. In that case, a large number of steady states emerge with a variety of configurations depending on the network of connections between the patches [8]. Multiple attractors and long transients have been identified in discrete time models for spatially structured populations with Allee effect ([2], [6]). When there are only two connected patches, up to nine steady states can coexist, and the bifurcations of this planar system has been investigated for a continuous time model in [4]. The goal of our work is to provide a complete description of the bifurcations for populations dispersed at three connected patches.

## 2 Three patch model

In the following sections we consider a compartmental model consisting of three patches. For *i* = 1,2,3 let *N _{i}*(

*t*) denote the population at the

*i*th patch at time

*t*. We drop the emphasis on t and simply write

*N*. The evolution of the populations in the three patches is modeled by the following ODEs in . where

_{i}*Ṅ*stands for . The parameters

_{i}*b*≥ 0 and

*a*≥ 0 correspond to the Allee threshold and the dispersal rate between patches respectively. In this model all three patches are identical and connected reversibly with equal dispersal rates. In another word, the connection graph of the patches is a complete simple labeled digraph with the same labels.

The *steady states* of the ODE system (1) for fixed values of the parameters *a* and *b* are the non-negative solutions to the polynomial system of equations obtained by letting *Ṅ _{i}*s equal to zero. The goal of the next section is to study the number of steady states of this three patches model. Speaking algebraically, we consider the following parametric polynomial system of equations in three variables

*N*

_{1},

*N*

_{2},

*N*

_{3}and two parameters

*a, b*.

Then we want to determine what are the possible number of non-negative solutions to (2) and describe the conditions on the parameters for each case. Before we proceed to the next section, we prove two lemmas.

*Consider the following ODE system in n variables N _{i}, i* = 1, …,

*n and two parameters a, b*.

*The number of steady states of* (3) *for the parameter point (a, b)* *is equal to the number of steady states for the parameter point* .

*Proof.* Using the change of variables , we have

Hence for any solution (*x*_{1}, …, *x _{n}*) of the system for the parameter point (

*a, b*), we have a solution for the parameter point and vice versa. This proves that the number of steady states (equilibria) of the system is the same for the two choices of the parameter points.

*Consider the ODE system in n variables N _{i}, i* = 1, …,

*n and two parameters a,b given in*(3).

*The number of steady states of the system for the parameter point (a, b)*∈ ℝ

_{>0}× (0,1)

*is equal to the number of steady states for the parameter point (a, 1-b)*.

*Proof.* Using the change of variables y_{i} = 1 – *N _{i}, i* = 1, …,

*n*, we have

Hence for any solution (*x*_{1}, …, *x _{n}*) of the system for the parameter point (

*a, b*), we have a solution (1 –

*x*

_{1}, …, 1 –

*x*) for the parameter point (

_{n}*a*, 1 –

*b*) and vice versa. This proves that the number of steady states of the system is the same for the two choices of the parameter points.

By Lemmas 2.1 and 2.2, it is enough to study the number of steady states of (3) only on the parameter region .

## 3 Multiple steady states via the CAD method

As illustrated in the previous section, the goal of this section can be simplified to the study of the number of solutions to the system of equations (2) together with the inequalities given below:

To this end we should compute the *discriminant variety* of the system and then decompose the parameter region using *Cylindrical Algebraic Decomposition* (CAD) with respect to the discriminant variety. The output will be a collection of closed and open regions called *cells*, each of them entirely inside the discriminant variety or a connected component of the complement of the discriminant variety. The number of solutions of the system made by (2) and (4) is invariant on each cell. Because the number of these cells is finite, it is enough to pick up one sample point from each cell and solve the system for the parameter values determined by the sample point. To read more about this method see [9]. This method is implemented in a `Maple` package called `RootFinding[Parametric]` [3]. But our computer resource^{1} is not sufficient to handle this computation with both *a* and *b* as free parameters. Instead, we chose 101 equally distanced values for *b* between and including 0 and . Then we compute the 1-dimensional CAD with respect to *a* for each of the choices of *b*. For each generic value of *b* we get five critical values for *a*. Denote these five values by *α _{i}, i* = 1, …, 5, ordered from the smallest number to the largest and note that the value of

*α*is dependent on the choice of

_{i}*b*. Connecting

*α*s we get five curves as shown in Figure 1.

_{i}This figure suggests that there are four critical values for *b*; 0, *β*_{1}, *β*_{2} and . At *b* = 0 we have that *α*_{1} = … = *α*_{5} = 0. At we have that and *α*_{1} = *α*_{2} = *c* where *c* is the only positive real root of 27648*x*^{4} — 576*x*^{2} + 48*x* – 1 = 0 which with seven digits after the decimal point is 0.0337670. The two other points are guessed to have the following properties. At *b* = *β*_{1}, the distance of *α*_{2} and *α*_{3} becomes maximum on (0,*β*_{2}) and at *b* = *β*_{2}, *α*_{2} = *α*_{3}. Define Δ(*b*) to be *α*_{3} – *α*_{2} for a given b. Then Δ seems to be strictly increasing before *β*_{1} and strictly decreasing after *β*_{1} and therefore it can not have any local maximum other than *β*_{1} on (0, *β*_{2}). From Figure 1, *β*_{1} should belong to (4, 4.05). To find *β*_{1} with a desired accuracy we adopt a bisection search strategy. Let *b*_{1} =4 and *b*_{2} = 4.05 and *b*_{3} = (*b*_{1} + *b*_{2})/2. If Δ(*b*_{3}) < Δ(*b*_{2}), then *β*_{1} can not belong to (*b*_{1},*b*_{2}) otherwise we will have another local maximum in (*b*_{3}, *b*_{2}). Therefore we can restrict our search domain from (*b*_{1},*b*_{2}) to (*b*_{2},*b*_{3}). Similarly if Δ(*b*_{3}) > Δ(*b*_{1}), then we can restrict our search domain to (*b*_{1},*b*_{3}). Clearly if none of these two happen, the only possibility is to have Δ(*b*_{3}) being greater than both of Δ(*b*_{1}) and Δ(*b*_{2}). In this case we define two new midpoints; *b*_{4} = (*b*_{1} + *b*_{3})/2 and *b*_{5} = (*b*_{3} + *b*_{2})/2. If Δ(*b*_{4}) > Δ(*b*_{3}), then *β*_{1} can not belong to (*b*_{3},*b*_{2}) otherwise we have another local maximum in (*b*_{1},*b*_{3}). Therefore we can restrict our search domain to (*b*_{1}, *b*_{3}). Similarly if Δ(*b*_{5}) > Δ(*b*_{3}), then we can restrict the search domain to (*b*_{2}, *b*_{3}). If neither of these two happen, then we have Δ(*b*_{4}) < Δ(*b*_{3}) and Δ(*b*_{5}) < Δ(*b*_{3}). In this case *β*_{1} can not belong to (*b*_{1}, *b*_{4}) ∪ (*b*_{5}, *b*_{2}), otherwise we have another local maximum in (*b*_{4}, *b*_{5}). Therefore we can restrict the search domain to (*b*_{4}, *b*_{5}). Hence in each five possible cases, it is possible to replace (*b*_{1},*b*_{2}) with a sub-interval of a half length. This proves that by continuing this process we are guaranteed to reach an interval of length smaller than a given precision value and hence finding *β*_{1} with a desired accuracy. Algorithm 1 summarises this bisecting search strategy. At *b* = *β*_{2} we have that *α*_{2} = *α*_{3}. In other words Δ(*b*) = 0 which is a minimum on (*β*_{1},0.5). Since Δ(*b*) is strictly decreasing before *β*_{2} and strictly increasing after *β*_{2}, one can use the same algorithm as for finding *β*_{1}, but reversing the inequality side in the conditions and letting *b*_{1} = 4.2 and *b*_{2} = 4.25. We implemented Algorithm 1 on `Maple` and found *β*_{1} = 0.4014757 and *β*_{2} = 0.4215113 with seven digits of accuracy after the decimal point. The computation took 879 and 1591 seconds for finding *β*_{1} and *β*_{2} respectively.

Computing the 1-dimensional CADs for the b values arising in the steps of Algorithm 1 for *β*_{1} and *β*_{2} gives Figures 2. The plot in Figure 2a shows that in a small neighborhood before *β*_{1} there is a small region missed by Figure 1. It also shows that there is a fifth critical value for *b* near to *β*_{1}. Denote this value with . For the values of *b* between *β*_{1} and , instead of 5 critical values for *a*, there are 7 critical values. Ordering the critical values of *a* from the smallest to the largest, the two new values are the 4th and the 5th which we show them by and and use the same notation *α _{i}, i* = 1, …, 5 for the rest of them. To find with desired accuracy, we again use Algorithm 1, but with a different definition of Δ. Let Δ(

*b*) =

*α*

_{3}—

*α*

_{2}if the 1-dimensional CAD has 5 critical values for a, otherwise let . By Figure 2a, should belong to (0.40125, 0.40140625). The value of with seven digits after the decimal point is 0.4013889.

We found 5 critical values for *b*; and 1/2. The behavior of the system differ depending on the value of *b* being equal to these critical values or between them. There are 7 possible sequences of the number of steady states for a choice of *b* by increasing value of *a*. Table 1 shows a complete description of the regions in each sequence. Figure 3 shows a plot of regions colored with respect to the number of steady states. A brief description is listed below.

*b*= 0; All five critical values of a become equal*α*_{1}= … =*α*_{5}= 0. Possible number of steady states are 2, 8.; All

*α*’s are separate. Possible number of steady states are 3, 6, 9, 12, 15, 21, 24, 27._{i}; There are two more critical values for

*a*; and . Possible number of steady states are 3, 6, 9, 12, 15, 21, 24, 27.*b*=*β*_{1}; There is one more critical value for*a*; . Possible number of steady states are 3, 6, 9, 12, 15, 21, 24, 27.*b*=*β*_{2}; The second and third critical values of*a*collide,*α*_{2}=*α*_{3}. The possible number of steady states are 3, 6, 9, 12, 21, 24, 27.; All

*α*’s are separate. Possible number of steady states are 3, 6, 9, 15, 18, 21, 24, 27._{i}; The first and second critical values collide, as well as the third, fourth and fifth,

*α*_{1}=*α*_{2}and . Possible number of steady states are 3, 15, 21, 27.

The bisecting search algorithm for finding *β*_{1} (and ) with the precision *ϵ*. To find *β*_{2}, direction of the inequalities in the if statements of steps 3, 4, 6 and 8 should be reversed.

## 4 Bifurcation sequences

There are five possible types of bifurcation events for the system (1). Four of these bifurcation events are depicted in Figure 4. Figures 6 and 7 shows the behavior of the steady states for fixed *b* and increasing *a*. Stability of the steady states are shown in the plots on the right side, a steady state is colored red or pink if it is stable or unstable respectively. The steady states in the plots on the left side are colored with respect to the value of *a* which can be read from the color bar next to it. To describe the behavior of the system we consider several cases listed below.

; In this case there are two bifurcation points.

; Six pairs of steady states collide and disappear in saddle-node bifurcation events. In each pair a steady state is stable and the other is unstable.

*a*=*α*_{3}=*α*_{4}=*α*_{5}; 12 unstable steady states move toward the middle stable steady state and after reaching it, all except the stable steady state disappear.

; In this case there are five bifurcation points.

*a*=*α*_{1}; Three saddle-node events happen.*a*=*α*_{2}; Another three saddle-node events happen.*a*=*α*_{3}; Three pitch-fork events happen. In each pitch-fork, three unstable steady states collide, then two disappear and only one continue its path.*a*=*α*_{4}; Three unstable steady states move toward the middle stable steady state, reach this point and then pass from it and continue their paths. It is a triple transcritical bifurcation event.*a*=*α*_{5}; Three saddle-node events happen. At each saddle-node event, both steady states are unstable.

*b*=*β*_{2}; In this case there are four bifurcation points.*a*=*α*_{1}; Three saddle-node events happen.*a*=*α*_{2}=*α*_{3}; Three saddle-node events and three pitch-fork events happen at the same time.*a*=*α*_{4}; The triple transritical event happens.*a*=*α*_{5}; Three saddle-node events happen.

*β*_{1}<*b*<*β*_{2}; In this case there are five bifurcation points.*a*=*α*_{1}; Three saddle-node events happen.*a*=*α*_{2}; Three pitch-fork events happen.*a*=*α*_{3}; Three saddle-node events happen.*a*=*α*_{4}; The triple transcritical event happen.*a*=*α*_{5}; Three saddle-node events happen.

*b*=*β*_{1}; In this case there are six bifurcation points.*a*=*α*_{1}; Three saddle-nodes events happen.*a*=*α*_{2}; Three pitch-fork events happen.; Three pairs of a stable and an unstable steady states collide and then continue their paths.

; Three saddle-node events happen.

*a*=*α*_{4}; The triple transcritical event happen.*a*=*α*_{5}; Three saddle-node events happen.

; In this case there are seven bifurcation points.

*a*=*α*_{1}; Three saddle-nodes events happen.*a*=*α*_{2}; Three pitch-fork events happen.*a*=*α*_{3}; Three pairs of a stable and an unstable steady states collide and become a pair of complex conjugate points. So three saddle-node events happen.; The three pairs of complex conjugate points of the previous step meet again and become three pairs of steady states.

; from each pair of the previous step one steady state collide with a third steady state and they disappear. So three saddle-node events happen.

*a*=*α*_{4}; The triple transcritical event happen.*a*=*α*_{5}; Three saddle-node events happen.

; In this case there are five bifurcation points.

*a*=*α*_{1}Three saddle-node events happen.*a*=*α*_{2}; Three pitch-fork events happen.*a*=*α*_{3}; Three saddle-node events happen.*a*=*α*_{4}; The triple transcritical event happen.*a*=*α*_{5}; Three saddle-node events happen.

Figures 6a, 6b, 6c, 7a, 7b, and 7c show the behavior of the system for the items 1, 2, 3, 4, (5 and 6), and 7 of the list above respectively. To see the differences between items 5 and 6, see Figures 8 and 9. The differences of these two items are in the steps (5c-5d) and (6c-6e). There are three branches of steady states, each consisting of 3 steady states that are under effect of these bifurcation events. The three steady states of each branch are named by S’, *S*_{2} and *S*_{3}. Among them *S*_{2} is a stable steady state and the rest are unstable. In the left side the steady states are colored with respect to the value of a that can be read by the color bar next to it. In the right side there is a schematic plot showing when and which steady states collide and when the two complex conjugate versions of *S*_{1} and *S*_{2} meet and become real again. The horizontal axis shows the value of *a*.

In Figure 5 the pitchfork bifurcation from Figure 4c is considered. To check if it is a supercritical or subcritical pitchfork bifurcation we computed the eigenvectors of the Jacobian matrix of the system at each steady state and the stability of the steady state along direction of these eigenvectors. The steady states have the same stability behavior along two directions near to the bifurcation point, but different along the third direction. Considering the third direction, the behavior of this pitchfork bifurcation is the same as a supercritical pitchfork. In a supercritical pitchfork bifurcation a stable steady state becomes unstable after the bifurcation event, but there are two stable steady states around it which is termed as “a soft loss of stability” [7, Section 2.7]. Here the event is happening in the opposite direction.

## 5 Conclusion

Allee effect is an important ecological phenomenon, with interesting dynamical properties. To better understand the interplay of Allee effect and population dispersal, we investigated the steady state structure of a system representing three connected populations subject to Allee effect.

To this aim, we used CAD, a tool from computational algebraic geometry to find bi-furcation points and count the number of steady states. Despite of being a very useful tool in theory, its complexity makes it difficult to be used in practice on a normal computer. Here we presented a new algorithm, Algorithm 1 that enabled us to decompose the 2-dimensional parameter space of our model with respect to the number of steady states using 1-dimensional CADs and a search for maximum and minimum of the distances between critical values. This approach is different from other algorithms those decompose the 2-dimensional parameter spaces using 1-dimensional decompositions such as [5, Algorithm 2].

Our results show that even this relatively simple system with three patches can show a great variety of bifurcations. We observed sequences of pitchfork and saddle-node bifurcations, triple-transcritical bifurcations and also a sun-ray shaped bifurcation where twelve steady states meet at a single point then disappear. By increasing the dispersal rate from very small to very large values, one expects that number of steady states will decrease from 27 (completely disconnected patches) to 3 (homogeneous well mixed popu-lation), and indeed that happens. However, depending on the Allee threshold, there are sequences of bifurcations for this transition. Interestingly, the number of steady states is not necessarily monotone decreasing from 27 to 3 as we increase dispersal and strengthen the mixing of the populations, but temporarily the number of steady states can go up, as we can find many examples of that in Table 1. Thus, there are situations when increasing the mobility may increase the complexity of the system.

These different pathways are determined by the parameter *b*, which is the ratio of the Allee threshold and the carrying capacity of the populations. From Figure 3 we can observe that for smaller Allee threshold, i.e. when it is easier for a population to establish and survive, a smaller dispersal is sufficient for the system to have only three steady states. By increasing the Allee threshold, the more complex steady state structures exist for a larger range of dispersal parameter, and the patches need to be much more strongly connected to have the simple situation of only three steady states.

Understanding the spatial patterns of natural populations is a major challenge in ecology, and our results reveal that the interplay of Allee effect and dispersal can create very complex and rich dynamics in this regard.

## Acknowledgements

Gergely Röst was supported by Hungarian grants EFOP- 3.6.1-16-2016-00008, NKFIH FK 124016, and TUDFO/47138-1/2019-ITM7. AmirHosein Sadeghimanesh was funded by NKFIH KKP 129877.

## Footnotes

↵† rost{at}math.u-szeged.hu, http://www.math.u-szeged.hu/~rost/.

↵1 Computations performed on Windows 10, Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz 2.20 GHz, x64-based processor, 6.00GB (RAM)