rel_is_total {agop} R Documentation

## Total Binary Relations

### Description

A binary relation R is total (or strong complete), iff for all x, y we have xRy or yRx.

### Usage

```rel_is_total(R)

rel_closure_total_fair(R)
```

### Arguments

 `R` an object coercible to a 0-1 (logical) square matrix, representing a binary relation on a finite set.

### Details

Note that each total relation is also reflexive, see `rel_is_reflexive`.

`rel_is_total` determines if a given binary relation `R` is total. The algorithm has O(n^2) time complexity, where n is the number of rows in `R`. If `R[i,j]` and `R[j,i]` is `NA` for some (i,j), then the functions outputs `NA`.

The problem of finding a total closure or reduction is not well-defined in general.

When dealing with preorders, however, the following closure may be useful, see (Gagolewski, 2013). Fair totalization of R, performed by `rel_closure_total_fair`, is the minimal superset R' of R such that if not xRy and not yRx then xR'y and yR'x.

Even if `R` is transitive, the resulting relation might not necessarily fulfil this property. If you want a total preorder, call `rel_closure_transitive` afterwards. Missing values in `R` are not allowed and result in an error.

### Value

`rel_is_total` returns a single logical value.

`rel_closure_reflexive` returns a logical square matrix. `dimnames` of `R` are preserved.

### References

Gagolewski M., Scientific Impact Assessment Cannot be Fair, Journal of Informetrics 7(4), 2013, pp. 792-802.

Gagolewski M., Data Fusion: Theory, Methods, and Applications, Institute of Computer Science, Polish Academy of Sciences, 2015, 290 pp. isbn:978-83-63159-20-7

Other binary_relations: `check_comonotonicity`, `pord_nd`, `pord_spread`, `pord_weakdom`, `rel_graph`, `rel_is_antisymmetric`, `rel_is_asymmetric`, `rel_is_cyclic`, `rel_is_irreflexive`, `rel_is_reflexive`, `rel_is_symmetric`, `rel_is_transitive`, `rel_reduction_hasse`