Coulomb index from deformed collinear solutions

SetDirectory[NotebookDirectory[]];
<<CoulombHiggs`

Testing scaling index computations

r=1/1000;
$QuiverVerbose=False;

Kronecker

Nvec={1,1};
Mat={{0,5},{-5,0}};
m=Length[Mat];
QuiverPlot[Mat]
PMat=Mat;
Cvec={1,-1};
RMat={{0,0},{0,0}};
CoulombIndex[Mat,PMat,Cvec,y]//Simplify
Itot=ExtendedCoulombIndex[Mat,PMat,RMat,Cvec,-r,y];

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]

3 centers 1 Loop

An example obeying triangular inequalities

Nvec={1,1,1};
Mat={{0,3,-4},{-3,0,3},{4,-3,0}};
QuiverPlot[Mat]
Cvec={1,1,-2};
m=Length[Cvec];
RMat={{0,2/3,-2/3},{-2/3,0,2/3},{2/3,-2/3,0}};
CoulombIndex[Mat,Mat,Cvec,y]//Simplify
Itot=ExtendedCoulombIndex[Mat,Mat,RMat,Cvec,-r,y];

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]

An example violating triangular inequalities

Nvec={1,1,1};
Mat={{0,7,-1},{-7,0,2},{1,-2,0}};
QuiverPlot[Mat]
Cvec={1,1,-2};
RMat={{0,2/3,-2/3},{-2/3,0,2/3},{2/3,-2/3,0}};
CoulombIndex[Mat,Mat,Cvec,y]//Simplify
Itot=ExtendedCoulombIndex[Mat,Mat,RMat,Cvec,-r,y];

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]

4 centers

example with no oriented cycles

Nvec={1,1,1,1};
Mat={{0,1,3,4},{-1,0,2,0},{-3,-2,0,-5},{-4,0,5,0}};
QuiverPlot[Mat]
Cvec={1,2,-6,3};
RMat={{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}};
CoulombIndex[Mat,Mat,Cvec,y]//Factor//Simplify
Itot=ExtendedCoulombIndex[Mat,Mat,RMat,Cvec,-r,y];

Simplify[CoulombBranchFormula[Mat,Cvec,Nvec]-Plus@@Itot]

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]

cyclic quiver obeying inequalities

Nvec={1,1,1,1};
Mat=CyclicQuiverDSZ[{2,1,1,1}];
m=Length[Mat];
QuiverPlot[Mat]
Cvec={1,2,-6,3};
RMat={{0,2,0,0},{-2,0,0,0},{0,0,0,0},{0,0,0,0}};
CoulombIndex[Mat,Mat,Cvec,y]//Simplify
Itot=ExtendedCoulombIndex[Mat,Mat,RMat,Cvec,-r,y];

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]

4 node quiver with 2 loops

Nvec={1,1,1,1};
a={6,5,4,3,2};
Mat={{0,a[[1]],0,-a[[4]]},{-a[[1]],0,a[[2]],a[[5]]},{0,-a[[2]],0,a[[3]]},{a[[4]],-a[[5]],-a[[3]],0}};
QuiverPlot[Mat]
Cvec={1,2,-6,3};
RMat={{0,2,0,0},{-2,0,0,0},{0,0,0,0},{0,0,0,0}};
CoulombIndex[Mat,Mat,Cvec,y]//Factor//Simplify
Itot=ExtendedCoulombIndex[Mat,Mat,RMat,Cvec,-r,y];

ListLoopRCharges[Mat,RMat]

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]

5 Center

1 Loop

Nvec={1,1,1,1,1};
Mat=CyclicQuiverDSZ[{6,5,4,3,2}];
QuiverPlot[Mat]
Cvec={1,2,-10,3,4};
RMat={{0,2,0,0,0},{-2,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};
CoulombIndex[Mat,Mat,Cvec,y]//Factor//Simplify
Itot=ExtendedCoulombIndex[Mat,Mat,RMat,Cvec,-r,y];

In some special cases there exist “regular” solution where center collide. To get the right counting we perturb the matrix Mat but they still need to be close and can’t be distinguished from scaling solution which characteristic is to be of order r. Therefore the decomposition (Subscript["I", "reg"]) , (Subscript["I", "{{2,4}}]),..., cannot be trusted anymore. Hence the difference with CoulombIndex.

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]

5-node quiver with 2 loops

Nvec={1,1,1,1,1};
a=2{1,1,1,1,1,1};
Mat={{0,a[[1]],0,0,-a[[5]]},{-a[[1]],0,a[[2]],0,0},{0,-a[[2]],0,a[[3]],-a[[6]]},{0,0,-a[[3]],0,a[[4]]},{a[[5]],0,a[[6]],-a[[4]],0}};
QuiverPlot[Mat]
Cvec={3,2,3,4,-12};
RMat={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,2,0},{0,0,-2,0,0},{0,0,0,0,0}};
CoulombIndex[Mat,Mat,Cvec,y]//Factor//Simplify

Itot=ExtendedCoulombIndex[Mat,Mat,RMat,Cvec,-r,y];

In some special cases there exist “regular” solution where center collide. To get the right counting we perturb the matrix Mat but they still need to be close and can’t be distinguished from scaling solution which characteristic is to be of order r. Therefore the decomposition (Subscript["I", "reg"]) , (Subscript["I", "{{2,3,4,5}}]),..., cannot be trusted anymore. Hence the difference with CoulombIndex.

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]

Nvec={1,1,1,1,1};
a={1,1,3,2,1,2};
Mat={{0,a[[1]],0,0,-a[[5]]},{-a[[1]],0,a[[2]],0,0},{0,-a[[2]],0,a[[3]],-a[[6]]},{0,0,-a[[3]],0,a[[4]]},{a[[5]],0,a[[6]],-a[[4]],0}};
QuiverPlot[Mat]
Cvec={1,1,1,1,-4};
RMat={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,2,0},{0,0,-2,0,0},{0,0,0,0,0}};
CoulombIndex[Mat,Mat,Cvec,y]//Factor//Simplify

Itot=ExtendedCoulombIndex[Mat,Mat,RMat,Cvec,-r/2,y];

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]

4 center 3 loops From BH and Quiver (arxiv : 1207.2230)

5.1.1 Example with only 3-center scaling solutions

Nvec={1,1,1,1};
a={3,4,7,4,5,4};
Mat={{0,a[[1]],-a[[5]],-a[[4]]},{-a[[1]],0,a[[2]],a[[6]]},{a[[5]],-a[[2]],0,a[[3]]},{a[[4]],-a[[6]],-a[[3]],0}};
QuiverPlot[Mat]
Cvec={21/10,3,-11/10,-4};
RMat={{0,0,-2,-2},{0,0,0,0},{2,0,0,0},{2,0,0,0}};
CoulombIndex[Mat,Mat,Cvec,y]//Factor//Simplify
Itot=ExtendedCoulombIndex[Mat,Mat,RMat,Cvec,-r,y];

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]

eq 3.35

oms=CyclicQuiverOmS[{a[[1]],a[[2]],a[[5]]},y]

eq 5.12

(y^(-6)+y^(-4)+y^(-2)+1+y^2+y^4 +y^6)(oms+1^2)

generic 4-center with scaling solutions

Nvec={1,1,1,1};
a={7,6,4,2,3,2};
Mat={{0,a[[1]],-a[[5]],-a[[4]]},{-a[[1]],0,a[[2]],a[[6]]},{a[[5]],-a[[2]],0,a[[3]]},{a[[4]],-a[[6]],-a[[3]],0}};
QuiverPlot[Mat]
Cvec={2,3,-6,1};
RMat={{0,0,-2,-2},{0,0,0,0},{2,0,0,0},{2,0,0,0}};
CoulombIndex[Mat,Mat,Cvec,y]//Factor//Simplify
Itot=ExtendedCoulombIndex[Mat,Mat,RMat,Cvec,-r,y];

JKInitialize[Mat,RMat,Cvec,Nvec]
Simplify[Plus@@JKIndex[JKChargeMatrix,Nvec,JKEta]-Plus@@Itot]