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