def parameters_changed(self):
        self.Y[:] = self.transform_data()
        super(WarpedGP, self).parameters_changed()

        Kiy = self.posterior.woodbury_vector.flatten()

        grad_y = self.warping_function.fgrad_y(self.Y_untransformed)
        grad_y_psi, grad_psi = self.warping_function.fgrad_y_psi(self.Y_untransformed,
                                                                 return_covar_chain=True)
        djac_dpsi = ((1.0 / grad_y[:, :, None, None]) * grad_y_psi).sum(axis=0).sum(axis=0)
        dquad_dpsi = (Kiy[:, None, None, None] * grad_psi).sum(axis=0).sum(axis=0)

        warping_grads = -dquad_dpsi + djac_dpsi

        self.warping_function.psi.gradient[:] = warping_grads[:, :-1]
        self.warping_function.d.gradient[:] = warping_grads[0, -1]
dataset/ETHPy150Open SheffieldML/GPy/GPy/models/warped_gp.py/WarpedGP.parameters_changed/original