In [1]:
import numpy as np

In [2]:
out_pop_matrix = np.zeros(shape=(3, 10))

In [3]:
out_pop_matrix


Out[3]:
array([[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]])

In [4]:
init_pop_size = [10,20,10]

In [5]:
init_pop_size


Out[5]:
[10, 20, 10]

In [6]:
out_pop_matrix[:, 0] = init_pop_size

In [7]:
out_pop_matrix


Out[7]:
array([[ 10.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.],
       [ 20.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.],
       [ 10.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.]])

In [8]:
l_m = np.array([[ 0.,  0.3,  0.],
       [ 0.8,  0.,  0.],
       [ 0.,  0.8,  0.]])

In [9]:
l_m


Out[9]:
array([[ 0. ,  0.3,  0. ],
       [ 0.8,  0. ,  0. ],
       [ 0. ,  0.8,  0. ]])

In [10]:
for i in range(1, 10):
    n = np.dot(l_m, out_pop_matrix[:, i-1])
    out_pop_matrix[:, i] = n.squeeze()

In [11]:
out_pop_matrix


Out[11]:
array([[  1.00000000e+01,   6.00000000e+00,   2.40000000e+00,
          1.44000000e+00,   5.76000000e-01,   3.45600000e-01,
          1.38240000e-01,   8.29440000e-02,   3.31776000e-02,
          1.99065600e-02],
       [  2.00000000e+01,   8.00000000e+00,   4.80000000e+00,
          1.92000000e+00,   1.15200000e+00,   4.60800000e-01,
          2.76480000e-01,   1.10592000e-01,   6.63552000e-02,
          2.65420800e-02],
       [  1.00000000e+01,   1.60000000e+01,   6.40000000e+00,
          3.84000000e+00,   1.53600000e+00,   9.21600000e-01,
          3.68640000e-01,   2.21184000e-01,   8.84736000e-02,
          5.30841600e-02]])

In [ ]:


In [ ]: