code: def timescales(self):
          r
          return -self.lag / np.log(np.abs(self.eigenvalues))
docs: r"""Implied timescales of the TICA transformation
  
          For each :math:`i`-th eigenvalue, this returns
  
          .. math::
  
              t_i = -\frac{\tau}{\log(|\lambda_i|)}
  
          where :math:`\tau` is the :py:obj:`lag` of the TICA object and :math:`\lambda_i` is the `i`-th
          :py:obj:`eigenvalue <eigenvalues>` of the TICA object.
  
          Returns
          -------
          timescales: 1D np.array
              numpy array with the implied timescales. In principle, one should expect as many timescales as
              input coordinates were available. However, less eigenvalues will be returned if the TICA matrices
              were not full rank or :py:obj:`var_cutoff` was parsed