SHOW:
|
|
- or go back to the newest paste.
| 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 | Aliasing NonCommutativeMultiply with CenterDot | |
| 42 | ||
| 43 | 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. | |
| 44 | ||
| 45 | Unprotect[NonCommutativeMultiply]; | |
| 46 | Clear[NonCommutativeMultiply, CenterDot]; | |
| 47 | CenterDot[a__] := NonCommutativeMultiply[a]; | |
| 48 | NonCommutativeMultiply /: MakeBoxes[NonCommutativeMultiply[a__], fmt_] := | |
| 49 | With[{cbox = ToBoxes[HoldForm[CenterDot[a]]]},
| |
| 50 | InterpretationBox[cbox, NonCommutativeMultiply[a]]] | |
| 51 | Protect[NonCommutativeMultiply]; | |
| 52 | Clear[CRule] | |
| 53 | CRule = {NonCommutativeMultiply[a_] :> a};
| |
| 54 | ||
| 55 | Definition of clean - the function which orders and simplifies expressions | |
| 56 | ||
| 57 | ClearAll@expand | |
| 58 | - | (*the attribute is new*) |
| 58 | + | |
| 59 | SetAttributes[expand, HoldAll] | |
| 60 | ||
| 61 | - | (*equivalent to your code but in my opinion/expectation clearer \ |
| 61 | + | |
| 62 | - | cleaner and slightly faster*) |
| 62 | + | |
| 63 | Block[{NonCommutativeMultiply (*or times*)},
| |
| 64 | expr //. {times[left___, cnum_ /; FreeQ[cnum, (_Boson)],
| |
| 65 | right___] :> cnum*times[left, right], | |
| 66 | times[left___, | |
| 67 | - | expr /. {times[left___, cnum_ /; FreeQ[cnum, (_Boson)],
|
| 67 | + | |
| 68 | right___] :> | |
| 69 | Times @@ Apply[Power, Drop[FactorList[cnum], -1], 2]* | |
| 70 | times[left, First[Last[FactorList[cnum]]], right], | |
| 71 | times[left___, Boson[False, s_], Boson[True, s_], right___] :> | |
| 72 | times[left, right] + | |
| 73 | times[left, Boson[True, s], Boson[False, s], right], | |
| 74 | times[left___, fst : Boson[_, s_], sec : Boson[_, t_], | |
| 75 | right___] :> | |
| 76 | times[left, sec, fst, right] /; | |
| 77 | FreeQ[Ordering[{s, t}], {1, 2}], times[b_Boson] :> b
| |
| 78 | (*moved and rewrote this rule*), | |
| 79 | times[] -> 1}]] /. {HoldPattern[times] -> NonCommutativeMultiply}
| |
| 80 | expand[Alternatives[NonCommutativeMultiply, CenterDot][ | |
| 81 | a1_, (a2_ + a3_)]] := expand[a1 ** a2] + expand[a1 ** a3] | |
| 82 | expand[Alternatives[NonCommutativeMultiply, CenterDot][(a1_ + a2_), | |
| 83 | a3_]] := expand[a1 ** a3] + expand[a2 ** a3] | |
| 84 | ||
| 85 | Clear[clean] | |
| 86 | ||
| 87 | clean = Simplify[FixedPoint[expand, Distribute //@ #] //. CRule] &; | |
| 88 | ||
| 89 | Commutator function | |
| 90 | ||
| 91 | Clear[CommOp]; | |
| 92 | CommOp[x_, y_] := clean[(x\[CenterDot]y - y\[CenterDot]x)]; | |
| 93 | Clear[ACommOp]; | |
| 94 | ACommOp[x_, y_] := clean[(x\[CenterDot]y + y\[CenterDot]x)]; | |
| 95 | ||
| 96 | Defining the basic variables. | |
| 97 | ||
| 98 | Clear[Ad, A, Bd, B, Xd, X, Yd, Y] | |
| 99 | Clear[\[Psi], \[Chi], \[CapitalGamma], \[CapitalSigma], i, j, k, l, m, n, p, \ | |
| 100 | q, g, T, G, P, Tr1, Tr2, Tr3, Cartan, Comm, Killing, Joseph, Commutator, \ | |
| 101 | Zero, zero, KillComm, KillMet, DoubleTr, GComm, Dim] | |
| 102 | Dim = 6; | |
| 103 | Ad = BosonC[a]; A = BosonA[a]; Bd = BosonC[b]; B = BosonA[b]; Xd = | |
| 104 | BosonC[x]; X = BosonA[x]; Yd = BosonC[y]; Y = BosonA[y]; | |
| 105 | ||
| 106 | Defining the algebra. | |
| 107 | ||
| 108 | Dirac \[CapitalGamma] matrices: | |
| 109 | ||
| 110 | \[CapitalGamma][ | |
| 111 | 1] = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}};
| |
| 112 | \[CapitalGamma][ | |
| 113 | 2] = {{0, 0, 0, -1}, {0, 0, -1, 0}, {0, 1, 0, 0}, {1, 0, 0, 0}};
| |
| 114 | \[CapitalGamma][ | |
| 115 | 3] = {{0, 0, 0, I}, {0, 0, -I, 0}, {0, -I, 0, 0}, {I, 0, 0, 0}};
| |
| 116 | \[CapitalGamma][ | |
| 117 | 4] = {{0, 0, -1, 0}, {0, 0, 0, 1}, {1, 0, 0, 0}, {0, -1, 0, 0}};
| |
| 118 | \[CapitalGamma][ | |
| 119 | 5] = {{0, 0, I, 0}, {0, 0, 0, I}, {I, 0, 0, 0}, {0, I, 0, 0}};
| |
| 120 | Zero = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}};
| |
| 121 | ||
| 122 | Spinors and metric: | |
| 123 | ||
| 124 | g = DiagonalMatrix[{-1, 1, 1, 1, 1, -1}];
| |
| 125 | \[Psi] = {{A}, {B}, {-Xd}, {-Yd}};
| |
| 126 | \[Chi] = {{Ad, Bd, X, Y}}; (*This is the Dirac conjugate of \[Psi]*)
| |
| 127 | ||
| 128 | Subscript[\[CapitalGamma], ij] matrices: | |
| 129 | ||
| 130 | Table[\[CapitalSigma][i, | |
| 131 | j] = -I ( \[CapitalGamma][i].\[CapitalGamma][j] - \[CapitalGamma][ | |
| 132 | j].\[CapitalGamma][i])/4, {i, 1, 4}, {j, 1, 4}];
| |
| 133 | ||
| 134 | \[CapitalSigma][5, 6] = -\[CapitalGamma][5]/2; \[CapitalSigma][6, | |
| 135 | 5] = \[CapitalGamma][5]/2; | |
| 136 | ||
| 137 | Table[\[CapitalSigma][i, | |
| 138 | 5] = -I \[CapitalGamma][i].\[CapitalGamma][5]/2; \[CapitalSigma][5, i] = | |
| 139 | I \[CapitalGamma][i].\[CapitalGamma][5]/2; \[CapitalSigma][i, | |
| 140 | 6] = -\[CapitalGamma][i]/2; \[CapitalSigma][6, i] = \[CapitalGamma][i]/ | |
| 141 | 2, {i, 1, 4}];
| |
| 142 | ||
| 143 | \[CapitalSigma][5, 5] = Zero; | |
| 144 | \[CapitalSigma][6, 6] = Zero; | |
| 145 | ||
| 146 | Generators of SO(4,2) denoted by G[i,j] | |
| 147 | ||
| 148 | Table[G[i, j] = | |
| 149 | Sum[\[CapitalSigma][i, j][[m, | |
| 150 | n]] \[Chi][[1, m]]\[CenterDot]\[Psi][[n, 1]], {m, 1, 4}, {n, 1, 4}], {i,
| |
| 151 | 1, Dim}, {j, 1, Dim}];
| |
| 152 | ||
| 153 | Check the commutation relations of \[CapitalSigma] matrices | |
| 154 | ||
| 155 | (*Table[Print[i,",",j,",",k,",",l,"=",Simplify[(\[CapitalSigma][i,j].\ | |
| 156 | \[CapitalSigma][k,l]-\[CapitalSigma][k,l].\[CapitalSigma][i,j]+ I( g[[i,k]]\ | |
| 157 | \[CapitalSigma][j,l]- g[[i,l]]\[CapitalSigma][j,k] - \ | |
| 158 | g[[j,k]]\[CapitalSigma][i,l] + \ | |
| 159 | g[[j,l]]\[CapitalSigma][i,k]))]],{i,1,Dim},{j,1,Dim},{k,1,Dim},{l,1,Dim}];*)
| |
| 160 | ||
| 161 | Check the commutation relations of group generators | |
| 162 | ||
| 163 | (*Table[Print[i,",",j,",",k,",",l,"=",clean[(G[i,j]\[CenterDot]G[k,l]-G[k,l]\ | |
| 164 | \[CenterDot]G[i,j]+ I( g[[i,k]]G[j,l]- g[[i,l]]G[j,k] - g[[j,k]]G[i,l] + \ | |
| 165 | g[[j,l]]G[i,k]))]],{i,1,Dim},{j,1,Dim},{k,1,Dim},{l,1,Dim}];*)
| |
| 166 | ||
| 167 | Generators of SO(3,1) and rest of the conformal generators | |
| 168 | ||
| 169 | Clear[M, \[Eta], \[CapitalPi], \[CapitalKappa], \[CapitalDelta]] | |
| 170 | (*\[CapitalPi] are translations, \[CapitalKappa](this is greek capital K \ | |
| 171 | obtained by esc K esc)are special conformal and \[CapitalDelta] is \ | |
| 172 | dilatations*) | |
| 173 | ||
| 174 | \[Eta] = DiagonalMatrix[{-1, 1, 1, 1}];
| |
| 175 | Table[M[i, j] = G[i, j], {i, 1, 4}, {j, 1, 4}];
| |
| 176 | Table[\[CapitalKappa][i] = G[i, 6] - G[i, 5], {i, 1, 4}];
| |
| 177 | Table[\[CapitalPi][i] = G[i, 6] + G[i, 5], {i, 1, 4}];
| |
| 178 | \[CapitalDelta] = -G[5, 6]; | |
| 179 | ||
| 180 | Casimirs | |
| 181 | ||
| 182 | Quadratic Casmir | |
| 183 | ||
| 184 | Clear[ind1, ind2, ind3, ind4, Cas2, Z] | |
| 185 | ||
| 186 | Z = Ad\[CenterDot]A + Bd\[CenterDot]B - Xd\[CenterDot]X - Yd\[CenterDot]Y; | |
| 187 | ||
| 188 | Cas2 = clean[ | |
| 189 | Sum[g[[ind1, ind3]]\[CenterDot]G[ind3, ind2]\[CenterDot]g[[ind2, | |
| 190 | ind4]]\[CenterDot]G[ind4, ind1], {ind1, 1, 6}, {ind2, 1, 6}, {ind3, 1,
| |
| 191 | 6}, {ind4, 1, 6}]];
| |
| 192 | clean[Cas2 + (3/2) (Z\[CenterDot]Z - 4)]; | |
| 193 | SaveIt["Cas2"]; | |
| 194 | Cas2sq = clean[Cas2\[CenterDot]Cas2]; | |
| 195 | SaveIt["Cas2sq"]; | |
| 196 | ||
| 197 | Cubic Casmir | |
| 198 | ||
| 199 | (*Clear[ind1,ind2,ind3,ind4,ind5,ind6,cas3] | |
| 200 | ||
| 201 | Timing[cas3=Sum[g[[ind1,ind4]]g[[ind2,ind5]]g[[ind3,ind6]]G[ind4,ind2]\ | |
| 202 | \[CenterDot]G[ind5,ind3]\[CenterDot]G[ind6,ind1],{ind1,1,6},{ind2,1,6},{ind3,\
| |
| 203 | 1,6},{ind4,1,6},{ind5,1,6},{ind6,1,6} ];];
| |
| 204 | Cas3=clean[cas3]; | |
| 205 | SaveIt["Cas3.dat"]; | |
| 206 | clean[Cas3 -2I Cas2];*) | |
| 207 | ||
| 208 | Quartic Casimir | |
| 209 | ||
| 210 | (*Clear[ind1,ind2,ind3,ind4,ind5,ind6,ind7,ind8,cas4] | |
| 211 | ||
| 212 | cas4=Sum[g[[ind1,ind5]]g[[ind2,ind6]]g[[ind3,ind7]]g[[ind4,ind8]]G[ind5,ind2]\ | |
| 213 | \[CenterDot]G[ind6,ind3]\[CenterDot]G[ind7,ind4]\[CenterDot]G[ind8,ind1],{\
| |
| 214 | ind1,1,6},{ind2,1,6},{ind3,1,6},{ind4,1,6},{ind5,1,6},{ind6,1,6},{ind7,1,6},{\
| |
| 215 | ind8,1,6}]; | |
| 216 | Cas4=clean[cas4]; | |
| 217 | SaveIt["Cas4"]; | |
| 218 | clean[Cas4-(1/6) Cas2sq+4 Cas2]*) | |
| 219 | ||
| 220 | Cas4 = ReadIt["Cas4"]; | |
| 221 | ||
| 222 | clean[Cas4 - (1/6) Cas2sq + 4 Cas2] | |
| 223 | ||
| 224 | 0 | |
| 225 | ||
| 226 | 6th order Casimir | |
| 227 | ||
| 228 | (*Clear[ind1,ind2,ind3,ind4,ind5,ind6,ind7,ind8,ind9,ind10,ind11,ind12,cas6,\ | |
| 229 | Cas6,dim] | |
| 230 | ||
| 231 | dim=6; | |
| 232 | ||
| 233 | Timing[cas6=ParallelSum[g[[ind1,ind7]]g[[ind2,ind8]]g[[ind3,ind9]]g[[ind4,\ | |
| 234 | ind10]]g[[ind5,ind11]]g[[ind6,ind12]]G[ind7,ind2]\[CenterDot]G[ind8,ind3]\ | |
| 235 | \[CenterDot]G[ind9,ind4]\[CenterDot]G[ind10,ind5]\[CenterDot]G[ind11,ind6]\ | |
| 236 | \[CenterDot]G[ind12,ind1],{ind1,1,dim},{ind2,1,dim},{ind3,1,dim},{ind4,1,dim},\
| |
| 237 | {ind5,1,dim},{ind6,1,dim},{ind7,1,dim},{ind8,1,dim},{ind9,1,dim},{ind10,1,dim}\
| |
| 238 | ,{ind11,1,dim},{ind12,1,dim}];]*)
| |
| 239 | ||
| 240 | (*Cas6=clean[cas6];*) | |
| 241 | ||
| 242 | (*Clear[ind1,ind2,ind3,ind4,ind5,ind6,ind7,ind8,ind9,ind10,ind11,ind12,cas6,\ | |
| 243 | Cas6,dim] | |
| 244 | ||
| 245 | dim=6; | |
| 246 | ||
| 247 | AbsoluteTiming[Table[cas6[i,j]=ParallelSum[g[[i,ind7]]g[[j,ind8]]g[[ind3,ind9]\ | |
| 248 | ]g[[ind4,ind10]]g[[ind5,ind11]]g[[ind6,ind12]]G[ind7,j]\[CenterDot]G[ind8,\ | |
| 249 | ind3]\[CenterDot]G[ind9,ind4]\[CenterDot]G[ind10,ind5]\[CenterDot]G[ind11,\ | |
| 250 | ind6]\[CenterDot]G[ind12,i],{ind3,1,dim},{ind4,1,dim},{ind5,1,dim},{ind6,1,\
| |
| 251 | dim},{ind7,1,dim},{ind8,1,dim},{ind9,1,dim},{ind10,1,dim},{ind11,1,dim},{\
| |
| 252 | ind12,1,dim}],{i,1,dim},{j,1,dim}];]*)
| |
| 253 | ||
| 254 | (*AbsoluteTiming[Table[Cas6[i,j]=clean[cas6[i,j]],{i,1,dim},{j,1,dim}]]*)
| |
| 255 | ||
| 256 | 3-3 split | |
| 257 | ||
| 258 | (*Clear[Cas6133,cas6133] | |
| 259 | ||
| 260 | Table[cas6133[ind1,ind4]=Sum[g[[ind1,ind7]]g[[ind2,ind8]]g[[ind3,ind9]]G[ind7,\ | |
| 261 | ind2]\[CenterDot]G[ind8,ind3]\[CenterDot]G[ind9,ind4],{ind7,1,6},{ind2,1,6},{\
| |
| 262 | ind8,1,6},{ind3,1,6},{ind9,1,6}],{ind1,1,6},{ind4,1,6}];
| |
| 263 | Table[Cas6133[i,j]=clean[cas6133[i,j]],{i,1,6},{j,1,6}];
| |
| 264 | SaveIt["Cas6133"];*) | |
| 265 | ||
| 266 | ClearMemory[]; | |
| 267 | ||
| 268 | (*Clear[Cas6233,cas6233] | |
| 269 | ||
| 270 | Table[cas6233[ind4,ind1]=Sum[g[[ind4,ind10]]g[[ind5,ind11]]g[[ind6,ind12]]G[\ | |
| 271 | ind10,ind5]\[CenterDot]G[ind11,ind6]\[CenterDot]G[ind12,ind1],{ind10,1,6},{\
| |
| 272 | ind5,1,6},{ind11,1,6},{ind6,1,6},{ind12,1,6}],{ind4,1,6},{ind1,1,6}];
| |
| 273 | Table[Cas6233[i,j]=clean[cas6233[i,j]],{i,1,6},{j,1,6}];
| |
| 274 | SaveIt["Cas6233"];*) | |
| 275 | ||
| 276 | ClearMemory[]; | |
| 277 | ||
| 278 | (*Clear[Cas6333,cas6333] | |
| 279 | ||
| 280 | cas6333=Sum[Cas6133[ind1,ind4]\[CenterDot]Cas6233[ind4,ind1],{ind1,1,6},{ind4,\
| |
| 281 | 1,6}]; | |
| 282 | SaveIt["cas6333"]; | |
| 283 | Cas6333=clean[cas6333]; | |
| 284 | SaveIt["Cas6333"];*) | |
| 285 | ||
| 286 | Clear[Cas2cub] | |
| 287 | Cas2cub = clean[Cas2\[CenterDot]Cas2sq]; | |
| 288 | SaveIt["Cas2cub"]; | |
| 289 | ||
| 290 | $Aborted | |
| 291 | ||
| 292 | (*clean[Cas6333-\[Alpha] Cas2quart]*) | |
| 293 | ||
| 294 | Cas63 = ReadIt["Cas6333"]; | |
| 295 | Cas2quart = ReadIt["Cas2quart"]; | |
| 296 | ||
| 297 | clean[Cas63 - (1/36) Cas2cub + 2 Cas2sq - 16 Cas2] | |
| 298 | ||
| 299 | 0 |