# compton0.wxmx   

    π(+, p1) +  γ(k1, λ1)   -->  π(+, p2)  + γ(k2, λ2)

compton0.wxmx,   Jan. 10, 2018
Edwin (Ted) Woollett, Maxima by Example,  
ch. 12,   Dirac Algebra and Quantum Electrodynamics, ver. 3, "Dirac3"

http://web.csulb.edu/~woollett/ 
woollett@charter.net

compton0.wxm evaluates Compton scattering in the rest frame
of the initial pion (the "lab frame").

 We use Heaviside-Lorentz electromagnetic units.
In general, we follow the conventions in Peskin & Schroeder: Quantum Field Theory.
In particular, the diagonal elements of the metric tensor g^{μ, ν} are diag (g)  = (1, -1, -1, -1).

Following Griffiths and Halzen/Martin, we interpret the Feynman rules
as giving an expression for - i M.

First load the dirac3 package by loading dirac3.mac.

Your maxima-init.mac file should have the lines (if you are working
in c:/work5/ and the dirac3 package files are present in that folder)
( See Ch. 1 of Maxima by Example for a more leisurely discussion)

maxima_userdir: "c:/work5" $
maxima_tempdir : "c:/work5"$
file_search_maxima : append(["c:/work5/###.{mac,mc}"],file_search_maxima )$
file_search_lisp : append(["c:/work5/###.lisp"],file_search_lisp )$

load(dirac3);

## Amplitude for Specified Photon Polarizations λ1 and λ2

We write the amplitude in terms of the symbolic 4-vector product symbol D.
D( pa, pb )  = D ( pb, pa ) is the symbolic 4-vector product of pa and pb.

[As a reference, see Peter Renton,  Electroweak Interactions,  Fig. 4.10 (page 181)
and Eq (4.144) (page 185); translation:  p --> p1,  k --> k1,  p' --> p2,  k' --> k2,
  ε  -->  ε1   ε'  -->  ε2,  q'  --> qp. ]

With our conventions, the amplitude for specific  photon polarizations  λ1, λ2  is

M( λ1, λ2) = -e^2 Mr,
 
and the "reduced amplitude"  Mr = M1 + M2 + M3, where
-------------------------------------------------------------------------
M1 =   D ( ε1, p1 + q)  * D( ε2*, p2 + q ) / (s - m^2),

   where  
   m is the mass of the pion,  
   s = (p1 + k1)^2, 
   q = p1 + k1 = p2 + k2  by conservation of 4-momentum,  
   ε1 = ε (k1, λ1), 
   ε2 = ε (k2, λ2) 
   ε2* is the complex conjugate of  ε2.

M2 =   D ( ε2*, p1 + qp)  * D( ε1, p2 + qp ) / (u - m^2),

    where u = (k2 - p1)^2 = (p1 - k2)^2, qp (q-prime) = p1 - k2 = p2 - k1.

M3 =  - 2 * D ( ε2*, ε1 ). 

The photon polarization 4-vectors ε1 and ε2 obey the Lorentz
 gauge conditions

    D ( k1, ε1 ) = 0,
    D ( k2, ε2 ) = 0,
    D ( k2, ε2* ) = 0.

which imply that M1 and M2 can be simplified to

  M1 = 4 * D ( ε1, p1 )  *  D ( ε2*, p2 ) / ( s - m^2)

   M2 = 4 * D ( ε2*, p1 )  *  D ( ε1, p2 ) / ( u - m^2)

We use gauge freedom within the Lorentz gauge to use 
  a "transverse gauge", such that  ε1^{0} = 0 and ε2^{0} = 0.

We now specialize to the lab frame of the initial pion, in which
p1 = [ m, 0, 0, 0],  so D ( p1, ε1 ) = 0, and  D ( p1, ε2* ) = 0. 

Thus in the lab frame of the initial pion, we have

  Mr ( λ1, λ2)   =   M3   =  - 2 * D ( ε2*, ε1 ). 

Using explicit circular polarization vectors, we can use this to
evaluate the possible (reduced) helicity amplitudes for R --> R,  R --> L,
L --> R, and L --> L  (vide infra).

For specified initial and final polarization states of the photons, we can then write

dsigdo = A_lab * | Mr ( λ1, λ2) |^2  = 4 * A_lab * | D ( ε2*, ε1 ) |^2

where 

A_lab :  (alpha^2 / (4*m^2) ) * (kp/k)^2;

Let ek1 stand for ε1 and ek1c stand for ε1*
Likewise, let ek2 stand for ε2 and ek2c stand for ε2*
then,

dsigdo_lab_pol : A_lab * 4 * D(ek2c,ek1) * D(ek2, ek1c);

## Use comp_def(...) to define the 4-momenta components

These define the 4-momenta components in the initial pion rest frame.

All the particle 3-momentum vectors lie in the z-x plane.

comp_def ( p1 (E1, px, py, pz), ...) for example assigns to the particle
with 4-momentum p1 the energy E1, and the 3-momentum components the
values px, py, and pz.

th, standing for θ, is the angle between the emergent photon k2's
3-momentum vector and the positive z-axis.

We write the components of the emerging pion's 4-momentum  p2 using
conservation of 4-momentum: p1 + k1 = p2 + k2.

assume ( k > 0, kp > 0, th >= 0, th <= %pi )$

comp_def (
            p1( m, 0, 0, 0),
            k1 (k, 0, 0, k),
            k2 (kp, kp*sin(th), 0, kp*cos(th)),
            p2( m + k - kp, - kp*sin(th), 0, k - kp*cos(th)) )$

comp_def creates a separate (zero based)  array for each 4-vector.
Use listarray to see the components

listarray (k2);

k2 [0];

VP(...) is our explicit (rather than symbolic)  "4-vector product"  function.  For example

VP(pa,pa);

grind (%)$

From the definition of s and conservation of 4-momentum, we have

s = (p1 + k1)^2 = m^2 + 2 * D(p1, k1)

s = (p2 + k2)^2 = m^2 + 2 * D(p2, k2),

so D(p1,k1) = D(p2,k2).

We exploit this equality to solve for kp in terms of k, using Maxima's solve function.

eqn : VP(p1,k1) = VP(p2,k2);

solns : solve (eqn,kp);

kp_soln : rhs (solns[1]);

 So we can write the ratio  (kp/k) as   F (m, k, th) in the form:

  (kp/k) =  1 / [ 1 + (k/m) * ( 1 - cos(th)) ]

kp_k_ratio : kp/k, solns;

The minus sign out front goes with the symbol m on top, if we
play with denom and num functions. Let's try to force the minus
sign downstairs and collect terms proportional to k/m.

rd :  -denom(kp_k_ratio);

expand (  %/m);

The dirac3 package function collect_terms (expr, fac) is used here.

collect_terms (%, k/m);

kp_k_ratio :  1 / %;

which achieves our goals for this expression, the ratio of k'/k == kp/k as
a function of k, m, and cos(th)

## dσ/dΩ_lab for specific helicities

Above, we have the expression

dsigdo_lab_pol : A_lab * 4 * D(ek2c,ek1) * D(ek2, ek1c);

In photon2.wxm we derived circular polarization 4-vectors in the "transverse gauge", 
for various cases, and we use those results here to explicitly evaluate the
factor  | D ( ε2*, ε1 ) |^2 which appears above in dsigdo_lab_pol.

Let the circular polarization 4-vector ek1R  describe a right-handed photon whose
3-momentum vector is aligned along the positive z-axis. Likewise, let the circular polarization 
4-vector ek1L  describe a left-handed photon whose 3-momentum vector is aligned along the 
positive z-axis.  Also ek1Rc is the complex-conjugate of ek1R, etc.

arrays;

comp_def (
     ek1R (0, -1/sqrt(2),  -%i/sqrt(2), 0 ),
     ek1L (0,  1/sqrt(2),  -%i/sqrt(2),  0),
     ek1Rc (0, -1/sqrt(2),  %i/sqrt(2), 0 ),
     ek1Lc  (0,  1/sqrt(2),  %i/sqrt(2),  0) )$

arrays;

Let the circular polarization 4-vector ek2R  describe a right-handed photon whose
3-momentum vector is parallel to  [sin(th), 0, cos(th)]. Likewise, let the circular polarization 
4-vector ek2L  describe a left-handed photon whose 3-momentum vector is parallel to  
[sin(th), 0, cos(th)].  Also ek2Rc is the complex-conjugate of ek2R, etc.

comp_def ( ek2R (0, - cos (th)/sqrt(2), - %i/sqrt(2), sin(th)/sqrt(2) ),
                   ek2L (0, cos (th)/sqrt(2), - %i/sqrt(2), - sin(th)/sqrt(2)),
                   ek2Rc (0, - cos (th)/sqrt(2), %i/sqrt(2), sin(th)/sqrt(2) ),
                   ek2Lc (0, cos (th)/sqrt(2), %i/sqrt(2), - sin(th)/sqrt(2)) )$

We can then use VP(a,b) to evaluate the 4-vector dot product (with our metric conventions).
D ( ε2*, ε1 ) is then given by VP (ek2c, ek1) for each of the four helicity cases. These will all turn
out to be real, so we can then square the result to get | D ( ε2*, ε1 ) |^2, which we call Dsq.

VP (ek2Rc, ek1R);

ratsimp(%);

Case R --> R

Dsq_R_R : ratsimp ( VP (ek2Rc, ek1R) )^2;

dsig_do_lab_RR : A_lab * 4 * Dsq_R_R;

Case R --> L

Dsq_R_L : ratsimp ( VP (ek2Lc, ek1R) )^2;

dsig_do_lab_RL : A_lab * 4 * Dsq_R_L;

Case L --> R

Dsq_L_R : ratsimp ( VP (ek2Rc, ek1L) )^2;

dsig_do_lab_LR : A_lab * 4 * Dsq_L_R;

Case L --> L

Dsq_L_L : ratsimp ( VP (ek2Lc, ek1L) )^2;

dsig_do_lab_LL : A_lab * 4 * Dsq_L_L;

## Unpolarized dσ/dΩ_lab 

Since the reduced amplitude for the case  λ1 -->  λ2  is
Mr ( λ1, λ2)   =   M3   =  - 2 * D ( ε2*, ε1 ) we get the unpolarized
differential scattering cross section by averaging over the 
initial polarization λ1 and summing over the final polarization  λ2  the
quantity 4 times the product of D ( ε2*, ε1 ) with D ( ε2, ε1* )

We can then use 

Σ(λ1)  ε1*^{nu}  ε1^{mu} = - g^{nu, mu} = - g^{mu,nu}

and likewise

Σ(λ2)  ε2*_{mu}  ε2_{nu} =  - g_{mu,nu}

and then Σ (mu,nu)  g^{mu,nu} g_{mu,nu} = 4.

Our symbolic metric tensor is Gm (mu, nu); explicit values can
be obtained using noncov.

Gm(0,0);

noncov(%);

Symbolic contraction of repeated indices can be accomplished
using either Con or scon.  

Con ( Gm(mu,nu)*Gm(mu,nu));

Our explicit metric tensor is the array gmet[mu,nu].

gmet[0,0];

Contractions involving explicit metric tensors and/or matrices is
carried out using mcon, and we must supply the contraction indices.

mcon (gmet[mu,nu] * gmet[mu,nu], mu, nu);

So Σ (λ1, λ2)  | Mr (λ1, λ2) |^2 = 16, and 

dsigdo_lab_unpol : (A_lab/2) * 16;

which is proportional to the angle dependent factor (kp/k)^2.