A binary relation \(R\) is total (or strong complete), iff for all \(x\), \(y\) we have \(xRy\) or \(yRx\).
rel_is_total(R)rel_closure_total_fair(R)
rel_is_total returns a single logical value.
rel_closure_reflexive returns a logical square matrix.
dimnames of R are preserved.
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.
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()