A bipartite graph in igraph has a type
vertex
attribute giving the two vertex types. This function simply checks whether a graph could be
bipartite. It tries to find a mapping that gives a possible division
of the vertices into two classes, such that no two vertices of the
same class are connected by an edge.
The existence of such a mapping is equivalent of having no circuits of
odd length in the graph. A graph with loop edges cannot bipartite.
Note that the mapping is not necessarily unique, e.g. if the graph has
at least two components, then the vertices in the separate components
can be mapped independently.