def test_basic(self): a = leslie([1, 2, 3], [0.25, 0.5]) expected = array([ [1.0, 2.0, 3.0], [0.25, 0.0, 0.0], [0.0, 0.5, 0.0]]) assert_array_equal(a, expected)
def get_les_mats(sr_asfr,df_dr): """Returns M,F Leslie matrices constructed from the given parameters""" # Note that the survival array is one shorter than the fecundity array. # Both are fractions that apply to each 5 year cell as a unit. # For Males fec = np.zeros(18) sur = 1 - df_dr['Males'].values[:-1]*5/1000 mlm = leslie(fec,sur) # For Females fec = np.double(sr_asfr.values) * 5 / 1000 fec = np.hstack((np.zeros(3),fec,np.zeros(8))) sur = 1 - df_dr['Females'].values[:-1]*5/1000 flm = leslie(fec,sur) return mlm, flm
def time_leslie(self, size): sl.leslie(self.x, self.x[1:])
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Sun Feb 3 19:46:38 2019 @author: xsxsz """ import numpy as np import scipy.linalg as linalg a = np.mat(np.ones([3, 3])) b = np.mat(np.ones([4, 3])) c = np.mat(np.ones([3, 4])) d = linalg.block_diag(a, b, c) print(d) print('----------') e = linalg.pascal(6) print(e) print('----------') f_value = np.array([0.3, 0.1, 0.4, 0.2]) s_value = np.array([0.2, 0.8, 0.7]) f = linalg.leslie(f_value, s_value) print(f) print('----------')