Wolfram Language
Paclet Repository
Community-contributed installable additions to the Wolfram Language
Primary Navigation
Categories
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
Create a Paclet
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`
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
[
h
g
1
,
h
g
2
,
…
,
h
g
n
]
i
n
s
e
r
t
s
h
g
n
i
n
t
o
h
g
(
n
-
1
)
,
t
h
e
r
e
s
u
l
t
i
n
t
o
h
g
(
n
-
2
)
,
a
n
d
s
o
o
n
d
o
w
n
t
o
h
g
1
,
a
t
e
v
e
r
y
a
l
l
o
w
e
d
v
e
r
t
e
x
a
t
e
a
c
h
s
t
e
p
,
g
i
v
i
n
g
a
l
i
s
t
o
f
o
n
e
-
k
e
y
a
s
s
o
c
i
a
t
i
o
n
s
<
|
h
g
-
>
s
i
g
n
|
>
,
o
n
e
f
o
r
e
a
c
h
w
a
y
o
f
p
e
r
f
o
r
m
i
n
g
t
h
e
c
h
a
i
n
o
f
i
n
s
e
r
t
i
o
n
s
.
D
e
t
a
i
l
s
a
n
d
O
p
t
i
o
n
s
▪
Inserting a hypergraph
hg'
at a vertex
v
of a hypergraph
hg
identifies
v
with the root of
hg'
, which by convention is the first vertex in
V
e
r
t
e
x
L
i
s
t
[
hg'
]; the rest of
hg'
's vertices are added as fresh vertices attached the way they were attached to the root in
hg'
.
▪
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
is the raw building block behind
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
B
r
a
c
k
e
t
: the bracket symmetrizes (or antisymmetrizes)
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
's results over every ordering of its arguments and collects the outcomes up to isomorphism, while
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
itself returns the unsymmetrized, uncollected list of insertion terms.
▪
Each returned association pairs a resulting hypergraph with an integer Koszul sign (see
K
o
s
z
u
l
S
i
g
n
) that keeps track of the sign incurred by inserting into the target's vertex ordering.
▪
Insertion at a vertex is intended to happen only when that vertex's "Degree" annotation matches the degree of the root of the inserted hypergraph (see
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
B
r
a
c
k
e
t
D
e
g
r
e
e
); every vertex defaults to degree 0, so plain hypergraphs (with no degree annotations) insert at every vertex.
Examples
(
5
)
Basic Examples
(
3
)
Insert a single edge into every vertex of a triangle:
I
n
[
1
]
:
=
L
e
n
g
t
h
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
H
y
p
e
r
g
r
a
p
h
[
{
{
1
,
2
,
3
}
}
]
,
H
y
p
e
r
g
r
a
p
h
[
{
{
1
,
2
}
}
]
O
u
t
[
1
]
=
3
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Because a triangle is vertex-transitive, every one of the three insertions gives an isomorphic result:
I
n
[
1
]
:
=
E
d
g
e
L
i
s
t
C
a
n
o
n
i
c
a
l
H
y
p
e
r
g
r
a
p
h
F
i
r
s
t
@
K
e
y
s
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
H
y
p
e
r
g
r
a
p
h
[
{
{
1
,
2
,
3
}
}
]
,
H
y
p
e
r
g
r
a
p
h
[
{
{
1
,
2
}
}
]
1
O
u
t
[
1
]
=
{
{
1
,
4
}
,
{
2
,
3
,
4
}
}
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Each term carries a Koszul sign; for plain (ungraded) hypergraphs, every sign is 1:
I
n
[
1
]
:
=
V
a
l
u
e
s
/
@
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
H
y
p
e
r
g
r
a
p
h
[
{
{
1
,
2
,
3
}
}
]
,
H
y
p
e
r
g
r
a
p
h
[
{
{
1
,
2
}
}
]
O
u
t
[
1
]
=
{
{
1
}
,
{
1
}
,
{
1
}
}
S
c
o
p
e
(
1
)
P
o
s
s
i
b
l
e
I
s
s
u
e
s
(
1
)
S
e
e
A
l
s
o
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
B
r
a
c
k
e
t
▪
H
y
p
e
r
g
r
a
p
h
I
n
s
e
r
t
i
o
n
B
r
a
c
k
e
t
D
e
g
r
e
e
▪
K
o
s
z
u
l
S
i
g
n
▪
C
a
n
o
n
i
c
a
l
H
y
p
e
r
g
r
a
p
h
R
e
l
a
t
e
d
G
u
i
d
e
s
▪
H
y
p
e
r
g
r
a
p
h
F
u
n
c
t
i
o
n
a
l
i
t
y
"
"