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