Macaulay2 » Documentation
Packages » ThinSincereQuivers > mergeOnArrow
next | previous | forward | backward | up | index | toc

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

Synopsis

Description

This method creates a new quiver from joining two toricQuivers together by identifying arrow $A1$ in $Q1$ with arrow $A2$ in $Q2$. The input matrices must correspond to valid graphs, and the integers must correspond to arrows in each of the provided quiver objects.

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 => | 1  0  0  1  0  0  0  0  0  0  0  |
                                    | -1 -1 -1 0  0  0  0  0  0  0  0  |
                                    | 0  1  0  0  1  0  0  0  0  0  0  |
                                    | 0  0  0  -1 -1 -1 -1 -1 0  0  0  |
                                    | 0  0  1  0  0  1  0  0  1  0  0  |
                                    | 0  0  0  0  0  0  1  0  0  1  0  |
                                    | 0  0  0  0  0  0  0  0  -1 -1 -1 |
                                    | 0  0  0  0  0  0  0  1  0  0  1  |
                 Q0 => {0, 1, 2, 3, 4, 5, 6, 7}
                 Q1 => {{1, 0}, {1, 2}, {1, 4}, {3, 0}, {3, 2}, {3, 4}, {3, 5}, {3, 7}, {6, 4}, {6, 5}, {6, 7}}
                 synonym => toric quiver
                 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 => | 1  0  0  1  0  0  0  0  0  |
                                    | -1 -1 -1 0  0  0  0  0  0  |
                                    | 0  1  0  0  1  0  0  0  0  |
                                    | 0  0  0  -1 -1 -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 => {{1, 0}, {1, 2}, {1, 4}, {3, 0}, {3, 2}, {3, 4}, {3, 4}, {3, 5}, {3, 5}}
                 synonym => toric quiver
                 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 => | 1  1  0  0  0  0  0  0  0  |
                                    | -1 -1 -1 -1 -1 -1 0  0  0  |
                                    | 0  0  1  1  0  0  1  0  0  |
                                    | 0  0  0  0  1  0  0  1  0  |
                                    | 0  0  0  0  0  0  -1 -1 -1 |
                                    | 0  0  0  0  0  1  0  0  1  |
                 Q0 => {0, 1, 2, 3, 4, 5}
                 Q1 => {{1, 0}, {1, 0}, {1, 2}, {1, 2}, {1, 3}, {1, 5}, {4, 2}, {4, 3}, {4, 5}}
                 synonym => toric quiver
                 weights => {2, -6, 3, 2, -3, 2}

o3 : ToricQuiver

Ways to use mergeOnArrow :

For the programmer

The object mergeOnArrow is a method function.