重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

竹内薫先生の『アインシュタインとファインマンの理論を学ぶ本』を買いました。
早速、「場の量子論を使ったコンプトン散乱の計算」の箇所を読んだのですが、さっぱり わかりませんでした。しかし、何か、面白そうな計算であることは、わかりました。
Mathematicaを使用して、上述の「場の量子論を使ったコンプトン散乱の計算」をやってみたいのですが、参考になる本(簡単であること)や既に、Mathematicaを使用して計算したプログラムはないでしょうか?

目的は、ただ「場の量子論を使ったコンプトン散乱の計算」をしたいだけです。場の量子論の途中でガザガザ出てくる式の証明等は全く不要です。計算する式だけがわかればよいのです。

A 回答 (18件中1~10件)

QEDは数式処理を発展させる原動力の一つになったものです。

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

参考URL:http://library.wolfram.com/infocenter/MathSource …

この回答への補足

面白そうなプログラムをご教示頂きましてありがとうございます。

プログラムにつきまして下記を教えてください。

1.このプログラムで、何が得られるのでしょうか?  例えば、Compton散乱での断面積とかでしょうか?実際に実行してみますと、式も数値も出ませんでした。

2.このプログラムの式は、場の量子論の本(日本語でお願い致します。)に記載されているでしょうか?記載されていましたら、本の名前と、式が何Pに記載されているか?教えてください。

3.このプログラムに、the Levi-Civita tensorが出てくるのですが、一般相対論で使用されている tensorのはずです。場の量子論でも使用されるのでしょうか?

補足日時:2005/07/20 23:37
    • good
    • 0

計算結果を拝見すると行列要素の二乗や添字の縮約の計算が行われず、入力したものがそのまま出力されているようですが、私は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
などを実行してみてプログラムが正常に動いているかどうかを確認することから始めてはいかがでしょうか。

この回答への補足

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

補足日時:2005/08/27 18:11
    • good
    • 0
この回答へのお礼

こんにちは、
教えていただきました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 …
が、比較的使い易そうなので、これを使い計算してみました。
計算結果は下記です。
http://www.geocities.jp/goldengold61/TamarA1answ …


Mathematicaをお持ちで無いのに、誠に恐縮でございますが教えてください。
1.コンプトン散乱のトレース計算は、上手く出来ましたが、またp^2とq^2がゼロになりませんでした。でも、小さいことなので、今はどうでもいい事にします。
2.ガンマ体操の計算ですが、下記参照願います。
http://www.geocities.jp/goldengold61/img001.pdf

  ガンマ体操1,2,10,11,12,13 が駄目です。どのように修正すればよいでしょうか?

3.最後に、コンプトン散乱の振幅を求める計算をしたつもり(?)ですが、これも駄目です。どのように修正すればよいでしょうか?

お礼日時:2005/08/20 18:06

どの本にでも書いてある様なことは私に聞かないで本を読んで下さい。

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

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

>どの本にでも書いてある様なことは私に聞かないで本を読んで下さい。
わかりました。しかし、私が現在図書館で借りている「ゲージ理論入門I」と「クオークとレプトン」及びその他の数冊の本には、質問した内容は記載されておりませんでした。表現方法が異なっており、わからなかったのかもしれません。調査不足ですいませんでした。
(ワインバーグの本は、私には難解すぎるので既に図書館に返却しました。)


>最初のご質問「Mathematicaでコンプトン散乱を計算する方法」についてはすでに
>十分にお答えしたと思います。
非常に恐縮ですが、最期に、No2で教えて頂いたプログラムのsamples.zipのCOMPTONについて教えて下さい。

下記は、そのプログラムを実行した結果ですが、out27-30まで、同じです。このプログラムの使用方法がわかりません。変数に具体的に数値を代入しても駄目ですし、このように利用するのでしょうか?


http://www.geocities.jp/goldengold61/COMPTON.pdf

お礼日時:2005/08/19 21:56

ファインマンダイアグラムで運動量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スピノールのファインマンルールがどうなるのかは自分で調べて下さい

この回答への補足

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

取り敢えず、伝播関数が、Dirac方程式の逆演算子にiをかけたものであることがわかりました。

後はもう少し勉強しますが、Dirac方程式がコンプトン散乱の計算に密接に関わっていることは理解できました。

補足日時:2005/08/18 00:47
    • good
    • 0
この回答へのお礼

こんにちは、
下記の難しい用語の意味について、教えてください。多分難解な事項なので完全な理解はできないと思われます。数学的には理解できなくても、希望はイメージだけでも掴みたいです。

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

お礼日時:2005/08/19 12:29

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

この回答への補足

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

「亜流Dirac方程式とは、本流のDirac方程式と同様にClifford代数を満たすスピノールを持ち、またγ行列が反交換を満たすが、本流のDirac方程式とは異なるもの。」とした仮の話です。従いまして、現在、亜流Dirac方程式は存在しません。存在しないものの話をしても意味がありませんが、その点は御容赦願います。仮にあった場合の話です。


繰り返しになりますが、その場合、DIRAC方程式であっても亜流DIRAC方程式でも、コンプトン散乱の計算結果は、変わらないのでしょうか?

場の量子論の本を見ますとDIRAC方程式を第二量子化(?)して、量子力学から場の理論に格上げするようなこと(?)を書いていますが、電子と光子のコンプトン散乱の計算をする際は、γ行列または反交換関係だけが必要であり、DIRAC方程式は必要ないのでしょうか?

水素原子のラムシフトや電子の異常磁気能率の計算の場合は、どうでしょうか?

補足日時:2005/08/17 12:35
    • good
    • 0

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)
を参照して下さい。

この回答への補足

こんにちは、

電子と光子のコンプトン散乱の計算をする際、γ行列があちこちに
出現するのはわかりましたが、DIRAC方程式は、どこかに
含まれているのでしょうか?
仮に亜流DIRAC方程式が出来て、その方程式で使用される
γ行列が、反交換関係を満たせば、DIRAC方程式であっても
亜流DIRAC方程式でも、コンプトン散乱の計算結果は、変わらない
のでしょうか?

また、もっと難しい水素原子のラムシフトや電子の異常磁気
能率の計算の場合は、どうでしょうか?

結局、DIRAC方程式が生み出したのは、γ行列や反交換関係
だけなのでしょうか?

補足日時:2005/08/16 23:17
    • good
    • 0
この回答へのお礼

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

>しかしout[245]は正しい計算結果です。
了解しました。この計算結果を、参考にして今後色々とコンプトン散乱等について自分なりに考えてみたいと思います。

>それはともかく大抵の数式処理のプログラムではγ行列などを改めて定義する必要は
>ありません。γ行列の具体的な表示が必要になることはあまりなく、必要なのはトレース
>の性質です。

同様の内容が、竹内薫先生の『アインシュタインとファインマンの理論を学ぶ本』にも記載してありました。要は、反交換関係だけが成り立てばよいので、4×4のγ行列である必要がないと言うようなことを書かれております。実は、この点が、このコンプトン散乱の計算に興味を持った理由のひとつです。
反交換関係やγ行列の性質につきまして、また質問させて頂くかもしれませんので、よろしくお願い致します。

お礼日時:2005/08/16 09:57

私は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の間に*は要らないと思います。

この回答への補足

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

教えていただきました通り、p'の替わりにqを使い計算しました。結果は下記のHPの通りです。この結果で良いでしょうか?ちなみに、tr[a,b] 等の計算はすべてOKです。


http://www.geocities.jp/goldengold61/Feynpar.pdf

補足日時:2005/08/16 00:17
    • good
    • 0

私の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での約分が自動的に行われるかどうかは分かりません。
    • good
    • 0
この回答へのお礼

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


下記の通り計算しました。

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'の箇所をどのように入力すればよいでしょうか?

お礼日時:2005/08/15 19:51

 {γμ,γν}≡γμγν + γνγμ


なので(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
で引用されているプログラムや竹内先生が挙げているプログラムも大半がトレースの形にしてから後の処理をするためのものです。(ゲージ群が非可換になったり高次の摂動になると組み合わせ論的な計算も大変になるので、それをするためのプログラムもありますが)

この回答への補足

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

>g[k1].g[k2]+g[k2].g[k1]
>ではないかと思いますが、

わかりました。{γμ,γν}≡γμγν - γνγμ ではないのですね。

>微分断面積をトレースの形にするまでは簡単、大変なの
>はトレースの形にしてから後の添字の縮約や積分の計算
>です。

わかりました。自分なりに、教科書をある程度理解するつもりで、質問しました。また、教科書に記載されている式を眺めているだけでは、実際に何行何列の行列かわかりにくいので、式のイメージを掴む意味もありました。

と言う事で、また、ご質問させて頂きます。よろしくご指導願います。

補足日時:2005/08/14 12:45
    • good
    • 0
この回答へのお礼

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

式(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)

お礼日時:2005/08/15 11:31

Σ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]]
とすればできるはずです。

この回答への補足

お返事ありがとうございます。
もう少し前から始めようと思い、ゲージ理論入門の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]];
];

補足日時:2005/08/13 12:23
    • good
    • 0

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