• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Mathematicaでコンプトン散乱計算をするには)

Mathematicaでコンプトン散乱計算をするには

このQ&Aのポイント
  • Mathematicaを使用して、「場の量子論を使ったコンプトン散乱の計算」を行う方法について知りたいです。
  • 竹内薫先生の『アインシュタインとファインマンの理論を学ぶ本』を購入しましたが、コンプトン散乱の計算方法が分かりません。
  • 「場の量子論を使ったコンプトン散乱の計算」に興味があり、既にMathematicaを使用したプログラムや参考書があれば教えてください。

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

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

QEDは数式処理を発展させる原動力の一つになったものです。Compton散乱に限らず、QEDでは微分断面積はファインマン・パラメーター公式を使った積分の計算とガンマ行列の積のトレースの計算に帰着されます。私は使用経験がありませんが、参考URLのプログラムはそのようなものだと思います。

参考URL:
http://library.wolfram.com/infocenter/MathSource/435/
bamatch
質問者

補足

面白そうなプログラムをご教示頂きましてありがとうございます。 プログラムにつきまして下記を教えてください。 1.このプログラムで、何が得られるのでしょうか?  例えば、Compton散乱での断面積とかでしょうか?実際に実行してみますと、式も数値も出ませんでした。 2.このプログラムの式は、場の量子論の本(日本語でお願い致します。)に記載されているでしょうか?記載されていましたら、本の名前と、式が何Pに記載されているか?教えてください。 3.このプログラムに、the Levi-Civita tensorが出てくるのですが、一般相対論で使用されている tensorのはずです。場の量子論でも使用されるのでしょうか?

その他の回答 (17)

回答No.18

計算結果を拝見すると行列要素の二乗や添字の縮約の計算が行われず、入力したものがそのまま出力されているようですが、私はMathematicaのことも知らないしお答えできません。NO.2 のプログラムの使い方についてはHIP.psまたはHIP.dviを参照し、コンプトン散乱を計算する前に In[1]:=PrepareIndex[mu,nu] In[2]:=Contract[G[mu,nu] p[mu],mu] Out[2]:= p[nu] In[3]:=GammaTrace[DiracGamma[mu]**DiracGamma[nu]] Out[3]:=4 G[mu,nu] In[4]:=SetMass[p,mp] In[5]:=SetMass[q,mq] In[6]:=AbsSquared[SpinorUbar[p]**SpinorV[q]] Out[6]:= 4 DotProduct[p,q] - 4 mp mq などを実行してみてプログラムが正常に動いているかどうかを確認することから始めてはいかがでしょうか。

bamatch
質問者

お礼

こんにちは、 教えていただきましたNo.2は、いろいろとやった結果、 In[1]:=PrepareIndex[mu,nu] In[2]:=Contract[G[mu,nu] p[mu],mu] Out[2]:= p[nu] は、何とか計算しましたが、その下の計算は上手く出来ないので止めました。 そこで、竹内先生に教えて頂いたHPを幾つか試したところ http://library.wolfram.com/infocenter/MathSource/839/ が、比較的使い易そうなので、これを使い計算してみました。 計算結果は下記です。 http://www.geocities.jp/goldengold61/TamarA1answer.pdf Mathematicaをお持ちで無いのに、誠に恐縮でございますが教えてください。 1. コンプトン散乱のトレース計算は、上手く出来ましたが、またp^2とq^2がゼロになりませんでした。でも、小さいことなので、今はどうでもいい事にします。 2. ガンマ体操の計算ですが、下記参照願います。 http://www.geocities.jp/goldengold61/img001.pdf   ガンマ体操1,2,10,11,12,13 が駄目です。どのように修正すればよいでしょうか? 3.最後に、コンプトン散乱の振幅を求める計算をしたつもり(?)ですが、これも駄目です。どのように修正すればよいでしょうか?

bamatch
質問者

補足

grothendieckさん、いろいろと御教示戴きましてありがとうございました。 まだ、わからないところがありますが、この質問については取りあえず、 締め切ることにします。「Mathematicaでのスピン1/2粒子の電磁相互作用の計算について」という質問を新たに掲載します。もしよろしければ引き続き御教示戴きましたら幸いです。

回答No.17

どの本にでも書いてある様なことは私に聞かないで本を読んで下さい。最初のご質問「Mathematicaでコンプトン散乱を計算する方法」についてはすでに十分にお答えしたと思います。電磁相互作用をminimal coupling以外で導入することは通常はありません。minimal couplingとは何かが分からないのにminimal coupling以外で導入することがあるということがどうして分かるのですか。

bamatch
質問者

お礼

お返事ありがとうございます。 >どの本にでも書いてある様なことは私に聞かないで本を読んで下さい。 わかりました。しかし、私が現在図書館で借りている「ゲージ理論入門I」と「クオークとレプトン」及びその他の数冊の本には、質問した内容は記載されておりませんでした。表現方法が異なっており、わからなかったのかもしれません。調査不足ですいませんでした。 (ワインバーグの本は、私には難解すぎるので既に図書館に返却しました。) >最初のご質問「Mathematicaでコンプトン散乱を計算する方法」についてはすでに >十分にお答えしたと思います。 非常に恐縮ですが、最期に、No2で教えて頂いたプログラムのsamples.zipのCOMPTONについて教えて下さい。 下記は、そのプログラムを実行した結果ですが、out27-30まで、同じです。このプログラムの使用方法がわかりません。変数に具体的に数値を代入しても駄目ですし、このように利用するのでしょうか? http://www.geocities.jp/goldengold61/COMPTON.pdf

回答No.16

ファインマンダイアグラムで運動量pを持つ内線にはプロパゲータ(pγ + m) を対応させますが、これはDirac方程式のGreen関数に他なりません。   Σu(p,s)u'(p,s) = (pγ + m) (u' はu バー) もu(p)がDirac方程式を満たすから成り立つのです。ファインマンダイアグラムの頂点にeγμ を対応させるのもDirac方程式に相互作用をminimal couplingで導入しているからです。Clifford代数を満たすスピノールはDiracスピノールとMajoranaスピノールしかないのでDiarc方程式の亜流なるものは現在だけでなく将来も存在しません。Majoranaスピノールのファインマンルールがどうなるのかは自分で調べて下さい

bamatch
質問者

お礼

こんにちは、 下記の難しい用語の意味について、教えてください。多分難解な事項なので完全な理解はできないと思われます。数学的には理解できなくても、希望はイメージだけでも掴みたいです。 (1)Dirac方程式に相互作用をminimal couplingで導入するとは、どういう意味でしょうか? (2)Dirac方程式に相互作用をminimal coupling以外で導入する場合もあると思うのですが、  ファインマンダイアグラムの頂点はeγμと比べてどのような形になるのでしょうか? (3)プロパゲータ(pγ + m)とは、何でしょうか? (4)コンプトン散乱の計算は、ファインマン図を眺めながら、規則とおり記号を式に置き換えて、(極端に言えば)式の内容を深く理解していなくても計算が可能ですが、レムシフトや電子磁気異常能率の場合も、同様に比較的簡単に計算できるのでしょうか?

bamatch
質問者

補足

お返事ありがとうございます。 取り敢えず、伝播関数が、Dirac方程式の逆演算子にiをかけたものであることがわかりました。 後はもう少し勉強しますが、Dirac方程式がコンプトン散乱の計算に密接に関わっていることは理解できました。

回答No.15

亜流Dirac方程式というのは何のことか分かりませんが、Clifford代数を満たすスピノールは本流のDirac方程式です。

bamatch
質問者

補足

お返事ありがとうございます。 「亜流Dirac方程式とは、本流のDirac方程式と同様にClifford代数を満たすスピノールを持ち、またγ行列が反交換を満たすが、本流のDirac方程式とは異なるもの。」とした仮の話です。従いまして、現在、亜流Dirac方程式は存在しません。存在しないものの話をしても意味がありませんが、その点は御容赦願います。仮にあった場合の話です。 繰り返しになりますが、その場合、DIRAC方程式であっても亜流DIRAC方程式でも、コンプトン散乱の計算結果は、変わらないのでしょうか? 場の量子論の本を見ますとDIRAC方程式を第二量子化(?)して、量子力学から場の理論に格上げするようなこと(?)を書いていますが、電子と光子のコンプトン散乱の計算をする際は、γ行列または反交換関係だけが必要であり、DIRAC方程式は必要ないのでしょうか? 水素原子のラムシフトや電子の異常磁気能率の計算の場合は、どうでしょうか?

回答No.14

out[245]を見るとk^2が0に置き換わっていません。 y /. k^2 -> 0 とするのではなく、計算した後で % /. k^2 -> 0 とする必要があるのかもしれません。しかしout[245]は正しい計算結果です。電子の質量も0としているので p^2=q^2=0 であることからout[245]でp^2やk^2が入っている項を除くと  8e^4 k[alpha]k[beta]p[beta]q[alpha]/s^2 と非常に簡単になります。ここでマンデルスタム変数  s = (p+k)^2 = 2 p・k の約分をすると  4 e^4 k・q /s になります。さらに運動量保存則  p + k = q + k' より  (p - k' )^2 = (q - k)^2 = -2 k・q となることから  -2 e^4 (p-k')^2 /s という最終的な結果が得られます。p^2=q^2=k^2=0という条件を入れる方法、およびマンデルスタム変数を定義する方法については   T. West;Computer Physics Communications vol. 77, 286 (1993) を参照して下さい。

bamatch
質問者

お礼

お返事ありがとうございます。 >しかしout[245]は正しい計算結果です。 了解しました。この計算結果を、参考にして今後色々とコンプトン散乱等について自分なりに考えてみたいと思います。 >それはともかく大抵の数式処理のプログラムではγ行列などを改めて定義する必要は >ありません。γ行列の具体的な表示が必要になることはあまりなく、必要なのはトレース >の性質です。 同様の内容が、竹内薫先生の『アインシュタインとファインマンの理論を学ぶ本』にも記載してありました。要は、反交換関係だけが成り立てばよいので、4×4のγ行列である必要がないと言うようなことを書かれております。実は、この点が、このコンプトン散乱の計算に興味を持った理由のひとつです。 反交換関係やγ行列の性質につきまして、また質問させて頂くかもしれませんので、よろしくお願い致します。

bamatch
質問者

補足

こんにちは、 電子と光子のコンプトン散乱の計算をする際、γ行列があちこちに 出現するのはわかりましたが、DIRAC方程式は、どこかに 含まれているのでしょうか? 仮に亜流DIRAC方程式が出来て、その方程式で使用される γ行列が、反交換関係を満たせば、DIRAC方程式であっても 亜流DIRAC方程式でも、コンプトン散乱の計算結果は、変わらない のでしょうか? また、もっと難しい水素原子のラムシフトや電子の異常磁気 能率の計算の場合は、どうでしょうか? 結局、DIRAC方程式が生み出したのは、γ行列や反交換関係 だけなのでしょうか?

回答No.13

私はMathematicaの試用期間が過ぎたのでもう計算できなくなりましたが、p'と入れるとpの微分でなく、p’という記号として扱われましたし、% /. k^2 -> 0 とするとk^2を含む項は消去されました。p'が使えないならp'の替わりにq をつかうとか適当に変更して下さい。コンプトン散乱を計算する前に tr[a,b] = 4g[a,b] tr[a,b,c] = 0 tr[p[alpha]alpha,q[beta]beta]= 4p[alpha]q[alpha] tr[k[a]a,k[b]b,p[c]c,q[d]d]=4k^2p[alpha]q[alpha]   などの計算をさせてみてプログラムが正しく動いているかどうかをチェックすることから始めてはいかがでしょうか。p[alpha]とalphaの間に*は要らないと思います。

bamatch
質問者

補足

お返事ありがとうございます。 教えていただきました通り、p'の替わりにqを使い計算しました。結果は下記のHPの通りです。この結果で良いでしょうか?ちなみに、tr[a,b] 等の計算はすべてOKです。 http://www.geocities.jp/goldengold61/Feynpar.pdf

回答No.12

私のNo10の回答にミスがあり、申し訳ありませんでした。入射電子の運動量pと散乱電子の運動量p'を区別して  tr[b,p'[alpha]alpha+m[t],b,p[beta]beta+k[beta]beta+m[t],a,p[gamma]gamma+m[t],a,p[delta]delta+k[delta]delta+m[t]] とする必要があります。また  4*s^2 - m[t]^2 → 4*(s - m[t]^2)^2 も必要です。計算後に  % /. k^2 -> 0 として下さい。マンデルスタム変数sでの約分が自動的に行われるかどうかは分かりません。

bamatch
質問者

お礼

お返事ありがとうございます。 下記の通り計算しました。 m[t] = 0; y = (e^4/(4*(s - m[t]^2)^2))*tr[b, Derivative[1][p][alpha]*alpha + m[t], b, p[beta]*beta + k[beta]*beta + m[t], a, p[gamma]*gamma + m[t], a, p[delta]*delta + k[delta]*delta + m[t]]; FullSimplify[y /. k^2 -> 0] 計算結果は、 (e^4*(32*p^2*k[alpha]*Derivative[1][p][alpha] - 16*k^2*p[alpha]*Derivative[1][p][alpha] + 16*p^2*p[alpha]*Derivative[1][p][alpha] + 32*k[alpha]*k[beta]*p[beta]*Derivative[1][p][alpha]))/(4*s^2) です。変数sでの約分ができませんし、/. k^2 -> 0も効かないです。ちなみに/. k-> 0としますと、kの箇所に“0”と表示して、その項が残ったままとなります。変ですね??? 後、教科書の式と違うように思えるのです。多分、p'とすると、pの微分計算してしまうと為だと思われます。p'の箇所をどのように入力すればよいでしょうか?

回答No.11

 {γμ,γν}≡γμγν + γνγμ なので(6.7)式は g[k1].g[k2]+g[k2].g[k1] ではないかと思いますが、それはともかく大抵の数式処理のプログラムではγ行列などを改めて定義する必要はありません。γ行列の具体的な表示が必要になることはあまりなく、必要なのはトレースの性質です。(6.29)式を定義する必要もありません。というのはスピン和を取ると表示に関係なく  Σu(p,s)u'(p,s) = (pγ + m) (u' はu バー) となるからです。スピン和をとらないときはs=±1が、ヘリシティの固有状態であるときは  Σu(p,s)u'(p,s) = (pγ + m)(1 + sn・σ)/2  にするなどしてトレースの中に入れます。微分断面積をトレースの形にするまでは簡単、大変なのはトレースの形にしてから後の添字の縮約や積分の計算です。 http://it.arXiv.org/abs/hep-ph/9812357 で引用されているプログラムや竹内先生が挙げているプログラムも大半がトレースの形にしてから後の処理をするためのものです。(ゲージ群が非可換になったり高次の摂動になると組み合わせ論的な計算も大変になるので、それをするためのプログラムもありますが)

bamatch
質問者

お礼

お返事ありがとうございます。 式(6.180)をmathematicaで計算しました。本には、電子質量を0にすると記載されてますので、m[t] = 0; としました。 下記にプログラムとその計算結果を記載します。 本の計算結果は、下記です。 e^4/4(s-m^2)^×tr[,,,,] =-2e^4 (p-k’)^2/s 計算結果が異なるのはなぜでしょうか? プログラム m[t] = 0; y = (e^4/(4*s^2 - m[t]^2))*tr[b, p[alpha]*alpha + m[t], b, p[beta]*beta + k[beta]*beta + m[t], a, p[gamma]*gamma + m[t], a, p[delta]*delta + k[delta]*delta + m[t]]; FullSimplify[Expand[y]] 計算結果 (e^4*(-16*k^2*p^2 + 16*p^4 + 32*p^2*k[alpha]*p[alpha] + 32*k[alpha]*k[beta]*p[alpha]*p[beta]))/(4*s^2)

bamatch
質問者

補足

お返事ありがとうございます。 >g[k1].g[k2]+g[k2].g[k1] >ではないかと思いますが、 わかりました。{γμ,γν}≡γμγν - γνγμ ではないのですね。 >微分断面積をトレースの形にするまでは簡単、大変なの >はトレースの形にしてから後の添字の縮約や積分の計算 >です。 わかりました。自分なりに、教科書をある程度理解するつもりで、質問しました。また、教科書に記載されている式を眺めているだけでは、実際に何行何列の行列かわかりにくいので、式のイメージを掴む意味もありました。 と言う事で、また、ご質問させて頂きます。よろしくご指導願います。

回答No.10

Σpμγμ (μについての和)をp・γと書くことにします(通常は「 p スラッシュ」と書かれるもの)。 また u†γ0 をu' と書くことにします(通常は「 u バー」と書かれるもの)。 (6.179)をトレースに変形するのは簡単です。この時基本になる公式は  Σ(sについての和)u(p,s)u'(p,s) = (p・γ + m)   Σ(sについての和)v(p,s)v'(p,s) = (p・γ - m) です。これを使うと、行列の添字を[ij]の様に書いたとき  Σ(s,i,jの和)u(p,s)[i]γa[ij]u'(p,s)[j] = Σ(s,i,jの和)u'(p,s)[j]u(p,s)[i]γa[ij] = Σ(i,jの和)(p・γ + m)[ji]γa[ij] = Tr{(p・γ + m)γa} これが(6.179)を(6,180)に変形できる理由です。 No.1のプログラムではγa はトレースの中では単にa と書き、p・γはp[alpha]alpha のように書きます。また質量は m と書くとγm という意味になってしまうので、m[t]と書くことにすると、(6.180)はμνの替わりにa,b を使うと  tr[b,p[alpha]alpha+m[t],b,p[beta]beta+k[beta]beta+m[t],a,p[gamma]gamma+m[t],a,p[delta]delta+k[delta]delta+m[t]] とすればできるはずです。

bamatch
質問者

補足

お返事ありがとうございます。 もう少し前から始めようと思い、ゲージ理論入門のp186~p189の式をmathematicaの式に置き換えました。 下記を教えてください。 式(6.4)のプログラムは、正しいと思いますが、 式(6.7)、(6.8)のプログラムはこれでよいでしょうか? 式(6.29)のプログラムはどのように導いたらよいでしょうか? 尚、式は、下記HPに手書きしております。 http://www.geocities.jp/goldengold61/docu0009.PDF s[1]={{0,1},{1,0}}; s[2]={{0,-i},{i,0}}; s[3]={{1,0},{0,-1}}; e[1]={{1,0},{0,1}}; e[0]={{0,0},{0,0}}; g[0]={{1,0,0,0},{0,1,0,0},{0,0,-1,0},{0,0,0,-1}}; g[1]={{0,0,0,1},{0,0,1,0},{0,-1,0,0},{-1,0,0,0}}; g[2]={{0,0,0,-i},{0,0,i,0},{0,i,0,0},{-i,0,0,0}}; g[3]={{0,0,1,0},{0,0,0,-1},{-1,0,0,0},{0,1,0,0}}; g[5]=FullSimplify[i*g[0].g[1].g[2].g[3]]; shiki(6.4) For[k=0,k<=3,k++, Print["i=",k,",",g[k].g[k]]; ]; shiki(6.7) For[k1=0,k1<=3,k1++, For[k2=0,k2<=3,k2++, Print["m,n=",k1,",",k2,",",g[k1].g[k2]-g[k2].g[k1]]; ]]; shiki(6.8) Print["a(s)=",a0*g[0]-(a1*g[1]+a2*g[2]+a3*g[3])]; shiki(6.29) For[k=1,k&pound;2,k++, w[k]={e[1],s[1]*p/(E+m)}*j[k]; Print[w[k]]; ];

回答No.9

場の量子論の数式処理については下記URLに総合報告があるのでお読みになると良いでしょう。  スピンが右回りとか左回りという言葉は通常使いませんが、高速の電子と陽電子がヘリシティの固有状態にほぼ対応しているという認識は重要です。実際、No.2のプログラムなどではスピノールにLeftとRightが指定できる様になっています(ヘリシティの固有状態ではなくカイラリティの固有状態ですが)。核物理学では陽子と中性子は強い相互作用に関しては同等でアイソスピンの向きによって区別されます。これと同じ様に電子とニュートリノは「弱いアイソスピン」の向きが異なる状態とみなすのがWeinberg-Salam理論です。このように強引に?「電子もニュートリノも同じ」と見なすこともあるのです。電子もニュートリノも同じで質量0とすれば粒子-反粒子とヘリシティの固有状態が対応することになります。

参考URL:
http://it.arXiv.org/abs/hep-ph/9812357
bamatch
質問者

お礼

こんにちは、ゲージ理論入門を読んで、電子と光子のコンプトン散乱の計算をmathematicaを使用して計算できるように勉強しております。 場の量子論は、もうひとつ理解できませんが、コンプトン散乱等の断面積を求めるには、 1. Feynman図のバーテックスと内線を見る。 2. それに対応する因子の積を作り、振幅を求める。 3. 振幅を断面積の公式に当てはめる。 で、深い理解が無くても、そこそこ計算ができそうであることがわかりました。 しかし、やはりγ体操の箇所が、よくわかりません。 ゲージ理論入門のP216の式(6.179)から(6.180)の導出方法を教えてください。 式が書けないので、下記HPに記載しました。HPは、PDFファイルです。90度 回転して見てください。 http://www.geocities.jp/goldengold61/docu0007.PDF

bamatch
質問者

補足

こんにちは、 下記のお礼の質問ですが、教科書を再度、熟読してみますと、近い式があり、疑問は解けました。お騒がせしました。 別の質問です。 コンプトン散乱等の断面積を求めるには、 1. Feynman図のバーテックスと内線を見る。 2. それに対応する因子の積を作り、振幅を求める。 3. 求めた振幅の式を睨み、計算し易いように、トレースの式に変形する。 4. Mathematicaで、トレースの式を計算し、振幅を求める。  となるように思えるのですが(間違っていましたら訂正願います。)、トレースの式に変形する前の段階、すなわち、Feynman図を見て、それに対応する因子の積を作り、振幅を求めた式(例えば、式(6.179))を使用して、Mathematicaで振幅を計算できないでしょうか? 素人には、トレースの式に変形するのが、かなり難しい作業であるからです。