class_docstr: The Matern class of kernels. 
class_docstr_tok: ["The","Matern","class","of","kernels","."]
docstr: Given the distances, evaluates the unnormalised kernel value. 
docstr_tok: ["Given","the","distances",",","evaluates","the","unnormalised","kernel","value","."]
code: def _eval_kernel_values_unnormalised(self, dist):
      """Given the distances, evaluates the unnormalised kernel value."""
      unnorm_K = (
          np.zeros(dist.shape) if isinstance(dist, np.ndarray) else 0
      )
      for i in range(self.p + 1):
          coeff = np.math.factorial(self.p + i) / (
              np.math.factorial(i) * np.math.factorial(self.p - i)
          )
          mult_mat = np.sqrt(8 * self.hyperparams["nu"]) * dist
          unnorm_K += coeff * (mult_mat) ** (self.p - i)
      # Finally multiply by the leading exponential
      unnorm_K *= (
          np.math.gamma(self.p + 1)
          / np.math.gamma(2 * self.p + 1)
          * np.exp(-np.sqrt(2 * self.hyperparams["nu"]) * dist)
      )
      return unnorm_K
  
imports: from __future__ import print_function
  import numpy
  from scipy.linalg import solve_triangular
label_desc: Use image node_id 4 for calling the MaternKernel obj's underlying member method code with example usage: obj._eval_kernel_values_unnormalised(dist) and returns: unnorm_K