Graph product

In graph theory, a graph product is a binary operation on graphs. Specifically, it is an operation that takes two graphs $G1$ and $G2$ and produces a graph $H$ with the following properties:
 * The vertex set of $H$ is the Cartesian product $V(G1) × V(G2)$, where $V(G1)$ and $V(G2)$ are the vertex sets of $G1$ and $G2$, respectively.
 * Two vertices $(a1,a2)$ and $(b1,b2)$ of $H$ are connected by an edge, iff a condition about $a1, b1$ in $G1$ and $a2, b2$ in $G2$ is fulfilled.

The graph products differ in what exactly this condition is. It is always about whether or not the vertices $an, bn$ in $Gn$ 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 $$E_{G\times H} = 2 E_{G} E_{H}$$ would suggest.

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

In general, a graph product is determined by any condition for $$(a_1, a_2) \sim (b_1, b_2)$$ that can be expressed in terms of $$a_n = b_n$$ and $$a_n \sim b_n$$.

Mnemonic
Let $$K_2$$ be the complete graph on two vertices (i.e. a single edge). The product graphs $$K_2 \square K_2$$, $$K_2 \times K_2$$, and $$K_2 \boxtimes K_2$$ look exactly like the graph representing the operator. For example, $$K_2 \square K_2$$ is a four cycle (a square) and $$K_2 \boxtimes K_2$$ is the complete graph on four vertices.

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