プロが教えるわが家の防犯対策術!

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)];

A 回答 (1件)

ダミーインデックス(総和添字)が2組あるとき、例えば


 γμuγνuγνdγμd
はμとνがそれぞれ独立に0から3までの値を取ります。したがってめんどくさいけど全部書くと
 γμuγνuγνdγμd
=γ0uγ0uγ0dγ0d + γ1uγ0uγ0dγ1d +γ2uγ0uγ0dγ2d + γ3uγ0uγ0dγ3d
+γ0uγ1uγ1dγ0d + γ1uγ1uγ1dγ1d +γ2uγ1uγ1dγ2d + γ3uγ1uγ1dγ3d
+ γ0uγ2uγ2dγ0d + γ1uγ2uγ2dγ1d +γ2uγ2uγ2dγ2d + γ3uγ2uγ2dγ3d
+γ0uγ3uγ3dγ0d + γ1uγ3uγ3dγ1d +γ2uγ3uγ3dγ2d + γ3uγ3uγ3dγ3d …(1)
です。一方、
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]]
としたのでは
γ0uγ0uγ0dγ0d + γ1uγ1uγ1dγ1d + γ2uγ2uγ2dγ2d + γ3uγ3uγ3dγ3d …(2)
のような計算をすることになります。また(*式ー2*)では
(γu0+γu1+γu2+γu3) (γu0+γu1+γu2+γu3) (γd0+γd1+γd2+γd3) (γd0+γd1+γd2+γd3) …(3)
のような計算になってしまいます。(1)と(2)(3)は等しくありません。これは単にプログラミングのミスでしょうか。(1)はローレンツ不変な形になっていますが、(2)(3)はローレンツ不変な形ではありません。ローレンツ不変でない式を書くようでは基本的な部分の理解が不十分なのではないでしょうか。これは数式処理とか場の量子論の問題ではありません。場の量子論の問題とはもっと重要で微妙な問題のことを指します。

この回答への補足

お返事ありがとうございます。

面倒であるにも関わらず、詳細を記載して頂きまして深謝致します。

この(1)式の通りプログラムを作成して計算してみます。

恐れ入りますが、γ0行列についての質問を別でさせて頂いてます。この点に関してもご教示頂きましたら幸いです。

補足日時:2005/09/13 12:42
    • good
    • 0
この回答へのお礼

ありがとうございます。

計算ができました。


計算結果は、
MSN→「コミュニケーション」の「コミュニテイ」を選択(左の欄にあります)
→科学と歴史→物理(12)→「物理とともに」を選択→「物理研究室群」を選択→「量子力学」を選択→
Tr[(sl[q]+m)( sl[p]+sl[k]+m)(sl[p]+m)( sl[p]+sl[k]+m)]の計算について
のメッセージ4に計算結果を記載しております。

追伸
恐れ入りますが、「γ0行列について」の質問を別でさせて頂いてます。この点に関してもご教示頂きましたら幸いです。

お礼日時:2005/09/13 21:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!