1. The simple interface

1.1. igraph_permute_vertices — Permute the vertices
1.2. igraph_isomorphic — Decides whether two graphs are isomorphic
1.3. igraph_subisomorphic — Decide subgraph isomorphism

igraph provides four set of functions to deal with graph isomorphism problems.

The igraph_isomorphic() and igraph_subisomorphic() functions make up the first set (in addition with the igraph_permute_vertices() function). These functions choose the algorithm which is best for the supplied input graph. (The choice is not very sophisticated though, see their documentation for details.)

The VF2 graph (and subgraph) isomorphism algorithm is implemented in igraph, these functions are the second set. See igraph_isomorphic_vf2() and igraph_subisomorphic_vf2() for starters.

Functions for the BLISS algorithm constitute the third set, see igraph_isomorphic_bliss(). This implementation only works for undirected graphs.

Finally, the isomorphism classes of all graphs with three and four vertices are precomputed and stored in igraph, so for these small graphs there is a very simple fast way to decide isomorphism. See igraph_isomorphic_34().