code: def _scaled_dist(self, X, X2=None):
          
          if self.ARD:
              if X2 is not None:
                  X2 = X2 / self.lengthscale
              return self._unscaled_dist(X/self.lengthscale, X2)
          else:
              return self._unscaled_dist(X, X2)/self.lengthscale
docs: Efficiently compute the scaled distance, r.
  
          ..math::
              r = \sqrt( \sum_{q=1}^Q (x_q - x'q)^2/l_q^2 )
  
          Note that if thre is only one lengthscale, l comes outside the sum. In
          this case we compute the unscaled distance first (in a separate
          function for caching) and divide by lengthscale afterwards