I’ve tested a high variety of algorithms that calculates remaining edges in order to complete a graph for any given list of `edges`

and number of vertices of complete graph `n`

. They were written in `numpy`

and other bunch of Python librories but it seems that none of them can’t outperform `igraph.Graph.complementer`

method in case list of edges covers a complete graph near fully (size of edges is near `n*(n-1)/2`

)

```
def ig_(n, edges: list):
#identifies a list of remaining edges:
g = ig.Graph()
g.add_vertices(range(n))
g.add_edges(edges)
c = g.complementer()
return sorted(e.tuple for e in c.es if e.source != e.target)
```

What an idea is hidden behind this `igraph.Graph.complementer`

method that makes it so fast?