# newEdges -- replaces disjoint pairs of edges by disjoint pairs of two-chains

## Synopsis

• Usage:
N' = newEdges L
N = newEdges S
N = newEdges(G, R)
• Inputs:
• L, a list, containing graphs in various formats
• S, , a graph encoded in either Sparse6 or Graph6 format
• G, ,
• R, , a ring with exactly two more variables than the ring of $G$
• Outputs:
• N', a list, containing graphs in either Graph6 or Sparse6 format, modified as described below
• N, a list, a list of graphs, in the same format as the input, modified as described below

## Description

The list of "new edge" graphs are formed as follows: Let $ab$ and $cd$ be disjoint edges of $G$. Then the associated "new edge" graph $H$ is $G$ with the edges $ab$ and $cd$ removed, the vertices $e$ and $f$ added, and the new edges $ae, be, cf, df,$ and $ef$ added.

 i1 : R = QQ[a..d]; i2 : G = graph {a*b, c*d}; i3 : S = QQ[a..f]; i4 : newEdges(G, S) o4 = {Graph{edges => {{a, e}, {b, e}, {c, f}, {d, f}, {e, f}}}} ring => S vertices => {a, b, c, d, e, f} o4 : List

If the List input format is used, then one should use care as the list may contain isomorphic pairs.

## Ways to use newEdges :

• "newEdges(Graph,PolynomialRing)"
• "newEdges(List)"
• "newEdges(String)"

## For the programmer

The object newEdges is .