docs: def propagate(A, x, N):
      r"""Use matrix A to propagate vector x.
  
      Parameters
      ----------
      A : (M, M) scipy.sparse matrix
          Matrix of propagator
      x : (M, ) ndarray or scipy.sparse matrix
          Vector to propagate
      N : int
          Number of steps to propagate
  
      Returns
      -------
      y : (M, ) ndarray or scipy.sparse matrix
          Propagated vector
  
      """
      y = 1.0 * x
      for i in range(N):
          y = A.dot(y)
      return y