code: def partial_derivative(self, X, y=0):
          
          self.check_fit()
  
          U, V = self.split_matrix(X)
  
          if self.theta == 0:
              return V
  
          else:
              A = np.power(V, -self.theta - 1)
              B = np.power(V, -self.theta) + np.power(U, -self.theta) - 1
              h = np.power(B, (-1 - self.theta) / self.theta)
              return np.multiply(A, h) - y
docs: Compute partial derivative :math:`C(u|v)` of cumulative distribution.
  
          Args:
              X: `np.ndarray`
              y: `float`
  
          Returns:
              np.ndarray: Derivatives