MathematicaでのTr{(sl[q]+m)γμu(sl[p]+sl[k]+m)γνu(sl[p]+m)γνd( sl[p]+sl[k]+m)γμd}
Mathematicaで、
Tr{(sl[q]+m)γμu(sl[p]+sl[k]+m)γνu(sl[p]+m)γνd( sl[p]+sl[k]+m)γμd}
= Tr[(-2sl[q]+4m)( sl[p]+sl[k]+m)(-2sl[p]+4m)( sl[p]+sl[k]+m)]
の計算をやってみようと思い、下記のプログラムを作りましたが、
と一致しません。
式―1と式―2が、
Tr{(sl[q]+m)γμu(sl[p]+sl[k]+m)γνu(sl[p]+m)γνd( sl[p]+sl[k]+m)γμd}
の計算です。(2通りやりました)
式―3が
Tr[(-2sl[q]+4m)( sl[p]+sl[k]+m)(-2sl[p]+4m)( sl[p]+sl[k]+m)]
の計算です。
demoteRank4to2[y_]:=Flatten[Map[Flatten,Transpose[y,{1,3,2,4}],{2}],1];
pauli2times[g1_,g2_]:=demoteRank4to2[Outer[Times,g1,g2]];
g1={{0,1},{1,0}};
g2={{0,-I},{I,0}};
g3={{1,0},{0,-1}};
g0={{1,0},{0,1}};
gu[0]=pauli2times[g2,g3];
gu[1]=-pauli2times[g1,g3];
gu[2]=pauli2times[g0,g2];
gu[3]=-pauli2times[g0,g1];
e4=IdentityMatrix[4];
gd[0]=1*gu[0];
gd[1]=-1*gu[1];
gd[2]=-1*gu[2];
gd[3]=-1*gu[3];
sl[q]=(gu[0]*q0+gu[1]*-q1+gu[2]*-q2+gu[3]*-q3);
sl[p]=(gu[0]*p0+gu[1]*-p1+gu[2]*-p2+gu[3]*-p3);
sl[k]=(gu[0]*k0+gu[1]*-k1+gu[2]*-k2+gu[3]*-k3);
gmu=(gu[0]+gu[1]+gu[2]+gu[3]);
gnu=(gu[0]+gu[1]+gu[2]+gu[3]);
gmd=(gd[0]+gd[1]+gd[2]+gd[3]);
gnd=(gd[0]+gd[1]+gd[2]+gd[3]);
ms=m*e4;
(*式ー1*)
s=0;
y1=0;
For[x=0,x£3,x++,
s=Tr[(sl[q]+ms).gu[x].(sl[p]+sl[k]+ms).gu[x](sl[p]+ms).gd[x].(sl[p]+sl[k]+ms).gd[x]];
y1=y1+s;
Print[FullSimplify[y1]];
];
(*式ー2*)
y2=Tr[(sl[q]+ms).gmu.(sl[p]+sl[k]+ms).gnu(sl[p]+ms).gnd.(sl[p]+sl[k]+ms).gmd];
Print[FullSimplify[y1]];
(*式ー3*)
y3=Tr[(-2sl[q]+4ms).(sl[p]+sl[k]+ms).(-2sl[p]+4ms).(sl[p]+sl[k]+ms)];