Hello! On Fri, Aug 03, 2007 at 11:22:56AM -0700, J. gallardo wrote:
I'm trying to write an expression wich uses a Dirac " gamma 0 " for calculations on spin polarization projector, the line looks like:
ex XAA=dirac_slash(0)* dirac_slash(k,4)*proj1* dirac_slash(E,4)* (dirac_slash(p,4)+ m * dirac_ONE()) * dirac_slash(E,4) * dirac_slash(k,4)*proj1* dirac_slash(E1,4) * (dirac_slash(p1,4)+m * dirac_ONE());
Write your expression in Lorentz-invariant way: ex XAA=dirac_slash(P0, 4)*dirac_slash(k,4)*proj1* dirac_slash(E,4)* (dirac_slash(p,4)+ m*dirac_ONE())*dirac_slash(E,4)* dirac_slash(k,4)*proj1*dirac_slash(E1,4)*(dirac_slash(p1,4)+m*dirac_ONE()); ex result = dirac_trace(XAA).expand(expand_options::expand_indexed); // or whatever And calculate invariant combinations in whatever reference frame: scalar_products sp; symbol k0("k0"), E10("E10), p10("p10"), E0("E0"); sp.add(P0, k, k0); sp.add(P0, p, p0); sp.add(P0, E1, E10); sp.add(P0, E, E0); // add something for p*k and so on... result = result.simplify_indexed(sp); Another possible variant is (I don't recommend it): varidx mu(symbol(mu), 4); ex XAA=dirac_gamma(mu)*dirac_slash(k,4)*proj1* dirac_slash(E,4)* (dirac_slash(p,4)+ m*dirac_ONE())*dirac_slash(E,4)* dirac_slash(k,4)*proj1*dirac_slash(E1,4)*(dirac_slash(p1,4)+m*dirac_ONE()); XAA = XAA.subs(mu==0); Best regards, Alexei -- All science is either physics or stamp collecting.