class_docstr: The Matern class of kernels. 
class_docstr_tok: ["The","Matern","class","of","kernels","."]
docstr: Evaluates the SE kernel between X1 and X2 and returns the gram matrix. 
docstr_tok: ["Evaluates","the","SE","kernel","between","X1","and","X2","and","returns","the","gram","matrix","."]
code: def _child_evaluate(self, X1, X2):
      """Evaluates the SE kernel between X1 and X2 and returns the gram matrix."""
      scaled_X1 = self.get_scaled_repr(X1)
      scaled_X2 = self.get_scaled_repr(X2)
      dist = np.sqrt(dist_squared(scaled_X1, scaled_X2))
      unnorm_kernel_vals = self._eval_kernel_values_unnormalised(dist)
      K = (
          self.hyperparams["scale"]
          * self.norm_constant
          * unnorm_kernel_vals
      )
      return K
  
imports: from __future__ import print_function
  import numpy
  from scipy.linalg import solve_triangular
label_desc: Use image node_id 5 for calling the MaternKernel obj's underlying member method code with example usage: obj._child_evaluate(X1, X2) and returns: K