code: def gen_stochastic_matrix(size, random_state=None):
      
      if not type(size) is tuple:
          size = (1, size)
  
      assert len(size) == 2
  
      n = random_state.uniform(size=(size[0], size[1] - 1))
      n = np.concatenate([np.zeros((size[0], 1)), n, np.ones((size[0], 1))], axis=1)
  
      A = np.diff(np.sort(n))
      return A.squeeze()
docs: Generate a unfiformly-random stochastic array or matrix