class_docstr: An implementation of `"GraphWave" <https://dl.acm.org/citation.cfm?id=2806512>`_
  from the KDD '18 paper "Learning Structural Node Embeddings Via Diffusion Wavelets".
  The procedure first calculates the graph wavelets using a heat kernel. The wavelets
  are treated as probability distributions over nodes from a source node. Using these
  the characteristic function is evaluated at certain gird points to learn structural
  node embeddings of the vertices.
  
  Args:
      sample_number (int): Number of evaluation points. Default is 200.
      step_size (float): Grid point step size. Default is 0.1.
      heat_coefficient (float): Heat kernel coefficient. Default is 1.0.
      approximation (int): Chebyshev polynomial order. Default is 100.
      mechanism (str): Wavelet calculation method one of:
                       (:obj:`"exact"`, :obj:`"approximate"`). Default is 'approximate'.
      switch (int): Vertex cardinality when the wavelet calculation method switches to approximation. Default is 1000.
      seed (int): Random seed value. Default is 42.
docstr: Calculates the structural role embedding using the exact eigenvalue decomposition.
docstr_tok: ["Calculates","the","structural","role","embedding","using","the","exact","eigenvalue","decomposition","."]
code: def _exact_wavelet_calculator(self):
      """
      Calculates the structural role embedding using the exact eigenvalue decomposition.
      """
      self._real_and_imaginary = []
      for node in range(self._number_of_nodes):
          wave = self._single_wavelet_generator(node)
          wavelet_coefficients = [
              np.mean(np.exp(wave * 1.0 * step * 1j))
              for step in self._steps
          ]
          self._real_and_imaginary.append(wavelet_coefficients)
      self._real_and_imaginary = np.array(self._real_and_imaginary)
  
file_path: karateclub/karateclub/node_embedding/structural/graphwave.py
imports: import pygsp
  import numpy
  import networkx
  from karateclub.estimator import Estimator
label_desc: Use image node_id 5 for calling the GraphWave obj's underlying member method code with example usage: obj._exact_wavelet_calculator() without return types