scipy.linalg.

leslie#

scipy.linalg.leslie(f, s)[source]#

Create a Leslie matrix.

Given the length n array of fecundity coefficients f and the length n-1 array of survival coefficients s, return the associated Leslie matrix.

Parameters:
f(…, N,) array_like

The “fecundity” coefficients.

s(…, N-1,) array_like

The “survival” coefficients. The length of each slice of s (along the last axis) must be one less than the length of f, and it must be at least 1.

Returns:
L(…, N, N) ndarray

The array is zero except for the first row, which is f, and the first sub-diagonal, which is s. For 1-D input, the data-type of the array will be the data-type of f[0]+s[0].

Notes

Added in version 0.8.0.

The Leslie matrix is used to model discrete-time, age-structured population growth [1] [2]. In a population with n age classes, two sets of parameters define a Leslie matrix: the n “fecundity coefficients”, which give the number of offspring per-capita produced by each age class, and the n - 1 “survival coefficients”, which give the per-capita survival rate of each age class.

N-dimensional input are treated as a batches of coefficient arrays: each slice along the last axis of the input arrays is a 1-D coefficient array, and each slice along the last two dimensions of the output is the corresponding Leslie matrix.

References

[1]

P. H. Leslie, On the use of matrices in certain population mathematics, Biometrika, Vol. 33, No. 3, 183–212 (Nov. 1945)

[2]

P. H. Leslie, Some further notes on the use of matrices in population mathematics, Biometrika, Vol. 35, No. 3/4, 213–245 (Dec. 1948)

Examples

>>> from scipy.linalg import leslie
>>> leslie([0.1, 2.0, 1.0, 0.1], [0.2, 0.8, 0.7])
array([[ 0.1,  2. ,  1. ,  0.1],
       [ 0.2,  0. ,  0. ,  0. ],
       [ 0. ,  0.8,  0. ,  0. ],
       [ 0. ,  0. ,  0.7,  0. ]])