class_docstr: Unnormalized rational quadratic kernel
  
  .. math::
      k(|x-y|) = (1+|x-y|^2/(2 \alpha \ell^2))^{-\alpha}
  
  where :math:`\ell` is the `lengthscale` (autodetected or given).
code: def __call__(self, dists):
      if self.lengthscale is not None:
          lengthscale = self.lengthscale
      else:
          lengthscale = dists.median()
      return torch.pow(
          1 + (1 / (2 * self.alpha * lengthscale**2)) * dists**2,
          -self.alpha,
      )
  
imports: from typing import Optional
  import torch
  from .None import Detector
  import torchdrift.utils
label_desc: Use image node_id 2 for calling the RationalQuadraticKernel obj's underlying member method code with example usage: obj.__call__(dists) and returns: torch