This package right now has only one function, a highly efficient algorithm for finding the equivalence classes for the transitive closure of a symmetric relation or — what is equivalent — the connected components of an undirected graph.

The algorithm is Rem's algorithm, described in the best book about computing science ever written.

The idea of the package is to eventually have other functions related to symmetric and antisymmetric relations (whose transitive closures are equivalence relations and partial orders) and to directed and undirected graphs.

This is a release early and release often release. The function (named weak) in this package has already been used in research by several different people.