networkx.algorithms.operators.product.tensor_product¶

tensor_product
(G, H)[source]¶ Returns the tensor product of G and H.
The tensor product \(P\) of the graphs \(G\) and \(H\) has a node set that is the tensor product of the node sets, \(V(P)=V(G) \times V(H)\). \(P\) has an edge \(((u,v), (x,y))\) if and only if \((u,x)\) is an edge in \(G\) and \((v,y)\) is an edge in \(H\).
Tensor product is sometimes also referred to as the categorical product, direct product, cardinal product or conjunction.
 Parameters
G, H (graphs) – Networkx graphs.
 Returns
P – The tensor product of G and H. P will be a multigraph if either G or H is a multigraph, will be a directed if G and H are directed, and undirected if G and H are undirected.
 Return type
NetworkX graph
 Raises
NetworkXError – If G and H are not both directed or both undirected.
Notes
Node attributes in P are twotuple of the G and H node attributes. Missing attributes are assigned None.
Examples
>>> G = nx.Graph() >>> H = nx.Graph() >>> G.add_node(0, a1=True) >>> H.add_node("a", a2="Spam") >>> P = nx.tensor_product(G, H) >>> list(P) [(0, 'a')]
Edge attributes and edge keys (for multigraphs) are also copied to the new product graph