<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def compute_empirical(cls, X):
 """Compute empirical distribution."""

        z_left = []
        z_right = []
        L = []
        R = []

        U, V = cls.split_matrix(X)
        N = len(U)
        base = np.linspace(EPSILON, 1.0 - EPSILON, COMPUTE_EMPIRICAL_STEPS)
        # See https://github.com/DAI-Lab/Copulas/issues/45

        for k in range(COMPUTE_EMPIRICAL_STEPS):
            left = sum(np.logical_and(U <= base[k], V <= base[k])) / N
            right = sum(np.logical_and(U >= base[k], V >= base[k])) / N

            if left > 0:

                z_left.append(base[k])
                L.append(left / base[k] ** 2)

            if right > 0:
                z_right.append(base[k])
                R.append(right / (1 - z_right[k]) ** 2)

        return z_left, L, z_right, R