code: def partial_derivative(self, X, y=0):
          
          self.check_fit()
  
          U, V = self.split_matrix(X)
  
          if self.theta == 1:
              return V
  
          else:
              t1 = np.power(-np.log(U), self.theta)
              t2 = np.power(-np.log(V), self.theta)
              p1 = self.cumulative_distribution(X)
              p2 = np.power(t1 + t2, -1 + 1.0 / self.theta)
              p3 = np.power(-np.log(V), self.theta - 1)
              return np.divide(np.multiply(np.multiply(p1, p2), p3), V) - y
docs: Compute partial derivative :math:`C(u|v)` of cumulative density.
  
          Args:
              X: `np.ndarray`
              y: `float`
  
          Returns: