def K(self, X, X2=None, presliced=False): if not presliced: X, X2 = self._slice(X, X2) r = self.euclid_dist(X, X2) return self.variance * tf.cos(r)