| Population projection matrices are powerful tools for the analysis of population dynamics and life-history strategies. But procedures for analysis of population projection matrices are not routinely available in standard software. PopTools tries to plug this gap. The background to these methods is discussed in the book by Hal Caswell. The example shown here is from Page 76. Example 4.9. | ||
The life-history diagram looks like this: |
||
![]() |
As a first step, it is always useful to draw the life-cycle for a matrix model, because you can use it to understand the assumptions of the model. Moreover, if you follow Caswell's directions, the
diagram allows you to construct the correct projection matrix. In this example there are three stages (labelled 1, 2 and 3). The red arcs represent reproduction (roughly speaking, the number of females per female that survive to stage 1), and the blue lines indicate survival rates during a single time step. To construct the appropriate projection matrix, look at the source and destination of each arrow. An arrow leading from stage X to stage Y, should be represented in the projection matrix by an entry in column X and row Y of the projection matrix.. The colour coding on the rates shows where each should appear in the matrix. |
|

You will get something like the following:
![]() |
Each of the coloured blocks produced by PopTools represents an array formula that can be shifted (in its entirety only - you can't split an array formula) around the spreadsheet. The pink block lists all the eigenvalues of the projection matrix. The dominant eigenvalue should always be the first entry in the top left of the pink block. The right (yellow) and left (blue) eigenvectors of the dominant eigenvalue give the stable age structure and reproductive values. They are "normalised" so that each sums to one (100%). The pale blue cells lists the rate of increase and the generation times that are discussed in Caswell's book. |
Use Ctrl-Shift-Enter to enter these formulas - as described in the PopTools help file

![]() |
The values in the coloured area are the output of a single array formula. Each coloured row represents an eigenvalue (real and imaginary parts are in the last two columns) and an associated eigenvector (in the first three columns). For example, an eigenvector associated with the dominant eigenvalue (1.21) is w1 = [1, 0.82, 0.97]. |


![]() |
Richer colour indicates greater elasticity. (You will need a high video resolution for this routine to work properly) |