Skip to main content
`Ctrl`+`K`
scipy.linalg.

# leslie

scipy.linalg.leslie(f, s)

  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. ]])