def _eig(operand: TfVal, compute_left_eigenvectors: bool, compute_right_eigenvectors: bool):
    if (compute_left_eigenvectors and compute_right_eigenvectors):
        msg = 'Conversion of eig is not implemented when both compute_left_eigenvectors and compute_right_eigenvectors are set to True.'
        raise NotImplementedError(msg)
    elif (not (compute_left_eigenvectors or compute_right_eigenvectors)):
        return tuple([tf.linalg.eigvals(operand)])
    elif compute_right_eigenvectors:
        return tuple(tf.linalg.eig(operand))
    else:
        (wH, vl) = tf.linalg.eig(tf.linalg.adjoint(operand))
        wHH = tf.math.conj(wH)
        return tuple([wHH, vl])
def _eig(operand: TfVal, compute_left_eigenvectors: bool, compute_right_eigenvectors: bool):
    if (compute_left_eigenvectors and compute_right_eigenvectors):
        msg = 'Conversion of eig is not implemented when both compute_left_eigenvectors and compute_right_eigenvectors are set to True.'
        raise NotImplementedError(msg)
    elif (not (compute_left_eigenvectors or compute_right_eigenvectors)):
        return tuple([tf.linalg.eigvals(operand)])
    elif compute_right_eigenvectors:
        return tuple(tf.linalg.eig(operand))
    else:
        (wH, vl) = tf.linalg.eig(tf.linalg.adjoint(operand))
        wHH = tf.math.conj(wH)
        return tuple([wHH, vl])