Description Usage Arguments Details Value Author(s) Examples
Test whether two hypergraphs are equivalent. This is not an isomorphism test, merely a test that the incidence matrices are "the same" in the vertex/edge order in which they are resented.
1 2 3 4 | equivalent.hypergraphs(h1, h2, vertex.names = FALSE, edge.names = FALSE,
strip.names=FALSE,
method = c("any", "exact", "binary"))
as.binary.hypergraph(h)
|
h,h1,h2 |
hypergraphs. |
vertex.names |
logical. Whether to ensure the vertex names are all the same. |
edge.names |
logical. Whether to ensure the hyper-edge names are all the same. |
strip.names |
logical. Whether to strip the row/column names from the incidence matrices (after ordering them) prior to the equivalence check. |
method |
see Details. |
If either vertex.names
or edge.names
is TRUE, they are checked for equality,
and the incidence matrices are reordered accordingly. The method "exact" checks for
the matrices being exactly equal, while "binary" converts all non-zero entries to 1 before
the check. The former is for future versions in the event that weighted or directed
hypergraphs are implemented.
If strip.names
is TRUE, the row/column names are stripped from the matrices. If
either vertex.names
or edge.names
is TRUE, the matrices are first ordered
according to the rows/columns as appropriate.
Note that "binary" will always be TRUE if "exact" is TRUE, and that if "binary" is FALSE,
then so will "exact" be.
The method "any" calls the code with strip.names=TRUE
and all combinations of
vertex.names
and edge.names
for the binary
method, and returns the logical OR of these. Essentially, this tests that the matrices are
"the same" under any reasonable interpretation (without checking for equivalence under
any reordering except for lexicographic ordering of the row/column names).
a logical in the case of equivalent.hypergraphs
, a hypergraph in the case of
as.binary.hypergraph
.
David J. Marchette dmarchette@gmail.com
1 2 3 4 5 | h1 <- hypergraph_from_edgelist(list(1:4,2:7,c(1,3,5,7),c(2,4,6)))
h2 <- hypergraph_from_edgelist(list(letters[1:4],letters[2:7],
letters[c(1,3,5,7)],letters[c(2,4,6)]))
equivalent.hypergraphs(h1,h2) ## TRUE
equivalent.hypergraphs(h1,h2,vertex.names=TRUE) ## FALSE
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.