Graph product

From testwiki
Jump to navigation Jump to search

Template:Short description

In graph theory, a graph product is a binary operation on graphs. Specifically, it is an operation that takes two graphs Template:Math and Template:Math and produces a graph Template:Mvar with the following properties:

The graph products differ in what exactly this condition is. It is always about whether or not the vertices Template:Math in Template:Mvar are equal or connected by an edge.

The terminology and notation for specific graph products in the literature varies quite a lot; even if the following may be considered somewhat standard, readers are advised to check what definition a particular author uses for a graph product, especially in older texts.

Even for more standard definitions, it is not always consistent in the literature how to handle self-loops. The formulas below for the number of edges in a product also may fail when including self-loops. For example, the tensor product of a single vertex self-loop with itself is another single vertex self-loop with E=1, and not E=2 as the formula EG×H=2EGEH would suggest.

Overview table

The following table shows the most common graph products, with ∼ denoting "is connected by an edge to", and ≁ denoting non-adjacency. While ≁ does allow equality, ≄ means they must be distinct and non-adjacent. The operator symbols listed here are by no means standard, especially in older papers.

Name Condition for (a1,a2)∼(b1,b2) Number of edges
v1=|V(G1)|v2=|V(G2)|e1=|E(G1)|e2=|E(G2)|
Example
with anrelbn
abbreviated as reln
Cartesian product
(box product)
G1◻G2
a1=b1∧a2∼b2
∨
a1∼b1∧a2=b2
=1∼2
∨
∼1=2
v1e2+e1v2
Tensor product
(Kronecker product,
categorical product)
G1×G2
a1∼b1∧a2∼b2 ∼1∼2 2e1e2
Strong product
(Normal product,
AND product)
G1⊠G2
=(G1×G2)∪(G1◻G2)
a1=b1∧a2∼b2
∨
a1∼b1∧a2=b2
∨
a1∼b1∧a2∼b2
=1∼2
∨
∼1=2
∨
∼1∼2
v1e2+e1v2+2e1e2
Lexicographical product
G1⋅G2 or G1[G2]
a1∼b1
∨
a1=b1∧a2∼b2
∼1
∨
=1∼2
v1e2+e1v22
Co-normal product
(disjunctive product,[1] OR product)
G1∗G2 or G1∨G2
=G1[G2]∪G2[G1]
=G1‾⊠G2‾‾
a1∼b1
∨
a2∼b2
∼1
∨
∼2
v12e2+e1v22−2e1e2
Modular product
G1⋄G2
=(G1⊠G2)∪(G1‾×G2‾)
a1∼b1∧a2∼b2
∨
a1≄b1∧a2≄b2
∼1∼2
∨
≃1≃2
Rooted product see article v1e2+e1
Zig-zag product see article see article see article
Replacement product
Homomorphic product[2]Template:Refn
G1⋉G2
a1=b1
∨
a1∼b1∧a2≁b2
=1
∨
∼1∼2
v1v2(v2−1)/2+e1(v22−2e2)

In general, a graph product is determined by any condition for (a1,a2)∼(b1,b2) that can be expressed in terms of an=bn and an∼bn.

Mnemonic

Let K2 be the complete graph on two vertices (i.e. a single edge). The product graphs K2◻K2, K2×K2, and K2⊠K2 look exactly like the graph representing the operator. For example, K2◻K2 is a four cycle (a square) and K2⊠K2 is the complete graph on four vertices.

The G1[G2] notation for lexicographic product serves as a reminder that this product is not commutative. The resulting graph looks like substituting a copy of G2 for every vertex of G1.

See also

Notes

Template:Reflist

References

Template:Refbegin

Template:Refend