# massive-spin1-pol.wxmx
Explicit Polarization 3-Vectors and 4-Vectors
for a Massive Particle with Spin 1

massive-spin1-pol.wxmx,  June 3, 2019
Edwin (Ted) Woollett, Maxima by Example,  
ch. 12,   Dirac Algebra and Quantum Electrodynamics, ver. 3, "Dirac3"
 http://web.csulb.edu/~woollett/ 
 We use Heaviside-Lorentz electromagnetic units.
In general, we follow the conventions in Peskin & Schroeder: Quantum Field Theory.

load(dirac3);

## Massive Vector boson (V) with pvec = [0, 0, p]

### Linear Polarization 3-Vectors ek1, ek2, ek3

Consider a  massive vector boson (V) moving in the + z direction
with 3-momentum p, with pvec = p z-hat.

Construct a pair of linear polarization 3-vectors ek1 and ek2 such
that each is normalized to 1, they are perpendicular to each other,
and ek1 X ek2 = pvec/p = p-hat = z-hat, using the 3-vector cross product.

ek3 is a linear polarization 3-vector in the direction of p-hat.

We choose ek1 to be the unit vector  x-hat along
the positive x-axis, ek2 is y-hat, the unit vector along
the y-axis, in a right-handed coordinate system.

We are simply defining basis 3-vectors here.

We use our package function vprod(a,b)

pvec : [0, 0, p]$
ek1 : [1, 0, 0]$
ek2 : [0, 1, 0]$
ek3 :  [0,0,1]$

ek1 . ek1;
ek2 . ek2;
ek3 . ek3;
ek1 . ek2;
ek1 . ek3;
ek2 . ek3;

is (equal (vprod (ek1,ek2), ek3));

vprod (ek1, ek2);

fundef (vprod);

fundef (Cross);

### Transverse Circular Polarization 3-Vectors

We now use the usual combinations of the linear polarization
3-vectors to define ekR (right circularly polarized) and
ekL (left circularly polarized) 3-vectors. (See Halzen/Martin, p. 135
and photon2.wxmx).

The 3-vector ekR corresponds to helicity +1, and
the 3-vector ekL corresponds to helicity -1.

ekR : -(ek1 + %i*ek2)/sqrt(2);
ekL : (ek1 - %i*ek2)/sqrt(2);

These complex circular polarization 3-vectors have the " orthonormality" properties:

ekR .  (ekR)^c = 1, where ( )^c stands for complex conjugate,
ekL . (ekL)^c = 1, 
 ekR . (ekL)^c = 0, 

ekR .  conjugate ( ekR);
ekL .  conjugate ( ekL);
ekR .  conjugate ( ekL);
ekL .  conjugate ( ekR);

and are orthogonal to ek3

ekR . ek3;
ekL . ek3;

### Linear Polarization 4-vectors Ek1, Ek2, Ek3

Use comp_def to define four dimensional (zero based) arrays
Ek1 and Ek2 whose zero component is equal to 0. For Ek1 and Ek2 spatial
components we use ek1 and ek2. Then we next need to define
Ek3 in a way that we have a covariant description.

We also define the components of the 4-vector p4

comp_def (
 p4 (E, 0, 0, p),
 Ek1 (0, 1, 0, 0 ),
 Ek2 (0, 0, 1, 0) )$

VP(a, b) is the 4-vector dot product with our metric tensor choice.
We can use VP to explore the "orthonormality" of the linear polarization
4-vectors Ek1 and Ek2, relative to each other and to p4.

With our choice of metric, VP(Ek1,Ek1) = -1 =  VP(Ek2,Ek2)

VP (a, b);

grind(%)$

VP (p4, p4);
VP (Ek1, Ek1);
VP (Ek2, Ek2);
VP (Ek1, Ek2);
VP (Ek1, p4);
VP (Ek2, p4);

psq_to_Esq ( VP(p4, p4), p, E, m);

We seek a third linear polarization 4-vector Ek3 with the four properties
VP(Ek3,Ek3) = -1,  VP (Ek3, p4) = 0, VP(Ek3,Ek1) = 0, VP(Ek3,Ek2) = 0.

We start by defining the array Ek3 to depend on four unknown constants
a,b,c,d.

comp_def(Ek3(a,b,c,d))$

listarray(Ek3);

We now define four equations we can use with solve.

eq1 : VP(Ek3,Ek3) = -1;

eq2 : VP(Ek3,p4) = 0;

eq3 : VP(Ek3,Ek1) = 0;

eq4 : VP(Ek3,Ek2) = 0;

solns : solve ([eq1,eq2,eq3,eq4],[a,b,c,d]);

We can make use of E^2 = m^2 + p^2 by hand, or make use of some of our
package functions, just for fun.

The function Ep_to_m(expr, p,E,m) replaces the product of the square roots.

fundef (Ep_to_m);

grind(%)$

Ep_to_m(sqrt(E-p)*sqrt(E+p), p,E,m);

solns : Ep_to_m(solns, p,E,m);

The function Esq_to_psq does the rest of the job.

fundef (Esq_to_psq);

solns : Esq_to_psq(solns,p,E,m);

We choose the solution with positive elements rather than negative elements.

soln : solns[2];

Now we can redefine the array Ek3, using comp_def again, taking into account 
our four conditions which have led to the list soln.

comp_def(Ek3(a,b,c,d)), soln$

Let's check what we have:

listarray(Ek3);

### Transverse Circular Polarization 4-vectors epsR and epsL

We define transverse complex circular polarization 4-vectors epsR and
epsL in terms of transverse  linear polarization 4-vectors Ek1 and Ek2.

epsR = - (Ek1 + %i*Ek2) / sqrt(2)

epsL =  (Ek1 - %i*Ek2) / sqrt(2)

and the complex conjugates of epsR and epsL:

epsRc = conjugate (epsR) =  - (Ek1 - %i*Ek2) / sqrt(2)

epsLc = conjugate (epsL) = (Ek1 + %i*Ek2) / sqrt(2)

comp_def (
     epsR (0, -1/sqrt(2),  -%i/sqrt(2), 0 ),
     epsL (0,  1/sqrt(2),  -%i/sqrt(2),  0),
     epsRc (0, -1/sqrt(2),  %i/sqrt(2), 0 ),
     epsLc  (0,  1/sqrt(2),  %i/sqrt(2),  0) )$

map ('listarray, [epsR, epsL, epsRc, epsLc] );

All are 4-orthogonal to the 4-vector p4

VP (epsR, p4);
VP (epsL, p4);
VP (epsRc, p4);
VP (epsLc, p4);

and, of course, the real 4-vector Ek3 was designed to be 4-orthogonal to p4

VP(Ek3,p4);

mutual orthonormality properties for complex polarization
4-vectors (summation convention on repeated Lorentz
indices)

epsR ^{μ} epsRc_{μ} = -1

epsL ^{μ} epsLc_{μ} = -1

epsR ^{μ} epsLc_{μ} = 0

epsL ^{μ} epsRc_{μ} = 0

Ek3^{μ} Ek3_{μ} = -1

VP (epsR, epsRc);
VP (epsL, epsLc);
VP (epsR, epsLc);
VP (epsL, epsRc);

Check normalization and orthogonality of  real 4-vector Ek3.

VP(Ek3,Ek3);
VP(Ek3,p4);
VP(Ek3, epsR);
VP(Ek3, epsL);

To get the ' -1 ' norm we need to massage the result of VP.

( VP (Ek3, Ek3), Esq_to_psq(%%, p, E, m) );

Or just do it directly using ratsubst:

ratsubst (m^2 + p^2, E^2,  VP (Ek3, Ek3));

### Check the Completeness Relation for this Case

check the completeness relation for this example of polarization
4-vectors (see Thomson p. 531 or H/M p. 139):

Σ(λ) ε^{μ} (p4, λ)   conjugate ( ε^{ν} (p4, λ) ) = - g^{μ, ν}  + (1/m^2)  p4^{μ}  p4^{ν}

Bringing all terms to the lefthand side, we define C(mu,nu) below, all of whose
terms should then equal 0.

listarray(epsR);

listarray(epsRc);

conjugate (epsR[2]);

gmet[0,0];

listarray (p4);

The polarization 4-vector Eps(1) describes the polarization state |S, Sz> = |1, 1>
The polarization 4-vector Eps(0) describes the polarization state |S, Sz> = |1, 0>
The polarization 4-vector Eps(-1) describes the polarization state |S, Sz> = |1, -1>

Eps(lam) := (if lam = 1 then epsR 
         else if lam = 0 then Ek3 
         else if lam = -1 then epsL
         else ( print (" error "),  done) ) $

Eps(1) [2];

conjugate ( Eps(1) [2] );

listarray (p4);

C(mu,nu) := sum (Eps(lam)[mu] * conjugate (Eps(lam)[nu]), lam, -1, 1 ) + gmet[mu,nu] 
    - p4[mu] * p4[nu] / m^2 $

C(0,0);

Esq_to_psq (%, p,E,m);

let's include this simplification in the definition of C(mu,nu).

C(mu,nu) :=  
     ( sum (Eps(lam)[mu] * conjugate (Eps(lam)[nu]), lam, -1, 1 ) + gmet[mu,nu] 
                                        - p4[mu] * p4[nu] / m^2,
      Esq_to_psq (%%, p,E,m) )$

C (0, 0);

Now we test all sixteen combinations of mu and nu:

for i:0 thru 3 do
    for j:0 thru 3 do
        if C(i, j) # 0 then print (i, j, C(i,j));

which confirms the advertised completeness relation for this example.