14 Integral Projection Model
The Integral Projection Model (IPM) is a category of mathematical tools used to improve our understanding of population dynamics. It distinguishes itself from traditional population models by assuming the population is structured based on a continuous trait (Easterling, Ellner, and Dixon 2000). This is particularly significant for trees, given the substantial variability in vital rates depending on the size of the individual (Kohyama 1992). Precisely, an IPM consists of a set of functions that predicts the transition of a distribution of individual traits from time \(t\) to time \(t+1\):
\[ n(z', t + 1) = \int_{L}^{U} \, k(z', z, \theta)\, n(z, t)\, \mathrm{d}z \tag{14.1}\]
In our case, the continuous trait \(z\) at time \(t\) and \(z'\) at time \(t+1\) represent the diameter at breast height (DBH), and \(n(z, t)\) characterizes the continuous DBH distribution for a population. The projection probability of the population distribution size from \(n(z, t)\) to \(n(z', t+1)\) is governed by the kernel \(K\) and the species-specific parameters \(\theta\). The kernel \(K\) s composed of the three sub-models we described above:
\[ k(z', z, \theta) = [Growth(z', z, \theta) \times Survival(z, \theta)] + Recruitment(z, \theta) \tag{14.2}\]
The following properties of the IPM kernel are machine-checked proofs verified with Lean 4 and Mathlib:
| Property | Statement |
|---|---|
| Decomposition | \(K = P + F\) where \(P\) is the growth-survival kernel and \(F\) the recruitment kernel |
| \(P\) non-negativity | Growth-survival kernel entries \(\geq 0\) |
| \(F\) non-negativity | Recruitment kernel entries \(\geq 0\) |
| \(K\) non-negativity | Full kernel entries \(\geq 0\) (required for Perron-Frobenius) |
Source: lean/ForestIPM/Kernel.lean
Numerical implementation
Evaluating Equation 14.1 requires discretising the continuous integral over \([L, U]\). The {forestIPM} R package (described in Chapter 15) provides two quadrature methods for this purpose.
Midpoint rule
The classical approach partitions \([L, U]\) into uniform bins of width \(h\) and approximates the integral as
\[ n(z', t+1) \approx h \sum_{i=1}^{m} k(z', z_i, \theta)\, n(z_i, t) \tag{14.3}\]
where \(z_i = L + (i - 0.5)\,h\) are the bin midpoints and \(m = \lfloor(U - L)/h\rfloor\) (Ellner, Childs, and Rees 2016). This method is straightforward to implement and can introduce bias for large matrices with slow growth rates; simulation analyses recommend bin widths between 0.1 and 1 cm (Zuidema et al. 2010). All analyses presented in the Using the IPM section of this book used the midpoint rule with \(h = 1\,\text{mm}\), as it was the first integration method implemented in the package.
The following properties of the midpoint rule are machine-checked proofs verified with Lean 4 and Mathlib:
| Property | Statement |
|---|---|
| Weight positivity | Each weight \(w_i = h > 0\) is strictly positive |
| Weight sum | \(\sum_{i=1}^{m} w_i = m \cdot h\) (total interval length) |
| Mesh points bounded | Each mesh point \(z_i \in (L,\, L + m \cdot h)\) |
Source: lean/ForestIPM/MidpointRule.lean
Gauss-Legendre (GL) quadrature
The recently implemented alternative places \(n\) optimally chosen nodes \(z_1, \ldots, z_n\) and weights \(w_1, \ldots, w_n\) on \([L, U]\) (via the Golub-Welsch algorithm) and approximates the integral as
\[ n(z', t+1) \approx \sum_{i=1}^{n} w_i\, k(z', z_i, \theta)\, n(z_i, t) \tag{14.4}\]
Because GL quadrature integrates polynomials of degree \(\leq 2n - 1\) exactly, it achieves exponential convergence for smooth kernels — reaching the same accuracy as the midpoint rule with far fewer nodes.
In the following two chapters, we present simulations comparing both integration approaches and evaluate the optimal number of nodes for the GL quadrature. In summary, convergence analyses show that GL reproduces the dominant eigenvalue \(\lambda\) obtained with the midpoint rule within a tolerance of \(10^{-4}\), while reducing matrix size by up to 65% for species with large DBH sizes. In other words, GL substantially accelerates computation while maintaining high integration accuracy. Within the GL family, \(n = 100\) nodes already converges to the \(n = 500\) solution within 1% for both equilibrium population density and basal area. However, \(n = 200\) achieves higher precision without compromising computational efficiency. Therefore, GL quadrature with \(n = 200\) nodes is the recommended integration method for future analyses.
The following properties of Gauss-Legendre quadrature are machine-checked proofs verified with Lean 4 and Mathlib:
| Property | Statement |
|---|---|
| Weight positivity | Mapped GL weights \(w_i = \tfrac{U-L}{2}\,\tilde{w}_i > 0\) are strictly positive |
| Weight sum | Mapped GL weights sum to \(U - L\) (exact integration of the constant 1) |