Advertisement
Guest User

SO(4,2)-doubleton-Casimirs

a guest
Jan 6th, 2014
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.98 KB | None | 0 0
  1. SO(4,2) Casimirs in doubleton representation. In this notebook I am constructing a representation of SO(4,2) or SU(2,2) group using 2 pairs of annihilation/creation operators and then I am computing the Casimir invariants for this group in that representation. If you encounter any Fermion/InveX objects, please ignore them as they are not relevant for this particular representation.
  2.  
  3. $HistoryLength = 0;
  4.  
  5. Definition of Save and read functions
  6.  
  7. SaveIt[filename_, expr_] :=
  8. Module[{output},
  9. output = Export[filename <> ".dat", ToString[expr // InputForm],
  10. "String"];
  11. ClearMemory;
  12. output];
  13. SaveIt[varnamestring_] :=
  14. Module[{output},
  15. output = Export[varnamestring <> ".dat",
  16. ToString[ToExpression[varnamestring] // InputForm], "String"];
  17. ClearMemory;
  18. output];
  19. ReadIt[filename_] :=
  20. Module[{output},
  21. output = ToExpression[
  22. Import[StringReplace[filename, ".dat" -> ""] <> ".dat", "String"]];
  23. ClearMemory;
  24. output];
  25. ClearMemory := Module[{}, Unprotect[In, Out];
  26. Clear[In, Out];
  27. Protect[In, Out];
  28. ClearSystemCache[];];
  29.  
  30. Definition of Bosonic oscillators
  31.  
  32. Clear[Boson, BosonC, BosonA]
  33. Boson /: MakeBoxes[Boson[cr : (True | False), sym_], fmt_] :=
  34. With[{sbox = If[StringQ[sym], sym, ToBoxes[sym]]},
  35. With[{abox =
  36. If[cr, SuperscriptBox[#, FormBox["\[Dagger]", Bold]], #] &@sbox},
  37. InterpretationBox[abox, Boson[cr, sym]]]]
  38. BosonA[sym_: String "a"] := Boson[False, sym]
  39. BosonC[sym_: String "a"] := Boson[True, sym]
  40.  
  41. Definition of Inverse X operators (*These objects are not needed for this particular computation*)
  42.  
  43. Clear[InveX]
  44. InveX /: MakeBoxes[InveX[pow : _Integer, sym_], fmt_] :=
  45. With[{sbox = If[StringQ[sym], sym, ToBoxes[sym]]},
  46. With[{abox = FractionBox[1, SuperscriptBox[#, pow]] &@sbox},
  47. InterpretationBox[abox, InveX[pow, sym]]]]
  48.  
  49. Definition of Operators (*These objects are not needed for this particular computation*)
  50.  
  51. Clear[Operator]
  52. Operator /: MakeBoxes[Operator[sym_], fmt_] :=
  53. With[{abox = ToBoxes[sym]}, InterpretationBox[abox, Operator[sym]]]
  54.  
  55.  
  56. Aliasing NonCommutativeMultiply with CenterDot
  57.  
  58. CenterDot can be entered by pressing Esc.Esc and this is how the non commuting objects should be multiplied and will be displayed in output.
  59.  
  60. Unprotect[NonCommutativeMultiply];
  61. Clear[NonCommutativeMultiply, CenterDot];
  62. CenterDot[a__] := NonCommutativeMultiply[a];
  63. NonCommutativeMultiply /: MakeBoxes[NonCommutativeMultiply[a__], fmt_] :=
  64. With[{cbox = ToBoxes[HoldForm[CenterDot[a]]]},
  65. InterpretationBox[cbox, NonCommutativeMultiply[a]]]
  66. Protect[NonCommutativeMultiply];
  67. Clear[CRule]
  68. CRule = {NonCommutativeMultiply[a_] :> a};
  69.  
  70. Definition of clean - the function which orders and simplifies expressions
  71.  
  72. Clear[expand, deriv, clean]
  73.  
  74. deriv[InveX[pow_, s_], s_] := -pow*InveX[pow + 1, s]
  75.  
  76. expand[expr_] :=
  77. Module[{times},
  78. expr /. NonCommutativeMultiply[b___] :>
  79. times[b] //. {times[left___,
  80. cnum_ /; FreeQ[cnum, (_Boson | _InveX | _Fermion | _Operator)],
  81. right___] :> cnum*times[left, right],
  82. times[left___,
  83. cnum_ /; (! FreeQ[cnum, Times[n___?NumericQ, ___Boson]]),
  84. right___] :>
  85. Times @@ Apply[Power, Drop[FactorList[cnum], -1], 2]*
  86. times[left, First[Last[FactorList[cnum]]], right],
  87. times[left___, fst : Fermion[_, s_], sec : Boson[_, t_], right___] :>
  88. times[left, sec, fst, right],
  89. times[left___, Boson[False, s_], Boson[True, s_], right___] :>
  90. times[left, right] +
  91. times[left, Boson[True, s], Boson[False, s], right],
  92. times[left___, fst : Boson[_, s_], sec : Boson[_, t_], right___] :>
  93. times[left, sec, fst, right] /;
  94. FreeQ[Ordering[{s, t}], {1, 2}],
  95. times[b_Boson] :> b} /. times[arg__] :> NonCommutativeMultiply[arg] /. times[] -> 1];
  96. expand /: expand[a1_\[CenterDot](a2_ + a3_)] :=
  97. expand[a1\[CenterDot]a2] + expand[a1\[CenterDot]a3]
  98. expand /: expand[(a1_ + a2_)\[CenterDot]a3_] :=
  99. expand[a1\[CenterDot]a3] + expand[a2\[CenterDot]a3]
  100. expand /: expand[InveX[pow1_, s_]\[CenterDot]InveX[pow2_, s_]] :=
  101. expand[InveX[pow1 + pow2, s]]
  102.  
  103. clean = Simplify[FixedPoint[expand, Distribute //@ #] //. CRule] &;
  104.  
  105. Commutator function
  106.  
  107. Clear[CommOp];
  108. CommOp[x_, y_] := clean[(x\[CenterDot]y - y\[CenterDot]x)];
  109. Clear[ACommOp];
  110. ACommOp[x_, y_] := clean[(x\[CenterDot]y + y\[CenterDot]x)];
  111.  
  112. Defining the basic variables.
  113.  
  114. Clear[Ad, A, Bd, B, Xd, X, Yd, Y]
  115. Clear[\[Psi], \[Chi], \[CapitalGamma], \[CapitalSigma], i, j, k, l, m, n, p, \
  116. q, g, T, G, P, Tr1, Tr2, Tr3, Cartan, Comm, Killing, Joseph, Commutator, \
  117. Zero, zero, KillComm, KillMet, DoubleTr, GComm, Dim]
  118. Dim = 6;
  119. Ad = BosonC[a]; A = BosonA[a]; Bd = BosonC[b]; B = BosonA[b]; Xd =
  120. BosonC[x]; X = BosonA[x]; Yd = BosonC[y]; Y = BosonA[y];
  121.  
  122. Defining the algebra.
  123.  
  124. Dirac \[CapitalGamma] matrices:
  125.  
  126. \[CapitalGamma][
  127. 1] = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}};
  128. \[CapitalGamma][
  129. 2] = {{0, 0, 0, -1}, {0, 0, -1, 0}, {0, 1, 0, 0}, {1, 0, 0, 0}};
  130. \[CapitalGamma][
  131. 3] = {{0, 0, 0, I}, {0, 0, -I, 0}, {0, -I, 0, 0}, {I, 0, 0, 0}};
  132. \[CapitalGamma][
  133. 4] = {{0, 0, -1, 0}, {0, 0, 0, 1}, {1, 0, 0, 0}, {0, -1, 0, 0}};
  134. \[CapitalGamma][
  135. 5] = {{0, 0, I, 0}, {0, 0, 0, I}, {I, 0, 0, 0}, {0, I, 0, 0}};
  136. Zero = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}};
  137.  
  138. Spinors and metric:
  139.  
  140. g = DiagonalMatrix[{-1, 1, 1, 1, 1, -1}];
  141. \[Psi] = {{A}, {B}, {-Xd}, {-Yd}};
  142. \[Chi] = {{Ad, Bd, X, Y}}; (*This is the Dirac conjugate of \[Psi]*)
  143.  
  144. Subscript[\[CapitalGamma], ij] matrices:
  145.  
  146. Table[\[CapitalSigma][i,
  147. j] = -I ( \[CapitalGamma][i].\[CapitalGamma][j] - \[CapitalGamma][
  148. j].\[CapitalGamma][i])/4, {i, 1, 4}, {j, 1, 4}];
  149.  
  150. \[CapitalSigma][5, 6] = -\[CapitalGamma][5]/2; \[CapitalSigma][6,
  151. 5] = \[CapitalGamma][5]/2;
  152.  
  153. Table[\[CapitalSigma][i,
  154. 5] = -I \[CapitalGamma][i].\[CapitalGamma][5]/2; \[CapitalSigma][5, i] =
  155. I \[CapitalGamma][i].\[CapitalGamma][5]/2; \[CapitalSigma][i,
  156. 6] = -\[CapitalGamma][i]/2; \[CapitalSigma][6, i] = \[CapitalGamma][i]/
  157. 2, {i, 1, 4}];
  158.  
  159. \[CapitalSigma][5, 5] = Zero;
  160. \[CapitalSigma][6, 6] = Zero;
  161.  
  162. Generators of SO(4,2) denoted by G[i,j]
  163.  
  164. Table[G[i, j] =
  165. Sum[\[CapitalSigma][i, j][[m,
  166. n]] \[Chi][[1, m]]\[CenterDot]\[Psi][[n, 1]], {m, 1, 4}, {n, 1, 4}], {i,
  167. 1, Dim}, {j, 1, Dim}];
  168.  
  169. Check the commutation relations of \[CapitalSigma] matrices
  170.  
  171. (*Table[Print[i,",",j,",",k,",",l,"=",Simplify[(\[CapitalSigma][i,j].\
  172. \[CapitalSigma][k,l]-\[CapitalSigma][k,l].\[CapitalSigma][i,j]+ I( g[[i,k]]\
  173. \[CapitalSigma][j,l]- g[[i,l]]\[CapitalSigma][j,k] - \
  174. g[[j,k]]\[CapitalSigma][i,l] + \
  175. g[[j,l]]\[CapitalSigma][i,k]))]],{i,1,Dim},{j,1,Dim},{k,1,Dim},{l,1,Dim}];*)
  176.  
  177. Check the commutation relations of group generators
  178.  
  179. (*Table[Print[i,",",j,",",k,",",l,"=",clean[(G[i,j]\[CenterDot]G[k,l]-G[k,l]\
  180. \[CenterDot]G[i,j]+ I( g[[i,k]]G[j,l]- g[[i,l]]G[j,k] - g[[j,k]]G[i,l] + \
  181. g[[j,l]]G[i,k]))]],{i,1,Dim},{j,1,Dim},{k,1,Dim},{l,1,Dim}];*)
  182.  
  183. Generators of SO(3,1) and rest of the conformal generators
  184.  
  185. Clear[M, \[Eta], \[CapitalPi], \[CapitalKappa], \[CapitalDelta]]
  186. (*\[CapitalPi] are translations, \[CapitalKappa](this is greek capital K \
  187. obtained by esc K esc)are special conformal and \[CapitalDelta] is \
  188. dilatations*)
  189.  
  190. \[Eta] = DiagonalMatrix[{-1, 1, 1, 1}];
  191. Table[M[i, j] = G[i, j], {i, 1, 4}, {j, 1, 4}];
  192. Table[\[CapitalKappa][i] = G[i, 6] - G[i, 5], {i, 1, 4}];
  193. Table[\[CapitalPi][i] = G[i, 6] + G[i, 5], {i, 1, 4}];
  194. \[CapitalDelta] = -G[5, 6];
  195.  
  196. Casimirs
  197.  
  198. Quadratic Casmir
  199.  
  200. Clear[ind1, ind2, ind3, ind4, Cas2, Z]
  201.  
  202. Z = Ad\[CenterDot]A + Bd\[CenterDot]B - Xd\[CenterDot]X - Yd\[CenterDot]Y;
  203.  
  204. Cas2 = clean[
  205. Sum[g[[ind1, ind3]]\[CenterDot]G[ind3, ind2]\[CenterDot]g[[ind2,
  206. ind4]]\[CenterDot]G[ind4, ind1], {ind1, 1, 6}, {ind2, 1, 6}, {ind3, 1,
  207. 6}, {ind4, 1, 6}]];
  208. clean[Cas2 + (3/2) (Z\[CenterDot]Z - 4)];
  209. SaveIt["Cas2"];
  210. Cas2sq = clean[Cas2\[CenterDot]Cas2];
  211. SaveIt["Cas2sq"];
  212.  
  213. Cubic Casmir
  214.  
  215. (*Clear[ind1,ind2,ind3,ind4,ind5,ind6,cas3]
  216.  
  217. Timing[cas3=Sum[g[[ind1,ind4]]g[[ind2,ind5]]g[[ind3,ind6]]G[ind4,ind2]\
  218. \[CenterDot]G[ind5,ind3]\[CenterDot]G[ind6,ind1],{ind1,1,6},{ind2,1,6},{ind3,\
  219. 1,6},{ind4,1,6},{ind5,1,6},{ind6,1,6} ];];
  220. Cas3=clean[cas3];
  221. SaveIt["Cas3.dat"];
  222. clean[Cas3 -2I Cas2];*)
  223.  
  224. Quartic Casimir
  225.  
  226. (*Clear[ind1,ind2,ind3,ind4,ind5,ind6,ind7,ind8,cas4]
  227.  
  228. cas4=Sum[g[[ind1,ind5]]g[[ind2,ind6]]g[[ind3,ind7]]g[[ind4,ind8]]G[ind5,ind2]\
  229. \[CenterDot]G[ind6,ind3]\[CenterDot]G[ind7,ind4]\[CenterDot]G[ind8,ind1],{\
  230. ind1,1,6},{ind2,1,6},{ind3,1,6},{ind4,1,6},{ind5,1,6},{ind6,1,6},{ind7,1,6},{\
  231. ind8,1,6}];
  232. Cas4=clean[cas4];
  233. SaveIt["Cas4"];
  234. clean[Cas4-(1/6) Cas2sq+4 Cas2]*)
  235.  
  236. Cas4 = ReadIt["Cas4"];
  237.  
  238. clean[Cas4 - (1/6) Cas2sq + 4 Cas2]
  239.  
  240. 0
  241.  
  242. 6th order Casimir
  243.  
  244. (*Clear[ind1,ind2,ind3,ind4,ind5,ind6,ind7,ind8,ind9,ind10,ind11,ind12,cas6,\
  245. Cas6,dim]
  246.  
  247. dim=6;
  248.  
  249. Timing[cas6=ParallelSum[g[[ind1,ind7]]g[[ind2,ind8]]g[[ind3,ind9]]g[[ind4,\
  250. ind10]]g[[ind5,ind11]]g[[ind6,ind12]]G[ind7,ind2]\[CenterDot]G[ind8,ind3]\
  251. \[CenterDot]G[ind9,ind4]\[CenterDot]G[ind10,ind5]\[CenterDot]G[ind11,ind6]\
  252. \[CenterDot]G[ind12,ind1],{ind1,1,dim},{ind2,1,dim},{ind3,1,dim},{ind4,1,dim},\
  253. {ind5,1,dim},{ind6,1,dim},{ind7,1,dim},{ind8,1,dim},{ind9,1,dim},{ind10,1,dim}\
  254. ,{ind11,1,dim},{ind12,1,dim}];]*)
  255.  
  256. (*Cas6=clean[cas6];*)
  257.  
  258. (*Clear[ind1,ind2,ind3,ind4,ind5,ind6,ind7,ind8,ind9,ind10,ind11,ind12,cas6,\
  259. Cas6,dim]
  260.  
  261. dim=6;
  262.  
  263. AbsoluteTiming[Table[cas6[i,j]=ParallelSum[g[[i,ind7]]g[[j,ind8]]g[[ind3,ind9]\
  264. ]g[[ind4,ind10]]g[[ind5,ind11]]g[[ind6,ind12]]G[ind7,j]\[CenterDot]G[ind8,\
  265. ind3]\[CenterDot]G[ind9,ind4]\[CenterDot]G[ind10,ind5]\[CenterDot]G[ind11,\
  266. ind6]\[CenterDot]G[ind12,i],{ind3,1,dim},{ind4,1,dim},{ind5,1,dim},{ind6,1,\
  267. dim},{ind7,1,dim},{ind8,1,dim},{ind9,1,dim},{ind10,1,dim},{ind11,1,dim},{\
  268. ind12,1,dim}],{i,1,dim},{j,1,dim}];]*)
  269.  
  270. (*AbsoluteTiming[Table[Cas6[i,j]=clean[cas6[i,j]],{i,1,dim},{j,1,dim}]]*)
  271.  
  272. 3-3 split
  273.  
  274. (*Clear[Cas6133,cas6133]
  275.  
  276. Table[cas6133[ind1,ind4]=Sum[g[[ind1,ind7]]g[[ind2,ind8]]g[[ind3,ind9]]G[ind7,\
  277. ind2]\[CenterDot]G[ind8,ind3]\[CenterDot]G[ind9,ind4],{ind7,1,6},{ind2,1,6},{\
  278. ind8,1,6},{ind3,1,6},{ind9,1,6}],{ind1,1,6},{ind4,1,6}];
  279. Table[Cas6133[i,j]=clean[cas6133[i,j]],{i,1,6},{j,1,6}];
  280. SaveIt["Cas6133"];*)
  281.  
  282. ClearMemory[];
  283.  
  284. (*Clear[Cas6233,cas6233]
  285.  
  286. Table[cas6233[ind4,ind1]=Sum[g[[ind4,ind10]]g[[ind5,ind11]]g[[ind6,ind12]]G[\
  287. ind10,ind5]\[CenterDot]G[ind11,ind6]\[CenterDot]G[ind12,ind1],{ind10,1,6},{\
  288. ind5,1,6},{ind11,1,6},{ind6,1,6},{ind12,1,6}],{ind4,1,6},{ind1,1,6}];
  289. Table[Cas6233[i,j]=clean[cas6233[i,j]],{i,1,6},{j,1,6}];
  290. SaveIt["Cas6233"];*)
  291.  
  292. ClearMemory[];
  293.  
  294. (*Clear[Cas6333,cas6333]
  295.  
  296. cas6333=Sum[Cas6133[ind1,ind4]\[CenterDot]Cas6233[ind4,ind1],{ind1,1,6},{ind4,\
  297. 1,6}];
  298. SaveIt["cas6333"];
  299. Cas6333=clean[cas6333];
  300. SaveIt["Cas6333"];*)
  301.  
  302. Clear[Cas2cub]
  303. Cas2cub = clean[Cas2\[CenterDot]Cas2sq];
  304. SaveIt["Cas2cub"];
  305.  
  306. $Aborted
  307.  
  308. (*clean[Cas6333-\[Alpha] Cas2quart]*)
  309.  
  310. Cas63 = ReadIt["Cas6333"];
  311. Cas2quart = ReadIt["Cas2quart"];
  312.  
  313. clean[Cas63 - (1/36) Cas2cub + 2 Cas2sq - 16 Cas2]
  314.  
  315. 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement