code: def _param_grad_helper(self,dL_dK,X,X2,target):
          
          AX = np.dot(X,self.transform)
          if X2 is None:
              X2 = X
              ZX2 = AX
          else:
              AX2 = np.dot(X2, self.transform)
          self.k._param_grad_helper(dL_dK,X,X2,target)
          self.k._param_grad_helper(dL_dK,AX,X2,target)
          self.k._param_grad_helper(dL_dK,X,AX2,target)
          self.k._param_grad_helper(dL_dK,AX,AX2,target)
docs: derivative of the covariance matrix with respect to the parameters.