Possible problem with subgraph_isomorphism when there are self loops

Hello, I’m using
graph-tool 2.79
on

Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble

I believe there may be a problem with graph_tool.topology.subgraph_isomorphism(), or I may well have misunderstood what it is supposed to do. A basic example is the following:

import graph_tool.topology as gt
g1 = gt.Graph(directed=False)
g2=gt.Graph(directed=False)
g1.add_edge_list([[0,1],[1,1]])
g2.add_edge_list([[0,1],[1,1],[1,2],[0,2]])
gt.subgraph_isomorphism(g1,g2)
Out[14]: [ ]

g1 is 2 connected nodes, one with a self loop. while g2 is a triangle, one node of which has an additional self loop. It seems evident that g1 is a subgraph of g2, but no such mapping is returned. Thank you for your help!

  • A confused grad student

There seems to be an issue with self-loops in the code. Could you please open an issue at the issue tracker: https://git.skewed.de/count0/graph-tool/-/issues