#press shift+enter to load the filesload("DoubleBraidClusterA.py","DoubleBraidClusterGen.py")
DoubleBraidClusterA computes type A quivers as in [GLSBS22]DoubleBraidClusterGen computes quivers of arbitrary type as in [GLSB23].wred and ured.
wred is an arbitrary word with positive and negative letters.ured is a reduced word on positive letters, that is less than or equal to the Demazure product of wred.tex/ directory. The output links are clickable.DoubleBraidClusterA.print_single(wred=[2,1,-2,2,-2,-1,2,2],ured=[2,1],file_name="simple_test")
By default, it will output a wiring diagram, followed by the monotone curves which are sections of the corresponding 3D disks; see Section 3 of [GLSBS22]. Some details:
wred.Here's a screenshot from simple_test.pdf:
You can specify what to print using the various options. For instance, let's omit the curves (print_curves=False), and instead print the $X_c,Y_c,Z_c$ matrices (print_matrices=True). We set use_a1_paper=True so that the matrices would fit on the page. We also print grid minors $\Delta_{c,k}$ (print_red/blue_minors=True) instead of their factorizations into cluster variables (print_red/blue_factorizations=False). To see the full list of options, type DoubleBraidClusterA.print_and_compile?
DoubleBraidClusterA.print_single(wred=[2,1,-2,2,-2,-1,2,2],ured=[2,1],file_name="options_test",comment="This is a comment. \\LaTeX\\ is allowed. If you zoom in enough, the minors/matrices actually become readable.",print_curves=False,print_matrices=True,use_a1_paper=True,print_red_grid_minors=True,print_blue_grid_minors=True,print_red_factorizations=False, print_blue_factorizations=False)
One can also print mutliple quivers into the same file using the print_multiple function. To do so, specify a list of dictionaries of options. Each dictionary has to have ured and wred parameters. This is useful when tracing sequences of mutations and braid moves.
data=[{"wred":[2,1,-2,2,-2,-1,2,2],"ured":[2,1],"print_curves":False},{"wred":[2,1,-2,2,-2,2,-1,2],"ured":[2,1],"print_curves":False,"name":None,"comment":"Swapping $-1$ and $2$ in positions 6 and 7 results in a mutation at vertex 7. This is the solid-special (B1) move."},]DoubleBraidClusterA.print_multiple(data,file_name="multiple_test")
All the same stuff (except for matrices) works in arbitrary type. All you have to do is to specify an additional parameter typ consisting of a letter and a rank, e.g., typ=["D",4]. Non simply laced types are ok.
DoubleBraidClusterGen.print_single(wred=[2,1,-2,2,-2,-1,2,2],ured=[2,1],typ=["G",2],file_name="G2_test")
data=[{"wred":[2,1,-2,2,-2,-1,2,2],"ured":[2,1],"typ":["G",2],"name":"Folded $G_2$ quiver"},{"wred":[2,1,3,4,-2,2,-2,-1,-3,-4,2,2],"ured":[2,1,3,4],"typ":["D",4],"name":"Unfolded $D_4$ quiver"}]DoubleBraidClusterGen.print_multiple(data,file_name="G2_vs_D4_test")