docs: def eigendecompose(tensor, normalise=False):
      '''
      Performs and eigendecomposition of the tensor and orders into
      descending eigenvalues
      '''
      if normalise:
          tensor, tensor_norm = normalise_tensor(tensor)
      else:
          tensor_norm = 1.
  
      eigvals, eigvects = np.linalg.eigh(tensor, UPLO='U')
  
      isrt = np.argsort(eigvals)
      eigenvalues = eigvals[isrt] * tensor_norm
      eigenvectors = eigvects[:, isrt]
      return eigenvalues, eigenvectors