Bootstrapping a really degenerate 𝒲 algebra

Chiral Algebras for the 21st Century
UC Davis Spring School
April 2019

Load K. Thielemans’ OPEdefs package

Quit[];

SetDirectory[NotebookDirectory[]];
<<OPEdefs`

Initialize operators

Bosonic[T,Z,X,Y];

Operator lists

OPS[Δ][z] lists operators with conformal dimension Δ and U(1) charge z

OPS[0][0]={One};

OPS[1][0]={Z};

OPS[2][0]={NO[Z,Z],Z',T};

OPS[5/2][1]={X};
OPS[5/2][-1]={Y};

OPS[3][0]={Z'',NO[Z',Z],NO[Z,Z,Z],T',NO[T,Z]};

OPS[7/2][1]={NO[Z,X],X'};
OPS[7/2][-1]={NO[Z,Y],Y'};

OPS[4][0]={
NO[Z,Z,Z,Z],NO[Z',Z,Z],NO[Z',Z'],NO[Z'',Z],Z''',
NO[T,Z,Z],NO[T,Z'],NO[T',Z],T'',
NO[T,T]};

OPS[9/2][1]={NO[Z,Z,X],NO[Z',X],NO[Z,X'],NO[T,X],X''};
OPS[9/2][-1]={NO[Z,Z,Y],NO[Z',Y],NO[Z,Y'],NO[T,Y],Y''};

OPS[5][0]={
NO[Z,Z,Z,Z,Z],NO[Z',Z,Z,Z],NO[Z'',Z,Z], NO[Z',Z',Z],NO[Z''',Z],NO[Z'',Z'],Z'''',
NO[T,Z,Z,Z],NO[T',Z,Z],NO[T'',Z],NO[T',Z'], NO[T,Z',Z],NO[T,Z''],
NO[T,T,Z],NO[T',T],T''',
NO[X,Y]};

Stress Tensor OPEs

OPE[T,T]:=MakeOPE[(((cc/2)One)/(((z-w))^4))+((2 T)/(((z-w))^2))+((T')/(z-w))+Ord[z,w,0]]
OPE[T,X]:=MakeOPE[(((5/2)X)/(((z-w))^2))+((X')/(z-w))+Ord[z,w,0]]
OPE[T,Y]:=MakeOPE[(((5/2)Y)/(((z-w))^2))+((Y')/(z-w))+Ord[z,w,0]]
OPE[T,Z]:=MakeOPE[(Z/(((z-w))^2))+((Z')/(z-w))+Ord[z,w,0]]

Heisenberg OPEs

OPE[Z,Z]:=MakeOPE[(((kk/2) One)/(((z-w))^2))+Ord[z,w,0]]
OPE[Z,X]:=MakeOPE[((X )/((z-w)))+Ord[z,w,0]]
OPE[Z,Y]:=MakeOPE[((-Y )/((z-w)))+Ord[z,w,0]]

Big OPEs

OPE[X,Y]:=MakeOPE[((nXY One)/(((z-w))^5))+
((Sum[a[i]OPS[1][0][[i]],{i,1,Length[OPS[1][0]]}])/(((z-w))^4))+
((Sum[b[i]OPS[2][0][[i]],{i,1,Length[OPS[2][0]]}])/(((z-w))^3))+
((Sum[c[i]OPS[3][0][[i]],{i,1,Length[OPS[3][0]]}])/(((z-w))^2))+
((Sum[d[i]OPS[4][0][[i]],{i,1,Length[OPS[4][0]]}])/(((z-w))^1))+Ord[z,w,0]]
OPE[X,X]:=MakeOPE[Ord[z,w,0]]
OPE[Y,Y]:=MakeOPE[Ord[z,w,0]]

Solving Jacobi identities

Prettify[expression_]:=DeleteDuplicates[DeleteCases[Flatten[Simplify[expression]],0]]

RepRules={d[1]->5};

{X,Y,Z} Jacobiator

Module[
{
Jacobis=Prettify[OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,Z}}//.RepRules]
}
,
Prettify[Table[
OPEPole[0][OPS[0][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[0][0]]},{j,1,Length[Jacobis]}
]/.{NO[___]->0,T->0,Z->0,One->1}]
]

Solve[%==0]

RepRules=Simplify[(RepRules//.%[[2]])~Join~(%[[2]])];

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,Z}}//.RepRules]
},
Prettify[Table[OPEPole[2][OPS[1][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[1][0]]},{j,1,Length[Jacobis]}
]/.{NO[___]->0,T->0,Z->0,One->1}]
]

Solve[%==0]

RepRules=Simplify[(RepRules//.%[[2]])~Join~(%[[2]])];

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,Z}}//.RepRules]
},
Prettify[
Table[OPEPole[4][OPS[2][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[2][0]]},{j,1,Length[Jacobis]}]//.RepRules/.{NO[___]->0,T->0,Z->0,One->1}
]
]

Solve[{%==0}]

RepRules=Simplify[(RepRules//.%[[6]])~Join~(%[[6]])];

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,Z}}//.RepRules]
},
Prettify[
Table[OPEPole[6][OPS[3][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[3][0]]},{j,1,Length[Jacobis]}]//.RepRules/.{NO[___]->0,T->0,Z->0,One->1}
]
]

Solve[{%==0}]

RepRules=Simplify[(RepRules//.%[[5]])~Join~(%[[5]])];

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,Z}}//.RepRules]
},
Prettify[
Table[OPEPole[8][OPS[4][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[4][0]]},{j,1,Length[Jacobis]}]//.RepRules/.{NO[___]->0,T->0,Z->0,One->1}
]
]

{X,Y,T} Jacobiator

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,T}}//.RepRules]
},
Prettify[
Table[OPEPole[0][OPS[0][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[0][0]]},{j,1,Length[Jacobis]}]/.{NO[___]->0,T->0,Z->0,One->1}
]]

Solve[%==0]

RepRules=Simplify[(RepRules//.%[[5]])~Join~(%[[5]])];

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,T}}//.RepRules]
},
Prettify[
Table[OPEPole[2][OPS[1][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[1][0]]},{j,1,Length[Jacobis]}]/.{NO[___]->0,T->0,Z->0,One->1}
]]

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,T}}//.RepRules]
},
Prettify[
Table[OPEPole[4][OPS[2][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[2][0]]},{j,1,Length[Jacobis]}]//.RepRules/.{NO[___]->0,T->0,Z->0,One->1}
]]

Solve[%==0]

RepRules=Simplify[(RepRules//.%[[3]])~Join~(%[[3]])];

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,T}}//.RepRules]
},
Prettify[
Table[OPEPole[6][OPS[3][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[3][0]]},{j,1,Length[Jacobis]}]//.RepRules/.{NO[___]->0,T->0,Z->0,One->1}
]]

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,T}}//.RepRules]
},
Prettify[
Table[OPEPole[8][OPS[4][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[4][0]]},{j,1,Length[Jacobis]}]//.RepRules/.{NO[___]->0,T->0,Z->0,One->1}
]]

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,T}}//.RepRules]
},
Prettify[
Table[OPEPole[10][OPS[5][0][[i]],Jacobis[[j]]],{i,1,Length[OPS[5][0]]},{j,1,Length[Jacobis]}]//.RepRules/.{NO[___]->0,T->0,Z->0,One->1}
]]

{X, X, Y} Jacobiator

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,X,Y}}//.RepRules]
},
Prettify[
Table[OPEPole[5][OPS[5/2][-1][[i]],Jacobis[[j]]],{i,1,Length[OPS[5/2][-1]]},{j,1,Length[Jacobis]}]/.{NO[___]->0,T->0,Z->0,One->1}
]]

Solve[%==0]

RepRules=(RepRules//.%[[2]])~Join~(%[[2]]);

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,X,Y}}//.RepRules]
},
Prettify[
Table[OPEPole[7][OPS[7/2][-1][[i]],Jacobis[[j]]],{i,1,Length[OPS[1][0]]},{j,1,Length[Jacobis]}]/.{NO[___]->0,T->0,Z->0,One->1}
]]

{X, Y, Y} Jacobiator

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,Y}}//.RepRules]
},
Prettify[
Table[OPEPole[5][OPS[5/2][1][[i]],Jacobis[[j]]],{i,1,Length[OPS[5/2][-1]]},{j,1,Length[Jacobis]}]/.{NO[___]->0,T->0,Z->0,One->1}
]]

Module[
{Jacobis=Prettify[
OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@{{X,Y,Y}}//.RepRules]
},
Prettify[
Table[OPEPole[7][OPS[7/2][1][[i]],Jacobis[[j]]],{i,1,Length[OPS[1][0]]},{j,1,Length[Jacobis]}]/.{NO[___]->0,T->0,Z->0,One->1}
]]

Solutions

{cc,kk,nXY}/.RepRules
Table[a[i]/.RepRules,{i,1,1}]
Table[b[i]/.RepRules,{i,1,3}]
Table[c[i]/.RepRules,{i,1,5}]
Table[d[i]/.RepRules,{i,1,10}]

Check Jacobiators without inner product

TableForm[Prettify[OPEJacobi[#[[1]],#[[2]],#[[3]]]&/@Tuples[{X,Y,Z,T},3]//.RepRules]]