docs: def calc_svd(self, lapack_driver='gesdd'):
          """ Return the SVD decomposition of data
  
          The input data np.ndarray shall be of dimension 2,
              with time as the first dimension, and the channels in the second
              Hence data should be of shape (nt, nch)
  
          Uses scipy.linalg.svd(), with:
              full_matrices = True
              compute_uv = True
              overwrite_a = False
              check_finite = True
  
          See scipy online doc for details
  
          Return
          ------
          chronos:    np.ndarray
              First arg (u) returned by scipy.linalg.svd()
              Contains the so-called 'chronos', of shape (nt, nt)
                  i.e.: the time-dependent part of the decoposition
          s:          np.ndarray
              Second arg (s) returned by scipy.linalg.svd()
              Contains the singular values, of shape (nch,)
                  i.e.: the channel-dependent part of the decoposition
          topos:      np.ndarray
              Third arg (v) returned by scipy.linalg.svd()
              Contains the so-called 'topos', of shape (nch, nch)
                  i.e.: the channel-dependent part of the decoposition
  
          """
          if self._isSpectral():
              msg = "svd not implemented yet for spectral data class"
              raise Exception(msg)
          chronos, s, topos = _comp.calc_svd(self.data, lapack_driver=lapack_driver)
          return u, s, v