• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:光と電子の相互作用の計算について)

光と電子の相互作用の計算について

このQ&Aのポイント
  • 相対論的量子力学における光と電子の相互作用の計算について、mathematicaを使用して式f(s, u)を計算しました。
  • 計算結果は(1/s^2)*(4*(2*k2^2*p0*q0 + 2*k3^2*p0*q0 + 2*k1^2*(p0*q0 - p1*q1) - 2*k2^2*p2*q2 - 2*k2*k3*p3*q2 - 2*k2*k3*p2*q3 - 2*k3^2*p3*q3 - k2*q2*s - k3*q3*s + k2*p2*u + k3*p3*u - k1*(2*k2*(p2*q1 + p1*q2) + 2*k3*(p3*q1 + p1*q3) + q1*s - p1*u)))です。
  • 解答を求めるためには適切な法則を使用する必要がありますが、具体的な法則については質問文章内では触れられていません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.10

これまで計算してきたものは通常最低次(lowest order)の摂動論と言われています。より高次の摂動がこれに補正を与えます。例えば Kimball A. Milton, Wu-yang Tsai, and Lester L. DeRaad, Jr. Compton Scattering. I. Spectral Forms for the Invariant Amplitudes to Order e4 Phys. Rev. D 6, 1411-1427 (1972) など。電子-陽電子衝突でジェットが作られる時代なので高次のコンプトン散乱を計算する意味もあるでしょう。

bamatch
質問者

お礼

毎々、お返事ありがとうございます。 わかりました。昨年の7月20日に初めてコンプトン散乱の質問をして約5ヶ月で、目標にしていた計算ができました。これも、grothendieckさんのお陰です。ありがとうございました。 未だに、式の深い意味等はわかりませんが、大学院で味わう楽しみのひとコマだけでも、わかったような気がしました。今後ともよろしくお願いいたします。

その他の回答 (9)

回答No.9

(86-6)式は 8*dt*Pi*re^2*(m^2/(s-m^2)^2)*(m^2/(-m^2 + s) + m^2/(-m^2 + u) + (m^2/(-m^2 + s) + m^2/(-m^2 + u))^2 + (-(-m^2 + s)/(-m^2 + u) - (-m^2 + u)/(-m^2 + s))/4) です。/. s - m^2 -> 2*m*w /. u - m^2 -> -2*m*w1 /. dt -> (1/Pi)*w1^2*do1 と(86.8)を使うと(86.9)式が得られます。この本には誤植がかなりあり、なるべく後に発行されたものを見ることをお勧めします。

bamatch
質問者

お礼

お世話になります。 ご教示頂きました通り計算しますと、(86.9)式が得られました。 同式が、ハイトラーの「輻射の量子論」(上)P224の式(39)にあります。 この式のκに式(4)を代入して式(40)を求め、γと角度を代入すると、第10図が得られる訳ですね。試しにmathematicaで計算値をプロットしてみたいと思います。 追伸 1.実は、図書館でハイトラーの「輻射の量子論」(上)P224からP229まで複写したのですが、それより前のページを複写しておりません。従いまして、式(4)がわかりませんので、式(39)から式(40)がどのように導かれるのかわかりません。後日図書館でコピーして確認したいと思います。 2.見慣れないギリシャ文字を調べましたところ、シータの別の表現であることがわかりました。また”o”はオミクロンと読むこともわかりました。失礼しました。 3.ハイトラーの「輻射の量子論」(上)P224のタイトルが、第一近似の輻射過程とあるのですが、式(39)以上に正確に電子と光子のコンプトン散乱断面積を計算した式は他にあるのでしょうか?(偏光を考慮した計算は別とします。)

bamatch
質問者

補足

お返事ありがとうございます。 (86.8)は、全く眼中になかったです。これを使用しないとsin?が出て来ない訳ですね。再度、試してみます。 (86.8)は、私の記載ミスかもしれませんので併せて確認します。 追伸 光子の散乱角のsin?の?は、Iのようなθのような初めて見る記号です。これは何と読むのでしょうか?また、doのoは、オーなのでしょうか?記号が読めないと余分に難しく感じてしまいます。まさかロシア語じゃないでしょうね?(笑)

回答No.8

断面積を求める所が最も詳しく書いてあるのはたぶん、ランダウ=リフシッツ「相対論的量子力学1」だと思います。この本は最近の理論は含みませんが、量子電気力学のいろいろな過程への適用が豊富にあります。

bamatch
質問者

お礼

明けましておめでとうございます。 本年もよろしくお願いいたします。 さて、ランダウ-リフシッツの「相対論的量子力学」P405の実験室系の 散乱断面積の計算ですが、 (86-6)の式 8*dt*Pi*re^2*(m^2/(-m^2 + s) + m^2/(-m^2 + u) + (m^2/(-m^2 + s) + m^2/(-m^2 + u))^2 + (-((-m^2 + s)/(-m^2 + u)) - (-m^2 + u)/(-m^2 + s))/4) に、/. s - m^2 -> 2*m*w /. u - m^2 -> -2*m*w1 /. dt -> (1/Pi)*w1^2*do1 (但し、w1はω’、do1は、do’) を作用させると、 (2*do1*re^2*(m^2*(w - w1)^2 + 2*m*w*w1*(-w + w1) + w*w1*(w^2 + w1^2)))/w^2 となり、式(86.9)になりません。どうしてでしょうか?ご教示頂きましたら幸いです。

bamatch
質問者

補足

お返事ありがとうございます。 わかりました。読んで更に計算を進めたいと思います。

回答No.7

私なら次の様にしたいと思います。 y=Tr[(sl[q] + m) . gu[x] . (sl[p] + sl[k] + m) . gu[y] . (sl[p] + m) . gd[y] . (sl[p] + sl[k] + m) . gd[x]] 変数が少ない方が組み合わせの数が少ないので最初に j = p+k-q を代入する。 j -> p+k-q k^2=0 を代入する。 Coefficient(%, k0^2 - k1^2 - k2^2 - k3^2, 0) p^2=m^2 を代入する。 Coefficient(%, p0^2 - p1^2 - p2^2 - p3^2, 2)*m^4 + Coefficient(%, p0^2 - p1^2 - p2^2 - p3^2, 1)*m^2 + Coefficient(%, p0^2 - p1^2 - p2^2 - p3^2, 0) q^2=m^2 も同様。次にマンデルスタム変数を代入する Coefficient(%, p0*k0 - p1*k1 - p2*k2 - p3*k3, 2)*((s-m^2)/2)^2 + Coefficient(%, p0*k0 - p1*k1 - p2*k2 - p3*k3, 1)*((s-m^2)/2) + Coefficient(%, p0*k0 - p1*k1 - p2*k2 - p3*k3, 0) など。最後にs+t+u=2m^2 を使ってtを消去する。 t -> 2m^2 - s -u これでうまくいくかどうかの確認は私はMathematicaを持っていないので行うことができません。

bamatch
質問者

補足

毎々、お返事ありがとうございます。 いろいろとご教示頂きお蔭様で何とか計算できました。計算結果は以下の通りです。(ご教示頂いた方法とは少し異なります。不具合個所にパッチを当てて元々のやり方で計算しました。) (12*m^8 - 2*s*u*(s^2 + u^2) + 2*m^2*(s + u)*(s^2 + 6*s*u + u^2) - 2*m^4*(3*s^2 + 14*s*u + 3*u^2))/((m^2 - s)^2*(m^2 - u)^2) 後は、この計算結果を元に、断面積を求めたいのですが、どの教科書のものがすっきりと判り易いでしょうか?人によって異なるとは思いますが、如何でしょうか? プログラム m =. ; Clear[f, g] gu[0] = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}}; gu[1] = {{0, 0, 0, 1}, {0, 0, 1, 0}, {0, -1, 0, 0}, {-1, 0, 0, 0}}; gu[2] = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, I, 0, 0}, {-I, 0, 0, 0}}; gu[3] = {{0, 0, 1, 0}, {0, 0, 0, -1}, {-1, 0, 0, 0}, {0, 1, 0, 0}}; e4 = IdentityMatrix[4]; gd[0] = 1*gu[0]; gd[1] = -gu[1]; gd[2] = -gu[2]; gd[3] = -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); sl[j] = gu[0]*j0 + gu[1]*(-j1) + gu[2]*(-j2) + gu[3]*(-j3); ms = m*e4; s1=0;y1=0; s2=0;y2=0; s3=0;y3=0; For[x = 0, x <= 3, x++, For[y = 0, y <= 3, y++, s1 = Tr[(sl[q] + ms) . gu[x] . (sl[p] + sl[k] + ms) . gu[y] . (sl[p] + ms) . gd[y] . (sl[p] + sl[k] + ms) . gd[x]]; y1 = y1 + s1; ]]; For[x=0,x<=3,x++, For[y=0,y<=3,y++, s2=Tr[(sl[q]+ms).gu[x].(sl[p]-sl[j]+ms).gu[y].(sl[p]+ms).gd[y].(sl[p]-sl[j]+ms).gd[x]]; y2=y2+s2; ]]; For[x=0,x<=3,x++, For[y=0,y<=3,y++, s3=Tr[(sl[q]+ms).gu[x].(sl[p]+sl[k]+ms).gu[y].(sl[p]+ms).gd[x].(sl[p]-sl[j]+ms).gd[y]]; y3=y3+s3; ]]; For[gat=1,gat<=3,gat++, If[gat==1,v={3,4,1,2,9,10,5,6,7,8}]; If[gat==1,f=y1]; If[gat==2,v={4,3,1,2,6,7,8,9,10,5}]; If[gat==2,f=y2]; If[gat==3,v={5,6,7,8,9,10,1,2,3,4,3}]; If[gat==3,f=y3]; g[1] = p0^2 - p1^2 - p2^2 - p3^2; g[2] = q0^2 - q1^2 - q2^2 - q3^2; g[3] = k0^2-k1^2-k2^2-k3^2; g[4] = j0^2 - j1^2 - j2^2 - j3^2; g[5] = p0*q0 - p1*q1 - p2*q2 - p3*q3; g[6] = j0*p0 - j1*p1 - j2*p2 - j3*p3; g[7] = j0*q0 - j1*q1 - j2*q2 - j3*q3; g[8] = k0*j0 - k1*j1 - k2*j2 - k3*j3; g[9] = k0*p0 - k1*p1 - k2*p2 - k3*p3; g[10] = k0*q0 - k1*q1 - k2*q2 - k3*q3; For[ray=1,ray<=2,ray++, For[ret=1,ret<=10,ret++, x1=v[[ret]]; (*Print[x1];*) If[x1==1 || x1==2,hf=m^2]; If[x1==3 || x1==4,hf=0]; If[x1==5,hf=(m^2 - t/2)]; If[x1==6,hf=(1/2)*(m^2 - u)]; If[x1==7,hf=(1/2)*(s - m^2)]; If[x1==8,hf=(-(t/2))]; If[x1==9,hf=(1/2)*(s - m^2)]; If[x1==10,hf=(1/2)*(m^2 - u)]; If[x1=!=3 && x1=!=4,f = Simplify[(f - PolynomialMod[f, g[x1]])/g[x1]]*hf + PolynomialMod[f, g[x1]]]; If[x1==3,f = Simplify[(f - PolynomialMod[f, g[x1]])/g[x1]]*hf + PolynomialRemainder[f,g[x1],k1]]; If[x1==4,f = Simplify[(f - PolynomialMod[f, g[x1]])/g[x1]]*hf + PolynomialRemainder[f,g[x1],j1]]; (*If[x1==4,Print[Simplify[y2-f]]];*) ]; ]; t=2*m^2-s-u; If[gat==1,T11=f]; If[gat==2,T22=f]; If[gat==3,T33=f]; ]; T100=1/4*(T11*(1/((s-m^2)^2))+T33*2*(1/((s-m^2)*(u-m^2)))+T22*(1/((u-m^2)^2))); FullSimplify[T100] T200=8*((m^2/(s-m^2)+m^2/(u-m^2))^2+m^2/(s-m^2)+ m^2/(u-m^2)-(1/4)*((s-m^2)/(u-m^2)+(u-m^2)/(s-m^2))); FullSimplify[T200] FullSimplify[T100-T200] 下記のパッチあてが気になります。何とか考えます。 If[x1=!=3 && x1=!=4,f = Simplify[(f - PolynomialMod[f, g[x1]])/g[x1]]*hf + PolynomialMod[f, g[x1]]]; If[x1==3,f = Simplify[(f - PolynomialMod[f, g[x1]])/g[x1]]*hf + PolynomialRemainder[f,g[x1],k1]]; If[x1==4,f = Simplify[(f - PolynomialMod[f, g[x1]])/g[x1]]*hf + PolynomialRemainder[f,g[x1],j1]];

回答No.6

f[x] = FullSimplify[(1/4)*y0]; g[x] = k0^2 - k1^2 - k2^2 - k3^2; とすると、右辺はxを変数とする多項式で、p0,p1,…k0,k1…等は全て定数と見なされてしまうのではないでしょうか。xの多項式ではなく、p0,p1,…k0,k1…等を変数とする多変数多項式とする必要があると思います。コンプトン散乱の計算の前に Tr[sl[q] . sl[p] . sl[k] . sl[j]] = 4*(p . k*q . j - p . j*q . k + k . j*q . p) の確認からした方が良いでしょう。私なら次の様にしたいと思います。 y=Tr[sl[q] . sl[p] . sl[k] . sl[j]] Coefficient(y, k0*q0 - k1*q1 - k2*q2 - k3*q3, 1)*kq + Coefficient(y, k0*q0 - k1*q1 - k2*q2 - k3*q3, 0) Coefficient(%, p0*q0 - p1*q1 - p2*q2 - p3*q3, 1)*pq + Coefficient(%, p0*q0 - p1*q1 - p2*q2 - p3*q3, 0) Coefficient(%, j0*q0 - j1*q1 - j2*q2 - j3*q3, 1)*jq + Coefficient(y, j0*q0 - j1*q1 - j2*q2 - j3*q3, 0) Coefficient(%, k0*p0 - k1*p1 - k2*p2 - k3*p3, 1)*kp + Coefficient(y, k0*p0 - k1*p1 - k2*p2 - k3*p3, 0) Coefficient(%, p0*j0 - p1*j1 - p2*j2 - p3*j3, 1)*pj + Coefficient(%, p0*j0 - p1*j1 - p2*j2 - p3*j3, 0) Coefficient(%, j0*k0 - j1*k1 - j2*k2 - j3*k3, 1)*jk + Coefficient(y, j0*k0 - j1*k1 - j2*k2 - j3*k3, 0) これでうまくいくかどうかの確認は私はMathematicaを持っていないので行うことができません。

bamatch
質問者

お礼

毎々、お世話になります。 上記のfに、 g=(k0^2-k1^2-k2^2-k3^2)→0 g=j0^2-j1^2-j2^2-j3^2→0 p0^2-p1^2-p2^2-p3^2→m^2 を作用させて、答え(-((2*u)/s))を導出させたいのですが、 g = k0^2 - k1^2 - k2^2 - k3^2; PolynomialQuotient[f, g, k0] PolynomialQuotient[f, g, k1] PolynomialQuotient[f, g, k2] PolynomialQuotient[f, g, k3] Print[FullSimplify[PolynomialRemainder[f, g, k0] - PolynomialRemainder[f, g, k1]]] としますと計算結果は、 4*(4*m^2 + p0*q0 + p1*q1 + p2*q2 + p3*q3) -4*(-4*m^2 + p0*q0 + p1*q1 - p2*q2 - p3*q3) 16*m^2 - 4*p0*q0 + 4*p1*q1 - 4*p2*q2 + 4*p3*q3 16*m^2 - 4*p0*q0 + 4*p1*q1 + 4*p2*q2 - 4*p3*q3 -8*(k0 - k1 - k2 - k3)*(p0*q0 + p1*q1) となりました。 PolynomialQuotientの意味は、fをgで割ったときの商で、 PolynomialRemainderの意味は、fをgで割ったときの余りです。 割り算の引数をk0^2 - k1^2 - k2^2 - k3^2のk0かk1かk2かk3によって計算結果が異なるので、このような結果となります。どうしたらよいか?わからなくなりました。下記のfをどのようにしたら、答え(-((2*u)/s))が導出できるのでしょうか? 全く別の方法を考えないと駄目のような気がしています。

bamatch
質問者

補足

毎々、お返事ありがとうございます。 Tr[sl[q] . sl[p] . sl[k] . sl[j]]の計算ですが、 FullSimplify[Tr[sl[q] . sl[p] . sl[k] . sl[j]] ― 4*((k0*p0 - k1*p1 - k2*p2 - k3*p3)*(j0*q0 - j1*q1 - j2*q2 - j3*q3) - (p0*j0 - p1*j1 - p2*j2 - p3*j3)*(k0*q0 - k1*q1 - k2*q2 - k3*q3) + (j0*k0 - j1*k1 - j2*k2 - j3*k3)* (p0*q0 - p1*q1 - p2*q2 - p3*q3))] が、“0”になり正しいことがわかりました。 また、同様にご教示頂きました Coefficient(y, k0*q0 - k1*q1 - k2*q2 - k3*q3, 1)*kq + Coefficient(y, k0*q0 - k1*q1 - k2*q2 - k3*q3, 0) の計算もOKでした。 次のfは、Tr[(sl[q] + ms) . gu[x] . (sl[p] + sl[k] + ms) . gu[y] . (sl[p] + ms) . gd[y] . (sl[p] + sl[k] + ms) . gd[x]] に、γ行列やsl[q]等を代入して算出されたものですが、 f = 4*(-4*k2^2*m^2 - 4*k3^2*m^2 + 4*m^4 - 4*k2*m^2*p2 - 4*k3*m^2*p3 + k2^2*p0*q0 + k3^2*p0*q0 - 3*m^2*p0*q0 + p0^3*q0 - p0*p1^2*q0 - p0*p2^2*q0 - p0*p3^2*q0 - k2^2*p1*q1 - k3^2*p1*q1 + 3*m^2*p1*q1 - p0^2*p1*q1 + p1^3*q1 + p1*p2^2*q1 + p1*p3^2*q1 + 4*k2*m^2*q2 - 2*k2*p0^2*q2 + 2*k2*p1^2*q2 + k2^2*p2*q2 - k3^2*p2*q2 + 3*m^2*p2*q2 - p0^2*p2*q2 + p1^2*p2*q2 + 2*k2*p2^2*q2 + p2^3*q2 + 2*k2*k3*p3*q2 + 2*k2*p3^2*q2 + p2*p3^2*q2 + (k3^2*p3 + p3*(-k2^2 + 3*m^2 - p0^2 + p1^2 + p2^2 + p3^2) + 2*k3*(2*m^2 - p0^2 + p1^2 + p2*(k2 + p2) + p3^2))*q3 + 2*k1*(-2*m^2*(p1 - q1) - p0^2*q1 + p1^2*q1 + k2*p2*q1 + p2^2*q1 + k3*p3*q1 + p3^2*q1 + k2*p1*q2 + k3*p1*q3) + k1^2*(-4*m^2 + p0*q0 + p1*q1 - p2*q2 - p3*q3) + k0^2*(4*m^2 + p0*q0 + p1*q1 + p2*q2 + p3*q3) + 2*k0*(2*m^2*(p0 - q0) + p0^2*q0 - (p1*(k1 + p1) + p2*(k2 + p2) + p3*(k3 + p3))*q0 - p0*(k1*q1 + k2*q2 + k3*q3))); これに対して、 g = k0^2 - k1^2 - k2^2 - k3^2; f1 = Simplify[PolynomialMod[f, g]]; Print[FullSimplify[f1 - f]]; を、計算すると、 mathematica ver5の場合は、 -4*(k0^2 - k1^2 - k2^2 - k3^2)*(4*m^2 + p0*q0 + p1*q1 + p2*q2 + p3*q3) となり、 mathematica ver4場合は、 -4*(k0^2-k1^2-k2^2-k3^2)*(4*m^2-p0*q0+p1*q1-p2*q2+p3*q3) となり答えが異なります。 mathematica ver4で、更に別の計算(p0^2 - p1^2 - p2^2 - p3^2等)を行うと、 最終的に、正しい答え(-((2*u)/s))を導出できる場合もあるのですが、mathematica ver5の場合は導出できません。どうしてこのように計算が不安定なのでしょうか?また、解決策はないでしょうか?

回答No.5

Tr[sl[q] . sl[p]] = 4*p0*q0 - 4*(p1*q1 + p2*q2 + p3*q3) は正しい結果です。(pq=p0*q0 - p1*q1 - p2*q2 - p3*q3 です) 結局トレースの中で行列の通常の積ではないものが指定されていたことが原因でした。 Tr[sl[q] . sl[p]*sl[k]*sl[j]] の方も Tr[sl[q] . sl[p] . sl[k] . sl[j]] にする必要があります。sl[p]が正しい行列になっているのでpとqを行列の形にする必要はありません。

bamatch
質問者

お礼

毎々、お世話になります。 下記は、後半のプログラムを示しております。 トレースの計算結果をp0^2-p1^2-p2^2-p3^2 で割ったときの商を q(p,q,k,j)、余りを r(p,q,k,j) としたとき計算結果を q(p,q,k,j)*m^2 + r(p,q,k,j)で置き換えるようにしました。 結果は、 (8*k0^2*p2*q2 - 8*(k1^2 + k2^2 + k3^2)*p2*q2 - 2*s*u)/s^2 です。結果は、正しいと思うのですが、なぜか、最初の計算のk0^2 - k1^2 - k2^2 - k3^2=0、が効いておりません。もう一歩だと思うのですが、行き詰まってしまいました。どうすれば、よいでしょうか? f[x] = FullSimplify[(1/4)*y0]; g[x] = k0^2 - k1^2 - k2^2 - k3^2; f[x] = Simplify[(f[x] - PolynomialMod[f[x], g[x]])/g[x]]*0 + PolynomialMod[f[x], g[x]]; g[x] = j0^2 - j1^2 - j2^2 - j3^2; f[x] = Simplify[(f[x] - PolynomialMod[f[x], g[x]])/g[x]]*0 + PolynomialMod[f[x], g[x]]; g[x] = p0^2 - p1^2 - p2^2 - p3^2; f[x] = Simplify[(f[x] - PolynomialMod[f[x], g[x]])/g[x]]*m^2 + PolynomialMod[f[x], g[x]]; g[x] = q0^2 - q1^2 - q2^2 - q3^2; f[x] = Simplify[(f[x] - PolynomialMod[f[x], g[x]])/g[x]]*m^2 + PolynomialMod[f[x], g[x]]; g[x] = k0*p0 - k1*p1 - k2*p2 - k3*p3; f[x] = Simplify[(f[x] - PolynomialMod[f[x], g[x]])/g[x]]*(1/2)*(s - m^2) + PolynomialMod[f[x], g[x]]; g[x] = k0*q0 - k1*q1 - k2*q2 - k3*q3; f[x] = Simplify[(f[x] - PolynomialMod[f[x], g[x]])/g[x]]*(1/2)*(m^2 - u) + PolynomialMod[f[x], g[x]]; g[x] = p0*q0 - p1*q1 - p2*q2 - p3*q3; f[x] = Simplify[(f[x] - PolynomialMod[f[x], g[x]])/g[x]]*(m^2 - t/2) + PolynomialMod[f[x], g[x]]; g[x] = j0*p0 - j1*p1 - j2*p2 - j3*p3; f[x] = Simplify[(f[x] - PolynomialMod[f[x], g[x]])/g[x]]*(1/2)*(m^2 - u) + PolynomialMod[f[x], g[x]]; g[x] = j0*q0 - j1*q1 - j2*q2 - j3*q3; f[x] = Simplify[(f[x] - PolynomialMod[f[x], g[x]])/g[x]]*(1/2)*(s - m^2) + PolynomialMod[f[x], g[x]]; g[x] = k0*j0 - k1*j1 - k2*j2 - k3*j3; f[x] = Simplify[(f[x] - PolynomialMod[f[x], g[x]])/g[x]]*(-(t/2)) + PolynomialMod[f[x], g[x]]; y11 = f[x]*(1/(s - m^2)^2); m = 0; Print[FullSimplify[y11]];

bamatch
質問者

補足

お返事ありがとうございます。 >結局トレースの中で行列の通常の積ではないものが指定されていたことが原因でした。 わかりました。 >Tr[sl[q] . sl[p] . sl[k] . sl[j]] >にする必要があります。 その通りにして計算しました。すると、下記結果になりました。 多分これは、4*(p . k*q . j - p . j*q . k + k . j*q . p)に等しいと思います。 4*((-j2)*k2*p0*q0 - j3*k3*p0*q0 + j2*k0*p2*q0 + j3*k0*p3*q0 + j2*k2*p1*q1 + j3*k3*p1*q1 - j2*k1*p2*q1 - j3*k1*p3*q1 - j2*k0*p0*q2 + j2*k1*p1*q2 + j2*k2*p2*q2 + j3*k3*p2*q2 - j3*k2*p3*q2 + j2*k3*p3*q2 - j3*k0*p0*q3 + j3*k1*p1*q3 + j3*k2*p2*q3 - j2*k3*p2*q3 + j2*k2*p3*q3 + j3*k3*p3*q3 + j0*((-k1)*p1*q0 - k2*p2*q0 - k3*p3*q0 + k1*p0*q1 + k2*p0*q2 + k3*p0*q3 - k0*((-p0)*q0 + p1*q1 + p2*q2 + p3*q3)) + j1*(k0*p1*q0 - k0*p0*q1 + k2*p2*q1 + k3*p3*q1 - k2*p1*q2 - k3*p1*q3 + k1*((-p0)*q0 + p1*q1 + p2*q2 + p3*q3))) γ行列も正しく、Tr{sl(a)sl(b)} = 4(ab)、 Tr{sl(a)sl(b)sl(c)sl(d)} = 4(ab)(cd) -4(ac)(bd) + 4(ad)(bc)の計算も正しいとしますと、やはり、 >y1 をp0^2-p1^2-p2^2-p3^3で割った商をy2、余りをy3としたとき、 > y4 = y2*m^2 + y3 >とすると良いでしょう(p0^2-p1^2-p2^2-p3^2 -> m^2 は使わない)。トレースは運動量 >(質量)の次元について4なのでy2にもp0^2-p1^2-p2^2-p3^3が因子として含まれる可能 >性があるのでy2についても同様の置き換えをします。 なのでしょうね。現在、検討中ですが、なかなか計算は難しいです。また結果が出ましたら、記載させて頂きます。 ありがとうございました。

回答No.4

第0成分の所だけは正しく計算されているようです。もしかしたら(-p1)は”全ての要素がp1”という行列と見なされているのかもしれません。トレースの計算をする前に、sl[p] を表示させてみて、 sl[p] = ┌ p0,  0,  -p3,  -p1+p2*I ┐ │0,  p0,  -p1-p2*I,   p3 │ │p3,  p1-p2*I,  -p0,   0 │ └ -p1+p2*I,  -p3,  0,   -p0 ┘ になることを確かめてみて下さい。  sl[p] = p0*gu[0] - p1*gu[1]* - p2*gu[2] - p3*gu[3] ; としてみたらどうでしょうか。

bamatch
質問者

お礼

お世話になります。間違って、No.3に書き込んでしまいました。同じことを、ここに書き込みます。 下記の計算は、トレース内の計算を、外積→内積にしました。 Tr[sl[q] * sl[p]] → Tr[sl[q] . sl[p]] 更に、q と p を、何らかの行列に置き換えれば、正しい答えが導かれるような気がします。如何でございましょうか? もしこの考えが正しい場合は、q と pはどのような行列になるのでしょうか? gu[0] = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}}; gu[1] = {{0, 0, 0, 1}, {0, 0, 1, 0}, {0, -1, 0, 0}, {-1, 0, 0, 0}}; gu[2] = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, I, 0, 0}, {-I, 0, 0, 0}}; gu[3] = {{0, 0, 1, 0}, {0, 0, 0, -1}, {-1, 0, 0, 0}, {0, 1, 0, 0}}; gd[0] = gu[0]; gd[1] = -gu[1]; gd[2] = -gu[2]; gd[3] = -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); sl[j] = gu[0]*j0 + gu[1]*(-j1) + gu[2]*(-j2) + gu[3]*(-j3); Print[FullSimplify[Tr[sl[q] . sl[p]] - 4*q . p]]; Print[FullSimplify[Tr[sl[q] . sl[p]*sl[k]*sl[j]] - 4*q . p*k . j - q . k*p . j + q . j*p . k]]; 計算結果 4*p0*q0 - 4*(p1*q1 + p2*q2 + p3*q3) - 4*q . p 4*j0*k0*(p0*q0 - p1*q1 - p2*q2 - p3*q3) + p . k*q . j - p . j*q . k - 4*k . j*q . p

bamatch
質問者

補足

毎々、お返事ありがとうございます。 下記の通り計算しました。 sl[p] = ┌ p0,  0,  -p3,  -p1+p2*I ┐ │0,  p0,  -p1-p2*I,   p3 │ │p3,  p1-p2*I,  -p0,   0 │ └ -p1+p2*I,  -p3,  0,   -p0 ┘ になることを確かめてみて下さい。 →その通りになりました。  sl[p] = p0*gu[0] - p1*gu[1]* - p2*gu[2] - p3*gu[3] ; としてみたらどうでしょうか。 →結果は同じです。 ん、、何が悪いんでしょうかね~? gu[0] = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}}; gu[1] = {{0, 0, 0, 1}, {0, 0, 1, 0}, {0, -1, 0, 0}, {-1, 0, 0, 0}}; gu[2] = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, I, 0, 0}, {-I, 0, 0, 0}}; gu[3] = {{0, 0, 1, 0}, {0, 0, 0, -1}, {-1, 0, 0, 0}, {0, 1, 0, 0}}; gd[0] = gu[0]; gd[1] = -gu[1]; gd[2] = -gu[2]; gd[3] = -gu[3]; sl[p] = gu[0]*p0 + gu[1]*(-p1) + gu[2]*(-p2) + gu[3]*(-p3); Print[sl[p]]; sl[p] = gu[0]*p0 - p1*gu[1] - p2*gu[2] - p3*gu[3]; Print[sl[p]]; 結果 {{p0, 0, -p3, -p1 + I*p2}, {0, p0, -p1 - I*p2, p3}, {p3, p1 - I*p2, -p0, 0}, {p1 + I*p2, -p3, 0, -p0}} {{p0, 0, -p3, -p1 + I*p2}, {0, p0, -p1 - I*p2, p3}, {p3, p1 - I*p2, -p0, 0}, {p1 + I*p2, -p3, 0, -p0}}

回答No.3

ガンマ行列は間違ってないと思います。 gu[0] = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}}; gu[1] = {{0, 0, 0, 1}, {0, 0, 1, 0}, {0, -1, 0, 0}, {-1, 0, 0, 0}}; gu[2] = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, I, 0, 0}, {-I, 0, 0, 0}}; gu[3] = {{0, 0, 1, 0}, {0, 0, 0, -1}, {-1, 0, 0, 0}, {0, 1, 0, 0}}; は  γμ γν + γν γμ = 2gμν を満たしているようです。私はMathematicaのことは知らないのですが、"1" という行列は何を表わしているのでしょう。もしかして”全ての要素が1”という行列ではありませんか。実際そうやって計算すると  Tr{sl(a)sl(b)} = 4 * a0 * b0 になってしまうようです。sl[p] などの定義は sl[p] = gu[0]*p0 + gu[1]*-1*p1 + gu[2]*-1*p2 + gu[3]*-1*p3; ではなく、 sl[p] = gu[0]*p0 + gu[1]*-p1 + gu[2]*-p2 + gu[3]*-p3; にしなければならないのではないでしょうか。

bamatch
質問者

お礼

お世話になります。 下記の計算は、トレース内の計算を、外積→内積にしました。 Tr[sl[q] * sl[p]] → Tr[sl[q] . sl[p]] 更に、q と p を、何らかの行列に置き換えれば、正しい答えが 導かれるような気がします。如何でございましょうか? gu[0] = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}}; gu[1] = {{0, 0, 0, 1}, {0, 0, 1, 0}, {0, -1, 0, 0}, {-1, 0, 0, 0}}; gu[2] = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, I, 0, 0}, {-I, 0, 0, 0}}; gu[3] = {{0, 0, 1, 0}, {0, 0, 0, -1}, {-1, 0, 0, 0}, {0, 1, 0, 0}}; gd[0] = gu[0]; gd[1] = -gu[1]; gd[2] = -gu[2]; gd[3] = -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); sl[j] = gu[0]*j0 + gu[1]*(-j1) + gu[2]*(-j2) + gu[3]*(-j3); Print[FullSimplify[Tr[sl[q] . sl[p]] - 4*q . p]]; Print[FullSimplify[Tr[sl[q] . sl[p]*sl[k]*sl[j]] - 4*q . p*k . j - q . k*p . j + q . j*p . k]]; 計算結果 4*p0*q0 - 4*(p1*q1 + p2*q2 + p3*q3) - 4*q . p 4*j0*k0*(p0*q0 - p1*q1 - p2*q2 - p3*q3) + p . k*q . j - p . j*q . k - 4*k . j*q . p

bamatch
質問者

補足

お返事ありがとうございます。 >"1" という行列は何を表わしているのでしょう。 "1"は、行列ではなく、只の1です。従いまして、"1"を消しても、結果は下記の通り同じです。まぎらわしい表現をしてすいません。 下記の”p”,”q”も、行列ではなく、只の数です。これは問題ないでしょうか? gu[0] = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}}; gu[1] = {{0, 0, 0, 1}, {0, 0, 1, 0}, {0, -1, 0, 0}, {-1, 0, 0, 0}}; gu[2] = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, I, 0, 0}, {-I, 0, 0, 0}}; gu[3] = {{0, 0, 1, 0}, {0, 0, 0, -1}, {-1, 0, 0, 0}, {0, 1, 0, 0}}; e4 = IdentityMatrix[4]; gd[0] = gu[0]; gd[1] = -gu[1]; gd[2] = -gu[2]; gd[3] = -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); sl[j] = gu[0]*j0 + gu[1]*(-j1) + gu[2]*(-j2) + gu[3]*(-j3); Print[FullSimplify[Tr[sl[q]*sl[p]] - 4*q . p]]; Print[FullSimplify[Tr[sl[q]*sl[p]*sl[k]*sl[j]] - 4*q . p*k . j - q . k*p . j + q . j*p . k]]; 計算結果です。 4*p0*q0 - 4*q . p 4*j0*k0*p0*q0 + p . k*q . j - p . j*q . k - 4*k . j*q . p

回答No.2

前にも書いた様にγ行列の具体的な表現を用いるのではなく、  γμ γν + γν γμ = 2gμν を用いて代数的な計算をするやり方をお勧めしたいと思います。しかし具体的な表現を用いてもできないことはないはずなので今のやり方を続けるとして、なぜローレンツ不変性が見えにくくなってしまうのかを考えてみました。Marhematica で  p0^2-p1^2-p2^2-p3^2 -> m^2 とするとどのような処理が行われるのかよく分かりません。もしかしたら p0^2 が p1^2+p2^2+p3^2 + m^2 で置き換えられるのかもしれません。するとp0^2 が出てくるのは p^2 の所だけではありません。例えば  (pk)(pj) = p0^2 k0 j0 + … このp0^2をp1^2+p2^2+p3^2 + m^2 で置き換えるとローレンツ不変性が明らかでない形になってしまいます。p0^2 が p^2 の一部としてある所のみこの置き換えを行うべきでしょう。例えば y1(p,q,k,j) からp0^2-p1^2-p2^2-p3^2 をくくり出すためには、y1 をp0^2-p1^2-p2^2-p3^3で割った商をy2、余りをy3としたとき、  y4 = y2*m^2 + y3 とすると良いでしょう(p0^2-p1^2-p2^2-p3^2 -> m^2 は使わない)。トレースは運動量(質量)の次元について4なのでy2にもp0^2-p1^2-p2^2-p3^3が因子として含まれる可能性があるのでy2についても同様の置き換えをします。以下q^2, pk などについても同様のことをし、結果がローレンツ不変量s, t, u. m だけで表わされなければγ行列かトレースの計算をチェックすべきです。

bamatch
質問者

お礼

毎々ご親切な回答ありがとうございます。 >y1 をp0^2-p1^2-p2^2-p3^3で割った商をy2、余りをy3としたとき、 > y4 = y2*m^2 + y3 >とすると良いでしょう そうですね。やってみたいと思います。 Mathematicaで、どのようなコマンドを使用したら、スマートに計算できるのか?検討中です。また、見つけましたら、ご報告させて頂きます。 >結果がローレンツ不変量s, t, u. m だけで表わされなければγ行列かトレースの計算をチェックすべきです。 了解しました。γ行列かトレースの計算は、まず間違いないと思います。 問題は、やはり式をどのように纏めるかだと思います。ご教示頂きました上記事項を、試してみたいと思います。 追伸 ただいま、風邪で39度の熱を出しております。ふらふらなので、少し計算が遅れますことを、お詫び申し上げます。

bamatch
質問者

補足

>コンプトン散乱の計算をする前に > Tr{sl(a)sl(b)} = 4(ab) >Tr{sl(a)sl(b)sl(c)sl(d)} >  = 4(ab)(cd) -4(ac)(bd) + 4(ad)(bc) >やエイチスン=ヘイにあるm=0 とした場合のトレースが正しく計算されることを確認さ>れてはいかがでしょうか。 エイチスン=ヘイにあるm=0 とした場合の計算をしましたが、答えが一致しません。 ガンマ行列が悪いような気がします。 下記の通りとなりましたが、これで正しいのでしょうか? gu[0] = {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, -1, 0}, {0, 0, 0, -1}}; gu[1] = {{0, 0, 0, 1}, {0, 0, 1, 0}, {0, -1, 0, 0}, {-1, 0, 0, 0}}; gu[2] = {{0, 0, 0, -I}, {0, 0, I, 0}, {0, I, 0, 0}, {-I, 0, 0, 0}}; gu[3] = {{0, 0, 1, 0}, {0, 0, 0, -1}, {-1, 0, 0, 0}, {0, 1, 0, 0}}; e4 = IdentityMatrix[4]; gd[0] = 1*gu[0]; gd[1] = -gu[1]; gd[2] = -gu[2]; gd[3] = -gu[3]; sl[q] = gu[0]*q0 + gu[1]*-1*q1 + gu[2]*-1*q2 + gu[3]*-1*q3; sl[p] = gu[0]*p0 + gu[1]*-1*p1 + gu[2]*-1*p2 + gu[3]*-1*p3; sl[k] = gu[0]*k0 + gu[1]*-1*k1 + gu[2]*-1*k2 + gu[3]*-1*k3; sl[j] = gu[0]*j0 + gu[1]*-1*j1 + gu[2]*-1*j2 + gu[3]*-1*j3; Print[FullSimplify[Tr[sl[q]*sl[p]]-4*q.p]]; Print[FullSimplify[Tr[sl[q]*sl[p]*sl[k]*sl[j]]-4*(q.p)*(k.j)-(q.k)*(p.j)+(q.j)*(p.k)]]; For[x = 0, x <= 3, x++, For[y = 0, y <= 3, y++, Print["x=", x, ",y=", y]; Print[gu[x] . gu[y] + gu[y] . gu[x]]; ]]; 結果 4*p0*q0 - 4*q . p 4*j0*k0*p0*q0 + p . k*q . j - p . j*q . k - 4*k . j*q . p "x="0",y="0 {{2, 0, 0, 0}, {0, 2, 0, 0}, {0, 0, 2, 0}, {0, 0, 0, 2}} "x="0",y="1 {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}} "x="0",y="2 {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}} "x="0",y="3 {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}} "x="1",y="0 {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}} "x="1",y="1 {{-2, 0, 0, 0}, {0, -2, 0, 0}, {0, 0, -2, 0}, {0, 0, 0, -2}} "x="1",y="2 {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}} 以下x="1"と同パターン

回答No.1

 -p0*q0+p1*q1+p2*q2+p3*q3->-(1/2*(m^2-u)); という文は  -p0*q0+p1*q1+p2*q2+p3*q3->-(1/2*(m^2-t)); に修正する必要があります。さらにs,t,u の間には  s + t + u = 2*m^2 という関係があるので、  t -> 2*m^2 - s - u として、独立変数はsとuの二つになります。  p0^2-p1^2-p2^2-p3^2 = m^2 という関係式の取込み方としては  p0^2-p1^2-p2^2-p3^2->m^2 とするよりは、トレースの計算結果をp0^2-p1^2-p2^2-p3^2 で割ったときの商を q(p,q,k,j)、余りを r(p,q,k,j) としたとき計算結果を  q(p,q,k,j)*m^2 + r(p,q,k,j) で置き換えるようにした方が良いかもしれません。 コンプトン散乱の計算をする前に  Tr{sl(a)sl(b)} = 4(ab)  Tr{sl(a)sl(b)sl(c)sl(d)}   = 4(ab)(cd) -4(ac)(bd) + 4(ad)(bc) やエイチスン=ヘイにあるm=0 とした場合のトレースが正しく計算されることを確認されてはいかがでしょうか。

bamatch
質問者

お礼

お返事ありがとうございます。 このサイトの管理者に質問に問題があると削除され、また、計算が進展せず、悩んでおりました。 あー、もー、本当に有り難いです。毎度、毎度、深謝致します。取り急ぎ、お礼申し上げます。

関連するQ&A