A bipartite graph can be labeled so all vertices of a given class are contiguous. This method does precisely that to a bipartite graph.
i1 : R = QQ[a..f]; |
i2 : G = graph flatten apply({a,c,e}, v->v*{b,d,f})
o2 = Graph{edges => {{a, b}, {b, c}, {a, d}, {c, d}, {b, e}, {d, e}, {a, f}, {c, f}, {e, f}}}
ring => R
vertices => {a, b, c, d, e, f}
o2 : Graph
|
i3 : relabelBipartite G
o3 = Graph{edges => {{a, d}, {b, d}, {c, d}, {a, e}, {b, e}, {c, e}, {a, f}, {b, f}, {c, f}}}
ring => R
vertices => {a, b, c, d, e, f}
o3 : Graph
|
If any of the inputs are not bipartite graphs, then the method throws an error.
The object relabelBipartite is a method function.