# mergeOnArrow -- join two quivers together by identifying an arrow from each

## Synopsis

• Usage:
mergeOnArrow (Q1, A1, Q2, A2)
mergeOnArrow (Q1, A1, M2, A2)
mergeOnArrow (M1, A1, Q2, A2)
• Inputs:
• Outputs:

## Description

create a new quiver from joining two toricQuivers together by identifying arrow $A1$ in $Q1$ with arrow $A2$ in $Q2$.

 i1 : mergeOnArrow (bipartiteQuiver (2, 3), 0, bipartiteQuiver (2, 3), 0) o1 = ToricQuiver{flow => {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} } IncidenceMatrix => | 0 1 0 0 1 0 0 0 0 0 0 | | 0 0 -1 -1 -1 0 0 0 0 0 0 | | 1 0 0 1 0 0 0 0 0 0 0 | | -1 -1 0 0 0 -1 -1 -1 0 0 0 | | 0 0 1 0 0 1 0 0 1 0 0 | | 0 0 0 0 0 0 0 1 0 0 1 | | 0 0 0 0 0 0 0 0 -1 -1 -1 | | 0 0 0 0 0 0 1 0 0 1 0 | Q0 => {0, 1, 2, 3, 4, 5, 6, 7} Q1 => {{3, 2}, {3, 0}, {1, 4}, {1, 2}, {1, 0}, {3, 4}, {3, 7}, {3, 5}, {6, 4}, {6, 7}, {6, 5}} weights => {2, -3, 2, -5, 3, 2, -3, 2} o1 : ToricQuiver
 i2 : mergeOnArrow (bipartiteQuiver (2, 3), 0, matrix({{-1,-1,-1,-1},{1,1,0,0},{0,0,1,1}}), 0) o2 = ToricQuiver{flow => {1, 1, 1, 1, 1, 1, 1, 1, 1} } IncidenceMatrix => | 0 1 0 0 1 0 0 0 0 | | 0 0 -1 -1 -1 0 0 0 0 | | 1 0 0 1 0 0 0 0 0 | | -1 -1 0 0 0 -1 -1 -1 -1 | | 0 0 1 0 0 1 1 0 0 | | 0 0 0 0 0 0 0 1 1 | Q0 => {0, 1, 2, 3, 4, 5} Q1 => {{3, 2}, {3, 0}, {1, 4}, {1, 2}, {1, 0}, {3, 4}, {3, 4}, {3, 5}, {3, 5}} weights => {2, -3, 2, -6, 3, 2} o2 : ToricQuiver
 i3 : mergeOnArrow (matrix ({{-1,-1,-1,-1},{1,1,0,0},{0,0,1,1}}), 0, bipartiteQuiver (2, 3), 0) o3 = ToricQuiver{flow => {1, 1, 1, 1, 1, 1, 1, 1, 1} } IncidenceMatrix => | 0 1 1 0 0 0 0 0 0 | | -1 -1 -1 -1 -1 -1 0 0 0 | | 1 0 0 1 0 0 1 0 0 | | 0 0 0 0 0 1 0 0 1 | | 0 0 0 0 0 0 -1 -1 -1 | | 0 0 0 0 1 0 0 1 0 | Q0 => {0, 1, 2, 3, 4, 5} Q1 => {{1, 2}, {1, 0}, {1, 0}, {1, 2}, {1, 5}, {1, 3}, {4, 2}, {4, 5}, {4, 3}} weights => {2, -6, 3, 2, -3, 2} o3 : ToricQuiver

## Ways to use mergeOnArrow :

• "mergeOnArrow(Matrix,ZZ,ToricQuiver,ZZ)"
• "mergeOnArrow(ToricQuiver,ZZ,Matrix,ZZ)"
• "mergeOnArrow(ToricQuiver,ZZ,ToricQuiver,ZZ)"
• mergeOnArrow(Matrix,ZZ,Matrix,ZZ) (missing documentation)

## For the programmer

The object mergeOnArrow is .