Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

Hypergraph

Guides

  • Hypergraph Functionality

Tech Notes

  • Hypergraph Rewriting

Symbols

  • AdjacencyHypergraph
  • AdjacencyTensor
  • CanonicalHypergraph
  • CanonicalHypergraphRule
  • ConnectedHypergraphQ
  • CyclicEdge
  • EdgeListTagged
  • EdgeMultiplicity
  • EdgeSymmetry
  • EnumerateHypergraphRules
  • EnumerateHypergraphs
  • EnumerateOrderedHypergraphs
  • EnumerateWolframModelRules
  • HighlightRule
  • HyperedgeList
  • Hyperedge
  • Hyperedges
  • HyperedgesQ
  • Hypergraph3D
  • HypergraphArityReduce
  • HypergraphDraw
  • HypergraphEmbedding
  • HypergraphHadamardProduct
  • HypergraphIncidenceMatrix
  • HypergraphIncidence
  • HypergraphInsertionBracketDegree
  • HypergraphInsertionBracket
  • HypergraphInsertion
  • HypergraphLargeQ
  • Hypergraph
  • HypergraphQ
  • HypergraphRuleDraw
  • HypergraphRule
  • HypergraphRuleQ
  • HypergraphToGraph
  • HypergraphTransitionMatrix
  • HypergraphUnion
  • HypermatrixGraph
  • Hypermatrix
  • HypermatrixQ
  • IncidenceHypergraph
  • IsomorphicHypergraphQ
  • KoszulSign
  • LinkedHypergraph
  • OrderedHypergraphToGraph
  • RandomAllHypergraph
  • RandomConnectedHypergraph
  • RandomHypergraph
  • RandomHypergraphRule
  • SetHypergraphSummaryThresholds
  • SimpleHypergraph
  • SimpleHypergraphPlot3D
  • SimpleHypergraphPlot
  • SimpleHypergraphQ
  • ToLabeledEdges
  • ToLabeledPatternEdges
  • ToOrderedHypergraph
  • ToPatternRules
WolframInstitute`Hypergraph`
EnumerateWolframModelRules
​
EnumerateWolframModelRules
[{{
m
1
,
a
1
},…}{{
k
1
,
b
1
},…}]
enumerates canonical Wolfram-model-style rules whose input has
𝑚
1
hyperedges of arity
𝑎
1
, etc, and whose output has
𝑘
1
hyperedges of arity
𝑏
1
, etc, each rule given as a plain rule between two lists of hyperedges.
​
​
EnumerateWolframModelRules
[sig,s]
enumerates rules with exactly s distinct atoms.
​
​
EnumerateWolframModelRules
[sig,{s,type}]
enumerates rules with connectivity type.
​
Details and Options
▪
EnumerateWolframModelRules
is the underlying engine behind
EnumerateHypergraphRules
: the two take the same arguments, but where
EnumerateHypergraphRules
wraps each result in a
HypergraphRule
object,
EnumerateWolframModelRules
returns the bare rule of two hyperedge lists, e.g.
{{1,2}}{{1,3},{1,4}}
.
▪
The signature is a rule of two hyperedge specifications
{{m1,a1},{m2,a2},...}
, each specifying
m1
hyperedges of arity
a1
,
m2
hyperedges of arity
a2
, etc.
▪
With no explicit atom count, all rules with up to the maximum number of atoms that the connectivity type allows are enumerated, matching the default of the Wolfram Function Repository function
EnumerateWolframModelRules
.
▪
An explicit atom count s selects the rules with exactly s distinct atoms; this differs from the Wolfram Function Repository function, whose integer argument means up to s atoms.
▪
Possible connectivity types are:
type
constraint
Automatic
the input is connected, and connected to the output
All
input and output are each connected, and connected to each other
None
no connectivity constraint
▪
EnumerateWolframModelRules
[sig,type]
is equivalent to
EnumerateWolframModelRules
[sig,{
Automatic
,type}]
.
​
Examples  
(10)
Basic Examples  
(2)
Enumerate the raw rules taking a single binary hyperedge to itself:
In[1]:=
EnumerateWolframModelRules
[{{1,2}}{{1,2}}]
Out[1]=
{{{1,1}}{{1,1}},{{1,1}}{{1,2}},{{1,1}}{{2,1}},{{1,2}}{{1,1}},{{1,2}}{{1,2}},{{1,2}}{{2,1}},{{1,2}}{{2,2}},{{1,2}}{{1,3}},{{1,2}}{{2,3}},{{1,2}}{{3,1}},{{1,2}}{{3,2}}}
_________________________________________________________________________________________________________________
Count the rules taking one binary hyperedge to two binary hyperedges:
In[1]:=
Length
EnumerateWolframModelRules
[{{1,2}}{{2,2}}]
Out[1]=
73
Scope  
(3)

Properties & Relations  
(3)

Possible Issues  
(2)

SeeAlso
EnumerateHypergraphRules
 
▪
HypergraphRule
 
▪
RandomHypergraphRule
 
▪
EnumerateHypergraphs
RelatedGuides
▪
HypergraphFunctionality
""

© 2026 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com