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.

  The documentation is written assuming array arguments are of specified “core” shapes. However, array argument(s) of this function may have additional “batch” dimensions prepended to the core shape. In this case, the array is treated as a batch of lower-dimensional slices; see Batched Linear Operations for details.

  Parameters:
    f(N,) array_like

      The “fecundity” coefficients.

    s(N-1,) array_like

      The “survival” coefficients. The length of s 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. The data-type of the array will be the data-type of `f[0]+s[0]`.

  Notes

  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.

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