
- Graph Theory - Home
- Graph Theory - Introduction
- Graph Theory - History
- Graph Theory - Fundamentals
- Graph Theory - Applications
- Types of Graphs
- Graph Theory - Types of Graphs
- Graph Theory - Simple Graphs
- Graph Theory - Multi-graphs
- Graph Theory - Directed Graphs
- Graph Theory - Weighted Graphs
- Graph Theory - Bipartite Graphs
- Graph Theory - Complete Graphs
- Graph Theory - Subgraphs
- Graph Theory - Trees
- Graph Theory - Forests
- Graph Theory - Planar Graphs
- Graph Theory - Hypergraphs
- Graph Theory - Infinite Graphs
- Graph Theory - Random Graphs
- Graph Representation
- Graph Theory - Graph Representation
- Graph Theory - Adjacency Matrix
- Graph Theory - Adjacency List
- Graph Theory - Incidence Matrix
- Graph Theory - Edge List
- Graph Theory - Compact Representation
- Graph Theory - Incidence Structure
- Graph Theory - Matrix-Tree Theorem
- Graph Properties
- Graph Theory - Basic Properties
- Graph Theory - Coverings
- Graph Theory - Matchings
- Graph Theory - Independent Sets
- Graph Theory - Traversability
- Graph Theory Connectivity
- Graph Theory - Connectivity
- Graph Theory - Vertex Connectivity
- Graph Theory - Edge Connectivity
- Graph Theory - k-Connected Graphs
- Graph Theory - 2-Vertex-Connected Graphs
- Graph Theory - 2-Edge-Connected Graphs
- Graph Theory - Strongly Connected Graphs
- Graph Theory - Weakly Connected Graphs
- Graph Theory - Connectivity in Planar Graphs
- Graph Theory - Connectivity in Dynamic Graphs
- Special Graphs
- Graph Theory - Regular Graphs
- Graph Theory - Complete Bipartite Graphs
- Graph Theory - Chordal Graphs
- Graph Theory - Line Graphs
- Graph Theory - Complement Graphs
- Graph Theory - Graph Products
- Graph Theory - Petersen Graph
- Graph Theory - Cayley Graphs
- Graph Theory - De Bruijn Graphs
- Graph Algorithms
- Graph Theory - Graph Algorithms
- Graph Theory - Breadth-First Search
- Graph Theory - Depth-First Search (DFS)
- Graph Theory - Dijkstra's Algorithm
- Graph Theory - Bellman-Ford Algorithm
- Graph Theory - Floyd-Warshall Algorithm
- Graph Theory - Johnson's Algorithm
- Graph Theory - A* Search Algorithm
- Graph Theory - Kruskal's Algorithm
- Graph Theory - Prim's Algorithm
- Graph Theory - Borůvka's Algorithm
- Graph Theory - Ford-Fulkerson Algorithm
- Graph Theory - Edmonds-Karp Algorithm
- Graph Theory - Push-Relabel Algorithm
- Graph Theory - Dinic's Algorithm
- Graph Theory - Hopcroft-Karp Algorithm
- Graph Theory - Tarjan's Algorithm
- Graph Theory - Kosaraju's Algorithm
- Graph Theory - Karger's Algorithm
- Graph Coloring
- Graph Theory - Coloring
- Graph Theory - Edge Coloring
- Graph Theory - Total Coloring
- Graph Theory - Greedy Coloring
- Graph Theory - Four Color Theorem
- Graph Theory - Coloring Bipartite Graphs
- Graph Theory - List Coloring
- Advanced Topics of Graph Theory
- Graph Theory - Chromatic Number
- Graph Theory - Chromatic Polynomial
- Graph Theory - Graph Labeling
- Graph Theory - Planarity & Kuratowski's Theorem
- Graph Theory - Planarity Testing Algorithms
- Graph Theory - Graph Embedding
- Graph Theory - Graph Minors
- Graph Theory - Isomorphism
- Spectral Graph Theory
- Graph Theory - Graph Laplacians
- Graph Theory - Cheeger's Inequality
- Graph Theory - Graph Clustering
- Graph Theory - Graph Partitioning
- Graph Theory - Tree Decomposition
- Graph Theory - Treewidth
- Graph Theory - Branchwidth
- Graph Theory - Graph Drawings
- Graph Theory - Force-Directed Methods
- Graph Theory - Layered Graph Drawing
- Graph Theory - Orthogonal Graph Drawing
- Graph Theory - Examples
- Computational Complexity of Graph
- Graph Theory - Time Complexity
- Graph Theory - Space Complexity
- Graph Theory - NP-Complete Problems
- Graph Theory - Approximation Algorithms
- Graph Theory - Parallel & Distributed Algorithms
- Graph Theory - Algorithm Optimization
- Graphs in Computer Science
- Graph Theory - Data Structures for Graphs
- Graph Theory - Graph Implementations
- Graph Theory - Graph Databases
- Graph Theory - Query Languages
- Graph Algorithms in Machine Learning
- Graph Neural Networks
- Graph Theory - Link Prediction
- Graph-Based Clustering
- Graph Theory - PageRank Algorithm
- Graph Theory - HITS Algorithm
- Graph Theory - Social Network Analysis
- Graph Theory - Centrality Measures
- Graph Theory - Community Detection
- Graph Theory - Influence Maximization
- Graph Theory - Graph Compression
- Graph Theory Real-World Applications
- Graph Theory - Network Routing
- Graph Theory - Traffic Flow
- Graph Theory - Web Crawling Data Structures
- Graph Theory - Computer Vision
- Graph Theory - Recommendation Systems
- Graph Theory - Biological Networks
- Graph Theory - Social Networks
- Graph Theory - Smart Grids
- Graph Theory - Telecommunications
- Graph Theory - Knowledge Graphs
- Graph Theory - Game Theory
- Graph Theory - Urban Planning
- Graph Theory Useful Resources
- Graph Theory - Quick Guide
- Graph Theory - Useful Resources
- Graph Theory - Discussion
Graph Theory - Graph Products
Graph Products
In graph theory, graph products are operations that combine two or more graphs to produce a new graph. These products combine the structure of the original graphs in different ways, depending on the type of product used.
The resulting graph has properties derived from the original graphs, and the way the vertices and edges are combined is determined by the specific type of graph product.
In this tutorial, we will explore several types of graph products, their properties, construction methods, and applications.
Types of Graph Products
There are several types of graph products, each with different ways of combining two graphs. We will describe and explain each type in detail −
- Cartesian Product
- Direct Product
- Strong Product
- Lexicographic Product
Cartesian Product
The Cartesian product of two graphs G = (V_G, E_G) and H = (V_H, E_H) is a graph G H where the vertex set of G H is the Cartesian product of the vertex sets of G and H, and two vertices (g, h) and (g', h') are adjacent if and only if either −
- g = g' and hh' is an edge in H, or
- h = h' and gg' is an edge in G.
Formally, the Cartesian product G H can be written as −
V(G H) = V_G V_H E(G H) = {( (g, h), (g', h') ) | (g = g' and (h, h') ∈ E_H) or (h = h' and (g, g') ∈ E_G) }
This type of product produces a graph that has properties of both G and H and is used in applications such as parallel computation and network design.
Example of Cartesian Product
Consider the graphs G and H as shown below −

For the Cartesian product of these two graphs, each vertex in G H is a pair of vertices from G and H. Edges are formed by the rules specified earlier. This results in a new graph where the adjacency relationships are governed by the original graphs.
Direct Product
The direct product of two graphs G and H, denoted as G ⊗ H, is defined as a graph where the vertex set is the Cartesian product of the vertex sets of G and H, just like the Cartesian product. However, in the direct product, two vertices (g, h) and (g', h') are adjacent if and only if −
- gg' is an edge in G and hh' is an edge in H.
Formally, the direct product G ⊗ H can be written as −
V(G ⊗ H) = V_G V_H E(G ⊗ H) = {( (g, h), (g', h') ) | (g, g') ∈ E_G and (h, h') ∈ E_H }
The direct product tends to preserve more specific structures of the original graphs, making it useful for applications that require stricter interdependencies between the graphs.
The direct product is known with various other names. They are: tensor product, Kronecker product, cardinal product, relational product, cross product, conjunction, weak direct product, or categorical product.
Example of Direct Product
Consider the following two graphs G and H −

The direct product G ⊗ H produces a graph where the edges between the vertices are formed by the adjacency of both G and H independently.
Strong Product
The strong product of two graphs G and H, denoted G ⊙ H, is a graph where the vertex set is the same as the Cartesian product V_G V_H, and two vertices (g, h) and (g', h') are adjacent if −
- gg' is an edge in G and hh' is an edge in H (this condition holds as in the direct product), or
- gg' is an edge in G and h = h', or
- hh' is an edge in H and g = g'.
Formally, the strong product G ⊙ H can be written as −
V(G ⊙ H) = V_G V_H E(G ⊙ H) = {( (g, h), (g', h') ) | (g, g') ∈ E_G and (h, h') ∈ E_H or (g, g') ∈ E_G and h = h' or (h, h') ∈ E_H and g = g' }
This product combines both the Cartesian and direct product's properties, and it is used in cases where all combinations of adjacency relationships are important, such as in some types of routing problems.
Example of Strong Product
The following graph G and H demonstrate how the strong product combines both the Cartesian and direct product properties −

As shown in the image, the strong product G ⊙ H introduces additional edges based on the adjacency of vertices from both graphs.
Lexicographic Product
The lexicographic product of two graphs G and H, denoted G ∘ H, is a graph where the vertex set is the Cartesian product V_G V_H, and two vertices (g, h) and (g', h') are adjacent if −
- gg' is an edge in G, or
- g = g' and hh' is an edge in H.
Formally, the lexicographic product G ∘ H can be written as −
V(G ∘ H) = V_G V_H E(G ∘ H) = {( (g, h), (g', h') ) | (g, g') ∈ E_G or (g = g' and (h, h') ∈ E_H) }
The lexicographic product is useful in constructing graphs where one graph dominates the structure, and the other graph adds additional layers of connections.
Example of Lexicographic Product
Here is an example of the lexicographic product for the graphs G and H −

In the image, the lexicographic product G ∘ H connects vertices based on the adjacency relationships in both graphs.
Applications of Graph Products
Graph products have various applications in many fields, such as −
- Network Design: Graph products are used to design networks with specific topological properties by combining simple graph structures.
- Parallel Computing: Graph products can model parallel computation architectures where different tasks are interconnected.
- Distributed Systems: The analysis of distributed systems can be simplified by using graph products to represent the interconnections between system components.
- Quantum Computing: Some quantum computing problems are modeled using graph products, especially when dealing with entanglement and superposition.