#press shift+enter to load the files
load("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")