# weak: Equivalence Classes In pooh: Partial Orders and Relations

## Description

Calculates Equivalence Classes

## Usage

 `1` ```weak(from, to, domain, markers = FALSE) ```

## Arguments

 `from` an atomic vector `to` an atomic vector of the same mode and length as `from` `domain` an atomic vector of the same mode as `from` containing all the elements of `from` and `to`. If missing, `union(from, to)` is used. The domain of the relation or the nodes of the graph. `markers` controls the type of result; see Values below.

## Details

Pairs `(from[i], to[i])` can be though of either as elements of a symmetric relation on a set or as edges in an undirected graph. This function calculates the equivalence classes of the transitive closure of the relation or the components of the graph. If the edges are thought of as directed, then we calculate the weak components, meaning the components of the associated undirected graph, rather than the so-called strong components of the directed graph.

## Value

If `markers = FALSE`, a list, elements of which are the components (equivalence classes). If `markers = TRUE`, an integer vector of the same length as `domain` or as `union(from, to)` if `domain` is missing, elements of which are the same if and only if the corresponding elements of the domain (nodes of the graph) are in the same connected component (equivalence class).

## Examples

 ```1 2 3 4``` ```to <- sample(1:100, 75, replace = TRUE) from <- sample(1:100, 75, replace = TRUE) out <- weak(from, to) sapply(out, length) ```

pooh documentation built on May 29, 2017, 5:43 p.m.