I have a linear replicator equation and I want to simulate its dynamics to find the resting point and hopefully the Nash equilibrium.
I defined strategies' payoff as $ \vec f = C*\vec p+ \vec b$, where $C$ is a community matrix similar to the one in Lotka volterra models, $p$ is the vector of probabilities for each strategy and b is a vector of constants. From what I understand, this is very similar to the replicator dynamics for a linear model, except that I'm adding a constant.
However, when I iterate over $\vec p_{t+1} = \vec p_t+ \vec p_t (\vec f- \sum\vec f \vec p_t) $, $\vec p_{t+1}$ frequently gets values greater than one or smaller than zero, which from my understanding is not suppose to happen.
An example to show the issue:
$C = \begin{pmatrix} -1 && -1.1 && 0 \\ 1 && -1.0 && -1.1 \\ 0 && 1 && 0 \end{pmatrix}; \space \vec b= \begin{pmatrix} 0.7 \\ 0 \\ 0 \end{pmatrix}; \vec p_0 = \begin{pmatrix} 0.8 \\ 0.9 \\ 0.25 \end{pmatrix} $
In this situation, the second element of $\vec p_1 $ equals 1.448550!
What could be causing this error? Am I calculating the replicator dynamics wrong? Does adding a constant to fitness "breaks" the replicator dynamics? Is my understanding wrong and replicator dynamics can go above 1 or below 0?