def gradients_X(self, dL_dK, X, X2, target):
self._K_computations(X, X2)<EOL>arg = self._K_poly_arg<EOL>if X2 is None:<EOL><INDENT>target += <NUM_LIT:2>*self.weight_variance*self.degree*self.variance*(((X[None,:, :])) *(arg**(self.degree-<NUM_LIT:1>))[:, :, None]*dL_dK[:, :, None]).sum(<NUM_LIT:1>)<EOL><DEDENT>else:<EOL><INDENT>target += self.weight_variance*self.degree*self.variance*(((X2[None,:, :])) *(arg**(self.degree-<NUM_LIT:1>))[:, :, None]*dL_dK[:, :, None]).sum(<NUM_LIT:1>)<EOL><DEDENT>
Derivative of the covariance matrix with respect to X