scipy.linalg.
leslie#
- scipy.linalg.leslie(f, s)[來源]#
建立 Leslie 矩陣。
給定長度為 n 的生育力係數陣列 f 和長度為 n-1 的存活率係數陣列 s,傳回相關聯的 Leslie 矩陣。
- 參數:
- f(…, N,) array_like
「生育力」係數。
- s(…, N-1,) array_like
「存活率」係數。s 的每個切片(沿著最後一個軸)的長度必須比 f 的長度少 1,且必須至少為 1。
- 傳回值:
- L(…, N, N) ndarray
此陣列除了第一列(為 f)和第一個次對角線(為 s)之外,其餘皆為零。對於 1-D 輸入,陣列的資料類型將為
f[0]+s[0]
的資料類型。
註解
在版本 0.8.0 中新增。
Leslie 矩陣用於模擬離散時間、年齡結構化的人口成長 [1] [2]。在具有 n 個年齡層級的人口中,兩組參數定義 Leslie 矩陣:n 個「生育力係數」(給出每個年齡層級產生的每人後代數量)和 n - 1 個「存活率係數」(給出每個年齡層級的每人存活率)。
N 維輸入被視為係數陣列的批次:輸入陣列沿著最後一個軸的每個切片都是 1-D 係數陣列,而輸出沿著最後兩個維度的每個切片都是對應的 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. ]])