Population Growth in Hyperbolic Space with Geometric Algebra

This article is a quick introduction to population growth models. But what a strange title. What does population growth have to do with hyperbolic space?
While looking for nails for my hammer (hyperbolic space with GA) I found population growth models and noticed they can be modeled exactly like Special Relativity.

Logistic Growth Model

Population growth is often modelled as logistic growth. The intuition is that a population denoted by P first grows exponentially over time. Eventually the population runs into constraints such as space or food, so it will approach some maximum population. The maximum population is called the carrying capacity and is denoted by K. Furthermore the population's growth rate is denoted by r. For an exponential function the growth rate would tell you over what timespan the population doubles. This is true here initially until the population runs into the constraints.
The usual formula for the population over time given the carrying capacity and growth rate is
(1)P(t)=K1+KP(0)P(0)ert
Figure 1 - Population growth modelled with the logistic function for K=1000, P(0)=500, r=2.
Figure 1 - Population growth modelled with the logistic function for K=1000, P(0)=500, r=2.

Rewriting the population equation

If we now define the population at t=0 to be half the maximum carrying capacity, meaning P(0)=K2, equation (1) simplifies to
(2)P(t)=K1+ert
Now the key part which is also the reason why I started looking at population growth in the first place: equation (2) contains the sigmoid function which is just an offset and rescaled version of the tanh function. If you are into Machine-Learning you might already be familiar with this. The sigmoid function σ(x)=11+ex=tanh(x)+12.
The tanh function is interesting because it pops up in Special Relativity and Hyperbolic Space. With this, equation (2) can be rewritten to
(3)P(t)=K2(tanh(rt)+1)

Relation to Special Relativity and Hyperbolic Space

In the GA treatment of Special Relativity we convert relative spatial velocities v to hyperbolic angles φ using the equation
(4)tanh(φ)=vc
We can compare this to our population growth model. Let's solve equation (3) for the tanh term.
(5)tanh(rt)=2PK1
We can now define φ=rt to get the analogue of equation (4) for logistic population growth.
(6)tanh(φ)=2PK1
From here on, we can do everything exactly like we did in Special Relativity. Instead of the four basis vectors et2=+1,ex,y,z2=1 we have two basis vectors e12=+1,e22=1. Instead of velocity vectors, we have population vectors.
In Special Relativity, the angle of the velocity vector was related to the spatial velocity. In Population Growth, the angle of the population vector is related to the population.
In Special Relativity, velocity vectors in the et direction correspond to velocities at rest. In Population Growth, vectors in the e1 direction correspond to the population at t=0 which we defined to be K2 earlier.

Population Growth Rotors

In Special Relativity we had rotors to change our velocity vectors (ie. accelerate / decelerate the spatial velocity). In Population Growth we have rotors that can change our population vectors (ie. increase / decrease the population). Concretely, the rotor is
(7)R=eφ/2e12
and applying such a rotor to e1 yields
(8)v=Re1R~=cosh(φ)e1+sinh(φ)e2
In Special Relativity, the vector approaching a 45° angle means approaching the speed of light. Here, the vector approaching a 45° angle means approaching the carrying capacity (or zero in the negative direction).

Example

We use the following constants:
  • Carrying capacity K=2000
  • Growth rate r=2
Our initial population is then P1(0)=K12=1000.
Let's say we apply a rotor that takes us from our initial population of 1000 to 500 more, that is, we apply the rotor R2
(9)v2=R2e1R2~=cosh(φ)e1+sinh(φ)e2=cosh(tanh12PK1)e1+sinh(tanh12PK1)e2
The resulting vector v2 encodes the new second population of 1500 (from the point of view of the first population) which we could extract by solving for P.

Population is relative?

In relativity, if the vector were a velocity vector, we could think of it as the rest vector of another observer. We can do the same here! If we choose v as the "rest vector" of another population, this other population would have their own initial population equal to 1000 again, because the carrying capacity is a constant just like the speed of light is. Now if this second population sees a population growth of 900, we apply the rotor Rb to e1 from the second population's view.
How does this "look like" (analogue to changing basis vectors / perspectives in Special Relativity) from the first population? We can't just add 900 on top of the second population 500 as that would exceed the carrying capacity of K1=1000 of the first population. Instead, we compose the two rotors to get
(10)v3=R3R2e1R3R2~
Which will yield a vector closer to the first population's carrying capacity but still less than it. Instead of composing the rotors and dealing with the vectors we can also just deal with the angles of the rotors. The angles just add. So we get
(11)φ2+3=φ2+φ3=tanh1(2P2K1)+tanh1(2P3K1)
and solving the angle for the population with equation (6) finally yields
(12)P2+3=K2tanh(tanh1(2P2K1)+tanh1(2P3K1)+1)485
which, when added to our initial population of half the carrying capacity, results in 500+485=985 which is slightly less than the carrying capacity.

Population is not relative!

Of course instead of saying the carrying capacity is constant, we could have also viewed the carrying capacity as changing between points of view. Then we always keep around some absolute scale, but the math works out identically I believe. The rotors then provide a sort of mapping between different populations and population changes in them.

Conclusion

We saw how logistic population growth can be modelled almost identically to Special Relativity in Geometric Algebra. Carrying capacity is like the speed of light. A population always approaches the carrying capacity. We can shift our perspective to populations with a different carrying capacity just like we shift perspective in Special Relativity to observers with a different velocity relative to us. We can see how a population growth in a population with one carrying capacity transfers to another population with another carrying capacity using boost rotors.
Whether this is useful at all I have no idea. But the math works out the same as for Special Relativity.