code: def K(self, X, X2=None):
          
          r = self._scaled_dist(X, X2)
          return self.K_of_r(r)
docs: Kernel function applied on inputs X and X2.
          In the stationary case there is an inner function depending on the
          distances from X to X2, called r.
  
          K(X, X2) = K_of_r((X-X2)**2)