Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Compute the hypergraph with a specified adjacency tensor
ResourceFunction["AdjacencyHypergraph"][atens] gives the (ordered or orderless) hypergraph with adjacency tensor atens. |
| "OrderedHyperedges" | Automatic | whether to treat hyperedges as being ordered (directed) |
| Automatic | construct an orderless hypergraph if and only if the adjacency tensor is symmetric across all indices |
| True | construct an ordered hypergraph |
| False | construct an orderless hypergraph |
Construct an ordered hypergraph automatically from an asymmetric adjacency tensor:
| In[1]:= | |
| Out[1]= | |
Construct an orderless hypergraph automatically from a symmetric adjacency tensor:
| In[2]:= | |
| Out[2]= | |
Treat the hypergraph as being ordered instead:
| In[3]:= | |
| Out[3]= | |
Construct an ordered hypergraph of arity 5 automatically from an asymmetric adjacency tensor specified as a SparseArray:
| In[4]:= | |
| Out[4]= | |
AdjacencyHypergraph accepts both SparseArray and nested list specifications of adjacency tensors:
| In[5]:= | |
| Out[5]= | |
| In[6]:= | |
| Out[6]= | |
AdjacencyHypergraph supports multihypergraphs, with adjacency tensor entries representing hyperedge multiplicities:
| In[7]:= | |
| Out[7]= | |
When the rank of the adjacency tensor is equal to 2, the output of AdjacencyHypergraph is identical to the output of AdjacencyGraph:
| In[8]:= | |
| Out[8]= | |
| In[9]:= | |
| Out[9]= | |
| In[10]:= | |
| Out[10]= | |
When the adjacency tensor is symmetric across all indices, the hypergraph is automatically orderless:
| In[11]:= | |
| Out[11]= | |
| In[12]:= | |
| Out[12]= | |
| In[13]:= | |
| Out[13]= | |
When the adjacency tensor is asymmetric across any pair of indices, the hypergraph is automatically ordered:
| In[14]:= | |
| Out[14]= | |
| In[15]:= | |
| Out[15]= | |
| In[16]:= | |
| Out[16]= | |
Diagonal entries of the adjacency tensor specify self-loops in the hypergraph:
| In[17]:= | |
| Out[17]= | |
Adjacency tensors can be of arbitrary rank:
| In[18]:= | |
| Out[18]= | |
By default ("OrderedHyperedges"→Automatic), all hyperedges are treated as orderless (i.e. undirected) if the adjacency tensor is symmetric across all indices:
| In[19]:= | |
| Out[19]= | |
Use "OrderedHyperedges"→True to treat hyperedges as ordered (i.e. directed):
| In[20]:= | |
| Out[20]= | |
Conversely, all hyperedges are treated as ordered (i.e. directed) if the adjacency tensor is asymmetric across any pair of indices:
| In[21]:= | |
| Out[21]= | |
This work is licensed under a Creative Commons Attribution 4.0 International License