Cartesian product of graphs

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
The Cartesian product of graphs.

In graph theory, the Cartesian product G \square H of graphs G and H is a graph such that

  • the vertex set of G \square H is the Cartesian product V(G) × V(H); and
  • any two vertices (u,u') and (v,v') are adjacent in G \square H if and only if either
    • u = v and u' is adjacent with v' in H, or
    • u' = v' and u is adjacent with v in G.

Cartesian product graphs can be recognized efficiently, in linear time.[1] The operation is commutative as an operation on isomorphism classes of graphs, and more strongly the graphs G \square H and H \square G are naturally isomorphic, but it is not commutative as an operation on labeled graphs. The operation is also associative, as the graphs (F \square G) \square H and F \square (G \square H) are naturally isomorphic.

The notation G × H is occasionally also used for Cartesian products of graphs, but is more commonly used for another construction known as the tensor product of graphs. The square symbol is the more common and unambiguous notation for the Cartesian product of graphs. It shows visually the four edges resulting from the Cartesian product of two edges.[2]

Examples

  • The Cartesian product of two edges is a cycle on four vertices: K2 \square K2 = C4.
  • The Cartesian product of K2 and a path graph is a ladder graph.
  • The Cartesian product of two path graphs is a grid graph.
  • The Cartesian product of n edges is a hypercube:
(K_2)^{\square n} = Q_n.
Thus, the Cartesian product of two hypercube graphs is another hypercube: Qi \square Qj = Qi+j.
  • The Cartesian product of two median graphs is another median graph.
  • The graph of vertices and edges of an n-prism is the Cartesian product graph K2 \square Cn.
  • The rook's graph is the Cartesian product of two complete graphs.

Properties

If a connected graph is a Cartesian product, it can be factorized uniquely as a product of prime factors, graphs that cannot themselves be decomposed as products of graphs.[3] However, Imrich & Klavžar (2000) describe a disconnected graph that can be expressed in two different ways as a Cartesian product of prime graphs:

(K1 + K2 + K22) \square (K1 + K23) = (K1 + K22 + K24) \square (K1 + K2),

where the plus sign denotes disjoint union and the superscripts denote exponentiation over Cartesian products.

A Cartesian product is vertex transitive if and only if each of its factors is.[4]

A Cartesian product is bipartite if and only if each of its factors is. More generally, the chromatic number of the Cartesian product satisfies the equation

χ(G \square H) = max {χ(G), χ(H)}.[5] The Hedetniemi conjecture states a related equality for the tensor product of graphs. The independence number of a Cartesian product is not so easily calculated, but as Vizing (1963) showed it satisfies the inequalities
α(G)α(H) + min{|V(G)|-α(G),|V(H)|-α(H)} ≤ α(G \square H) ≤ min{α(G) |V(H)|, α(H) |V(G)|}.

The Vizing conjecture states that the domination number of a Cartesian product satisfies the inequality

γ(G \square H) ≥ γ(G)γ(H).

Algebraic graph theory

Algebraic graph theory can be used to analyse the Cartesian graph product. If the graph G_1 has n_1 vertices and the n_1\times n_1 adjacency matrix \mathbf A_1, and the graph G_2 has n_2 vertices and the n_2\times n_2 adjacency matrix \mathbf A_2, then the adjacency matrix of the Cartesian product of both graphs is given by

\mathbf A_{1\square 2} = \mathbf A_1 \otimes \mathbf I_{n_2} + \mathbf I_{n_1} \otimes \mathbf A_2,

where \otimes denotes the Kronecker product of matrices and \mathbf I_n denotes the n\times n identity matrix.[6]

History

According to Imrich & Klavžar (2000), Cartesian products of graphs were defined in 1912 by Whitehead and Russell. They were repeatedly rediscovered later, notably by Gert Sabidussi (1960).

Notes

References

  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..

External links