Is it possible to check for isomorphism of undirected graphs with edge labels (no vertex label) in IGraph?
I have read the documentation on isomorphism in the package but haven’t figured out how to do it.
Here is an example with three graphs:
g1 = EdgeTaggedGraph[{UndirectedEdge[0, 1, a],
UndirectedEdge[0, 1, b], UndirectedEdge[0, 2, c],
UndirectedEdge[0, 2, e], UndirectedEdge[0, 3, d]},
EdgeLabels -> "EdgeTag"];
g2 = EdgeTaggedGraph[{UndirectedEdge[0, 1, c],
UndirectedEdge[0, 1, e], UndirectedEdge[0, 2, a],
UndirectedEdge[0, 2, b], UndirectedEdge[0, 3, d]},
EdgeLabels -> "EdgeTag"];
g3 = EdgeTaggedGraph[{UndirectedEdge[0, 1, d],
UndirectedEdge[0, 1, e], UndirectedEdge[0, 2, a],
UndirectedEdge[0, 2, b], UndirectedEdge[0, 3, c]},
EdgeLabels -> "EdgeTag"];
{g1, g2, g3}
g1 and g2 are isomorphic when considering edge labels.
g1 and g3, or g2 and g3, are not isomorphic when considering edge labels.
IGIsomorphicQ
returns True
for all of them, as it does not take edge labels into account.