def remove_simplicial(qbreaks):
    """Find simplicial qbreaks, reduce the set of qbreaks to non-simplicial qbreaks,
    and identify the essential tbreaks necessitated by those qbreaks."""
    simplicial = set([qb for qb in qbreaks if len(qb.tbreaks) == 1])
    essential = set([tb for qb in simplicial for tb in qb.tbreaks])
    nonsimplicial = qbreaks - simplicial
    return nonsimplicial, simplicial, essential