scipy.linalg.

leslie#

scipy.linalg.leslie(f, s)[源代码]#

创建一个 Leslie 矩阵。

给定长度为 n 的生育系数数组 f 和长度为 n-1 的存活系数数组 s,返回相关的 Leslie 矩阵。

参数:
f(…, N,) 类似数组

“生育”系数。

s(…, N-1,) 类似数组

“存活”系数。s 的每个切片(沿最后一个轴)的长度必须比 f 的长度小 1,且至少为 1。

返回:
L(…, N, N) ndarray

除了第一行是 f,第一条次对角线是 s 之外,数组均为零。对于一维输入,数组的数据类型将是 f[0]+s[0] 的数据类型。

注释

在 0.8.0 版本中添加。

Leslie 矩阵用于模拟离散时间、年龄结构的人口增长 [1] [2]。在具有 n 个年龄等级的人口中,两组参数定义了一个 Leslie 矩阵:n 个“生育系数”,表示每个年龄等级产生的每人后代数量;以及 n - 1 个“存活系数”,表示每个年龄等级的每人存活率。

N 维输入被视为批次的系数数组:输入数组沿最后一个轴的每个切片是一个一维系数数组,并且输出的最后两个维度沿每个切片是相应的 Leslie 矩阵。

参考文献

[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)

示例

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