Quiver Yangian Demo

Print[NotebookDirectory[]]

SetDirectory[NotebookDirectory[]];
<<CoulombHiggs`

Computes NCDT invariants for brane tilings following Mozgovoy Reineke 0809.0117 and Li Yamazaki 2003.08909 
hMat[[i,j,m]] is the weight of the m-th arrow from i to j, subject to vertex and relaxed loop constraints

ListKnownBraneTilings

$QuiverVertexLabels={};{Tiling,Fan,hMat,Wp,Wm,v1,v2}=BraneTilingsData[[10]];Tiling

(* label vertices from 0 to K-1 *) 
$QuiverVertexLabels=Range[0,Length[hMat]-1];

L=2.7;{PlotToricFan[Fan],PlotQuiver[hMat],PlotTiling[hMat,8,{v1,v2},{{-L-.5,L-.5},{-L,L}},.2]}

(* recompute height matrix such that h(Phi_{1,2}^1)=h1, h(Phi_{2,3}^1)=h2 *)
hMat=HeightMatrixFromPotential[Wp,Wm,{1,2,1},{2,3,1}]

PlotTiling3D[hMat,10,{{1,0,0},{0,1,0},{0,0,1}},5,{}]

Evaluate the partition function of unrefined NCDT invariants for framing f={1,0,...} using Quiver Yangian algorithm

Nn=5;
Z1=NCDTSeriesFromCrystal[hMat,PadRight[{1},Length[hMat]],Nn]

Construct perfect matchings, and look for pairs of disjoint cuts

Perf=ListPerfectMatchings[Wp,Wm];LiDoubleCuts=Drop[Union[Flatten[Table[If[Intersection[Perf[[i]],Perf[[j]]]=={},{i,j},{}],{i,Length[Perf]},{j,i+1,Length[Perf]}],1]],1]

Table[hMat2=Delete[hMat,Perf[[LiDoubleCuts[[i,1]]]]];
hMat3=Delete[hMat2,Perf[[LiDoubleCuts[[i,2]]]]];{LiDoubleCuts[[i]],PlotQuiver[hMat3],ListLoopRCharges[HeightMatrixToDSZ[hMat3],HeightMatrixToDSZ[hMat3]]},{i,Length[LiDoubleCuts]}]

Table[{Perf[[i]],
PlotTiling[hMat,5,{v1,v2},{{-3,3},{-3,3}},.1,Perf[[i]]],PlotTiling3D[hMat,5,{{1,0,0},{0,1,0},{0,0,1}},{{-3,3},{-3,3},{-3,3}},Perf[[i]]]}
,{i,Length[Perf]}]