docs: def allan_variance(data, dt, tmax=10):
      """Calculate Allan variance.
  
      Args:
          data (np.ndarray): Input data.
          dt (float): Time between each data.
          tmax (float): Maximum time.
  
      Returns:
          vk (np.ndarray): Frequency.
          allanvar (np.ndarray): Allan variance.
      """
      allanvar = []
      nmax = len(data) if len(data) < tmax / dt else int(tmax / dt)
      for i in range(1, nmax+1):
          databis = data[len(data) % i:]
          y = databis.reshape(len(data)//i, i).mean(axis=1)
          allanvar.append(((y[1:] - y[:-1])**2).mean() / 2)
      return dt * np.arange(1, nmax+1), np.array(allanvar)