The Next-Generation Matrix and R₀
The basic reproduction number decides whether a pathogen invades, but for anything more structured than a textbook SIR model — multiple host types, stages, or transmission routes — the naive “ over ” recipe breaks down. The next-generation matrix gives a rigorous, general way to compute as the dominant eigenvalue of a matrix built from the infection dynamics.
The idea
is the expected number of secondary cases produced by one typical infected individual in a fully susceptible population. In a structured model there are several kinds of infected individuals — say infants and adults, or exposed and infectious classes — and one infected of type produces a mixture of new infections across all types. We therefore need a matrix that bookkeeps “new infections in group caused by an infected in group ,” and becomes a summary of that matrix rather than a single ratio.
Construction
Work with the infected compartments only (for SIR-type models these are the , , and similar classes; and are excluded). Linearize their dynamics about the disease-free equilibrium (DFE), and split the linearized system into two parts:
- — the rate of appearance of new infections, and
- — the rate of all other transitions out of and between infected compartments (recovery, death, progression, waning).
Let and be the Jacobian matrices of and with respect to the infected variables, both evaluated at the DFE. The next-generation matrix is and the basic reproduction number is its spectral radius (largest-magnitude eigenvalue), Here requires the matrix inverse and determinant, and is found from an eigenvalue decomposition.
Interpretation
The pieces have a clean meaning. is the matrix of expected times spent in each infected state: entry is the expected time an individual who starts in state spends in state before leaving the infected classes. Multiplying by , which converts time-in-state into new infections, gives Because the total reproduction over generations is governed by repeated multiplication by , the long-run per-generation growth factor is the dominant eigenvalue , and the epidemic can invade the DFE if and only if . This is the stability threshold of the disease-free equilibrium, restated as a spectral radius.
Worked example 1: simple SIR
For the SIR model the only infected compartment is , with New infections appear at rate and transitions (recovery) remove them at rate . At the disease-free equilibrium , so the Jacobians are Then and, since a matrix is its own eigenvalue, recovering the familiar result.
Worked example 2: a two-type model
Suppose infection spreads in two host groups (say children and adults) that mix, and an infected in group transmits to group at rate , while every infected recovers at rate . Then so and is the spectral radius of this matrix. Take (per unit time) and . The eigenvalues of solve , i.e. , giving So , larger than any single group’s own because cross-group transmission amplifies spread.
In code
We build and , form , and take the spectral radius from an eigen-decomposition.
R
gamma <- 1
F <- matrix(c(2, 1,
1, 1), nrow = 2, byrow = TRUE)
V <- gamma * diag(2)
K <- F %*% solve(V)
R0 <- max(abs(eigen(K)$values))
$R0 # ~2.618 = (3 + sqrt(5)) / 2
Python
import numpy as np
gamma = 1.0
F = np.array([[2., 1.],
[1., 1.]])
V = gamma * np.eye(2)
K = F @ np.linalg.inv(V)
R0 = max(abs(np.linalg.eigvals(K)))
print(R0) # ~2.618, the spectral radius of F V^{-1}
2.618033988749895
Julia
using LinearAlgebra
γ = 1.0
F = [2.0 1.0;
1.0 1.0]
V = γ * I(2)
K = F * inv(Matrix(V))
R0 = maximum(abs.(eigvals(K)))
println(R0) # ~2.618 = (3 + √5)/2
Why it matters
The next-generation matrix is the standard tool for computing in any structured epidemic model — age groups, spatial patches, vector-borne cycles, or staged infections like SEIR. It turns the vague notion of “average secondary cases” into a precise spectral quantity whose value above or below decides invasion, and its dominant eigenvector tells you which mix of host types the epidemic will settle into. Because crosses exactly when the disease-free equilibrium loses stability, it is also the parameter that drives the transcritical bifurcation between elimination and endemicity.