code: def _param_grad_helper(self, dL_dK, X, X2, target):
          
          self._K_computations(X, X2)
          self._dK_computations(dL_dK)
          if X2==None:
              gmapping = self.mapping.df_dtheta(2*self._dL_dl[:, None], X)
          else:
              gmapping = self.mapping.df_dtheta(self._dL_dl[:, None], X)
              gmapping += self.mapping.df_dtheta(self._dL_dl_two[:, None], X2)
  
          target+= np.hstack([(dL_dK*self._K_dvar).sum(), gmapping])
docs: Derivative of the covariance with respect to the parameters.