The Wikipedia article on Diatoms states that:
an assemblage of living diatoms doubles approximately every 24 hours by asexual multiple fission; the maximum life span of individual cells is about six days
So a simple exponential equation doesn't suffice anymore to describe population growth over time, since dead organisms don't contribute to it anymore.
Is there a formula that can take this limited lifespan into account (ignoring all other possible constraints like space or energy)?
As a first approximation, we can use a linear discrete time model with $t \in \mathbb{N}$ being days:
Let's assume that our population can be partitioned into seven states based on age (in days) $S:=\{0,1,2,3,4,5,D\}$ where $0$ is the number of diatoms that were just "born" and $D$ is just a placeholder for all diatoms 6 days and older (i.e., dead).
Note I am not accounting for any distribution in lifespans (e.g., using an exponential distribution of lifetimes) -- which assumes that the range is rather constrained (e.g., rare for a diatom to die at day 3 or live past day 7).
Let $P_t \in \mathbb{N^7}$ be the vector of population counts by age at day $t$. Let's assume that when we go from $t$ to $t+1$ that diatoms undergo binary fission, with one half of the fission generating "newborns" and the other half leaving "aged" diatoms (one day older).
This means that if I have just $2$ newborn diatoms at time $0$ (so $P_0=(2,0,0,0,0,0,0)$) then I will have $P_1=(2,2,0,0,0,0,0)$ at $t=1$ and $P_2=(4,2,2,0,0,0,0)$ at $t=1$ etc. with the exception that any diatoms in state $D$ (i.e., $(0,0,0,0,0,0,N)$) stay there and don't add births.
We can represent this process as a linear transformation where our initial population vector $P_0$ is left-multiplied by a population dynamics matrix $A$:
$$A = \begin{bmatrix}1&1&1&1&1&1&0\\1&0&0&0&0&0&0\\0&1&0&0&0&0&0\\0&0&1&0&0&0&0\\0&0&0&1&0&0&0\\0&0&0&0&1&0&0\\0&0&0&0&0&1&1 \end{bmatrix}$$
With the above definition for $A$, we can get $P_t$ as follows:
$$P_t = A^tP_0$$
Unfortunately, this is only partly helpful, because the population will grow without bound. But we can also get the population distribution by normalizing by the total population at time $t$ (i.e., the $L_1$ norm of $P_t$):
$$p_t = \frac{P_t}{||P_t||_1}$$
There may be some nice formula here but I went the easy route and coded this up using Python + sympy (you could use numpy too but sympy is easier IMO for some stuff):
What you'll find is that
popdist(A,600)is invariant to the choice of $P_0$ and converges (numerically) to the following (rounding to 2 decimal places):$P_{\infty} = (0.50, 0.25, 0.13, 0.05, 0.03, 0.02, 0.02)$
So with this simple linear model, we get that the population converges to 50% newborns and the majority being 0, 1 or 2 days old.
The fact that there are 25x more newborns than total dead shows that the population is unbounded and that this model clearly has limitations (e.g., they live 6 days assuming ample nutrients but lifespan drops rapidly as deprivation takes hold).
I'm sure we can think of many refinements to this model (and I'm sure biologists have better models already) but this is the first approximation I could think of.
Theoretical derivation of long-run distribution
So I gave this a little thought and realized that we can just use the eigen-decomposition of $A$ to get more insight into the limiting behavior of $A^n$
The eigendecomposition of A involves the matrix of eigenvectors $Q$ and the associated diagonal matrix $D$ where the entries are the eigenvalues of the associated eigenvectors in $Q$ (same order in both).
We can represent $A$ using $Q,D$ as follows:
$$A = QDQ^{-1} \implies A^n = QD^nQ^{-1}$$
So matrix powers are ridiculously easy if the eigendecomposition exists (doesn't always exist -- $A$ must be diagonalizable)
What we'll do is look at the largest absolute eigenvalue $\lambda^* = \max_i |\lambda_i|$ to see what will happen as $n\to \infty$.
In general, we can have:
**Case 1: ** $\lambda^*<1 \implies ||A^n||_{\infty}\to \mathbf{0}$
**Case 2: **$\lambda^*=1 \implies ||A^n||_{\infty} \to c < \infty $
**Case 3: ** $\lambda^*> 1 \implies ||A^n||_{\infty} \to \infty$
In Case 2 we have $D^{n}$ converging to a diagonal matrix $D_{\infty}$ where all eigenvalues $< 1$ are set to zero and the eigenvalue(s) equal to $1$ are left as is.
Therefore,
$$A_{\infty} = QD_{\infty}Q^{-1}$$
In Case 3 $D_{\infty}$ will not exist since at least one entry will grow without bound and dominate the others.
However, perhaps we can argue that a normalized version of $A_{\infty}$ (let's call it $\alpha$) does exist if we replace $D$ with a normed version:
$$\Delta_n:=\frac{1}{\text{tr}\left(D^n\right)}D^{n}$$
Then we have:
$$\text{tr}\left(D^n\right) \sim O((\lambda^*)^n) \implies \Delta_n \to Z(i)$$
Where $Z(i)$ is a matrix that has zeroes everywhere except $Z_{i,i} = 1$, where $i = \arg \max_i |\lambda_i|$.
Therefore,
$$\alpha = QZ(i)Q^{-1}$$
If our starting population state $P_0$ is as before (uniform across all states), then the limiting "normed" population vector $P_{\infty}$ is:
$$P_{\infty} = \alpha p_0$$
However, this not a distribution, but a limiting of vector of states that reflects the asymptotic relative sizes of the states as $n\to \infty$.
To get our long-run distribution $p_{\infty}$ we can divide $P_{\infty}$ by it's $L_1$ norm to get it so sum to 1:
$$p_{\infty} = \frac{P_{\infty}}{||P_{\infty}||_1}$$
Computational verification
I wrote up a small python script to check this logic (not a proof obviously):
Which agrees to within rounding error.