code: def lowrankQS(G, beta, num_eig, eig_fgt=False):
      """Calculate eigenvectors and eigenvalues of gaussian matrix G.
  
      !!!
      This function is a placeholder for implementing the fast
      gauss transform. It is not yet implemented.
      !!!
  
      Parameters
      ----------
      G: numpy array
          Gaussian kernel matrix.
  
      beta: float
          Width of the Gaussian kernel.
  
      num_eig: int
          Number of eigenvectors to use in lowrank calculation of G
  
      eig_fgt: bool
          If True, use fast gauss transform method to speed up.
  
      """
      # if we do not use FGT we construct affinity matrix G and find the
      # first eigenvectors/values directly
  
      if eig_fgt is False:
          S, Q = np.linalg.eigh(G)
          eig_indices = list(np.argsort(np.abs(S))[::-1][:num_eig])
          Q = Q[:, eig_indices]  # eigenvectors
          S = S[eig_indices]  # eigenvalues.
  
          return Q, S
  
      elif eig_fgt is True:
          raise Exception("Fast Gauss Transform Not Implemented!")
  
file_path: dipy/dipy/align/cpd.py
imports: import numpy
  import numbers
  from warnings import warn
label_desc: Use image node_id 4 for calling a global function with example usage: lowrankQS(G, beta, num_eig, eig_fgt) and returns: Q,  S