code: def get_likelihood(self, uni_matrix):
          
          if self.parents is None:
              left_u = uni_matrix[:, self.L]
              right_u = uni_matrix[:, self.R]
  
          else:
              left_ing = list(self.D - self.parents[0].D)[0]
              right_ing = list(self.D - self.parents[1].D)[0]
              left_u = uni_matrix[self.L, left_ing]
              right_u = uni_matrix[self.R, right_ing]
  
          copula = Bivariate(self.name)
          copula.theta = self.theta
  
          X_left_right = np.array([[left_u, right_u]])
          X_right_left = np.array([[right_u, left_u]])
  
          value = np.sum(copula.probability_density(X_left_right))
          left_given_right = copula.partial_derivative(X_left_right)
          right_given_left = copula.partial_derivative(X_right_left)
  
          return value, left_given_right, right_given_left
docs: Compute likelihood given a U matrix.
  
          Args:
              uni_matrix(numpy.array): Matrix to compute the likelihood.
  
          Return:
              tuple(np.ndarray, np.ndarray, np.array): likelihood and conditional values.