code: def _chebyshev(one_hot_encoded_col, laplacian, coeffs, max_eig):
      """
      This function calculates one column of the Chebyshev approximation of exp(-scale * laplacian) for
      all scales using the approach from: https://arxiv.org/abs/1105.1891. See equations (7)-(11) for more info.
  
      Args:
          one_hot_encoded_col (SparseTensor): a sparse tensor indicating which column (node) to calculate.
          laplacian (SparseTensor): the unnormalized graph laplacian
          coeffs: the Chebyshev coefficients for exp(-scale * x) for each scale in the shape (num_scales, deg)
      Returns:
          (num_scales, num_nodes) tensor of the wavelets for each scale for the specified node.
      """
  
      # Chebyshev polynomials are in range [-1, 1] by default so we shift the coordinates here
      # the laplacian in the new coordinates is y = (L / a) - I. But y is only accessed through matrix vector
      # multiplications so we model it as a linear operator
      def y(vector):
          return K.dot(laplacian, vector) / a - vector
  
      a = max_eig / 2
  
      # f is a one-hot vector to select a column from the Laplacian
      # this allows to compute the filtered laplacian (psi in the paper) one column at time
      # using only matrix vector products
      f = tf.reshape(
          tf.sparse.to_dense(one_hot_encoded_col),
          shape=(laplacian.shape[0], 1),
      )
  
      T_0 = f  # If = f
      T_1 = y(f)
  
      cheby_polys = [T_0, T_1]
      for i in range(coeffs.shape[1] - 2):
          cheby_poly = 2 * y(cheby_polys[-1]) - cheby_polys[-2]
          cheby_polys.append(cheby_poly)
  
      # note: difference to the paper. the 0th coefficient is not halved here because its
      # automatically halved by numpy
      cheby_polys = K.squeeze(tf.stack(cheby_polys, axis=0), axis=-1)
      return tf.matmul(coeffs, cheby_polys)
  
file_path: stellargraph/stellargraph/mapper/graphwave_generator.py
imports: import tensorflow
  from tensorflow.keras import backend
  import numpy
  from ..core import StellarGraph
  from ..core.validation import require_integer_in_range
  from .base import Generator
  from scipy.sparse.linalg import eigs
  from scipy.sparse import diags
label_desc: Use image node_id 2 for calling a global function with example usage: _chebyshev(one_hot_encoded_col, laplacian, coeffs, max_eig) and returns: tf, unknown