docs: def irregular_sampling(T, N, rseed=None):
      """
      Generates an irregularly sampled time vector by perturbating a 
      linearly spaced vector and latter deleting a certain number of 
      points
      
      Parameters
      ----------
      T: float
          Time span of the vector, i.e. how long it is in time
      N: positive integer
          Number of samples of the resulting time vector
      rseed: 
          Random seed to feed the random number generator
          
      Returns
      -------
      t_irr: ndarray
          An irregulary sampled time vector
          
      """
      sampling_period = (T/float(N))
      N = int(N)
      np.random.seed(rseed)    
      t = np.linspace(0, T, num=5*N)
      # First we add jitter
      t[1:-1] += sampling_period*0.5*np.random.randn(5*N-2)
      # Then we do a random permutation and keep only N points 
      P = np.random.permutation(5*N)
      t_irr = np.sort(t[P[:N]])
      return t_irr