scipy.linalg.
leslie#
- scipy.linalg.leslie(f, s)[源代码]#
创建莱斯利矩阵。
给定长度为 n 的生育系数数组 f 和长度为 n-1 的存活系数数组 s,返回相关的莱斯利矩阵。
本文档假定数组参数具有指定的“核心”形状。但是,此函数的数组参数可能在核心形状前附加额外的“批次”维度。在这种情况下,数组被视为低维切片的批次;详见 批处理线性运算。
- 参数:
- f(N,) 类数组
“生育力”系数。
- s(N-1,) 类数组
“存活”系数。s 的长度必须比 f 的长度少一,并且必须至少为 1。
- 返回:
- L(N, N) ndarray
除了第一行为 f 和第一副对角线为 s 外,矩阵的其余元素均为零。该矩阵的数据类型将是
f[0]+s[0]
的数据类型。
备注
莱斯利矩阵用于模拟离散时间、年龄结构的人口增长 [1] [2]。在具有 n 个年龄组的人口中,两组参数定义了一个莱斯利矩阵:n 个“生育系数”,它们表示每个年龄组人均产生的后代数量;以及 n - 1 个“存活系数”,它们表示每个年龄组的人均存活率。
参考文献
[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. ]])