3.8. igraph_get_subisomorphisms_vf2 — Return all subgraph isomorphic mappings

int igraph_get_subisomorphisms_vf2(const igraph_t *graph1,
				   const igraph_t *graph2,
				   igraph_vector_ptr_t *maps);

This function collects all isomorphic mappings of graph2 to a subgraph of graph1. It uses the igraph_subisomorphic_function_vf2() function.

Arguments: 

graph1:

The first input graph, may be directed or undirected. This is supposed to be the larger graph.

graph2:

The second input graph, it must have the same directedness as graph1. This is supposed to be the smaller graph.

maps:

Pointer vector. On return it contains pointers to igraph_vector_t objects, each vector is an isomorphic mapping of graph2 to a subgraph of graph1. Please note that you need to 1) Destroy the vectors via igraph_vector_destroy(), 2) free them via free() and then 3) call igraph_vector_ptr_destroy() on the pointer vector to deallocate all memory when maps is no longer needed.

Returns: 

Error code.

Time complexity: exponential.