rel_is_total {agop}R Documentation

Total Binary Relations


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






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


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.


rel_is_total returns a single logical value.

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


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

See Also

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()

[Package agop version 0.2.4 Index]