REDUCE

18.1 High Energy Physics Operators

We begin by introducing three new operators required in these calculations.

18.1.1 . (Cons) Operator

Syntax:

        (EXPRN1:vector_expression)  
                 . (EXPRN2:vector_expression):algebraic.

The binary . operator, which is normally used to denote the addition of an element to the front of a list, can also be used in algebraic mode to denote the scalar product of two Lorentz four-vectors. For this to happen, the second argument must be recognizable as a vector expression at the time of evaluation. With this meaning, this operator is often referred to as the dot operator. In the present system, the index handling routines all assume that Lorentz four-vectors are used, but these routines could be rewritten to handle other cases.

Components of vectors can be represented by including representations of unit vectors in the system. Thus if EO represents the unit vector (1,0,0,0), (p.eo) represents the zeroth component of the four-vector P. Our metric and notation follows Bjorken and Drell “Relativistic Quantum Mechanics” (McGraw-Hill, New York, 1965). Similarly, an arbitrary component P may be represented by (p.u). If contraction over components of vectors is required, then the declaration INDEX must be used. Thus

        index u;

declares U as an index, and the simplification of

        p.u * q.u

would result in

        P.Q

The metric tensor gμν may be represented by (u.v). If contraction over U and V is required, then they should be declared as indices.

Errors occur if indices are not properly matched in expressions.

If a user later wishes to remove the index property from specific vectors, he can do it with the declaration REMIND. Thus remind v1,…,vn; removes the index flags from the variables V1 through Vn. However, these variables remain vectors in the system.

18.1.2 G Operator for Gamma Matrices

Syntax:

        G(ID:identifier[,EXPRN:vector_expression])  
                :gamma_matrix_expression.

G is an n-ary operator used to denote a product of γ matrices contracted with Lorentz four-vectors. Gamma matrices are associated with fermion lines in a Feynman diagram. If more than one such line occurs, then a different set of γ matrices (operating in independent spin spaces) is required to represent each line. To facilitate this, the first argument of G is a line identification identifier (not a number) used to distinguish different lines.

Thus

        g(l1,p) * g(l2,q)

denotes the product of γ.p associated with a fermion line identified as L1, and γ.q associated with another line identified as L2 and where p and q are Lorentz four-vectors. A product of γ matrices associated with the same line may be written in a contracted form.

Thus

        g(l1,p1,p2,...,p3) = g(l1,p1)*g(l1,p2)*...*g(l1,p3) .

The vector A is reserved in arguments of G to denote the special γ matrix γ5. Thus

g(l,a) = γ5 associated with the line L
   
g(l,p,a)= γ p × γ5associated with the line L.

γμ (associated with the line L) may be written as g(l,u), with U flagged as an index if contraction over U is required.

The notation of Bjorken and Drell is assumed in all operations involving γ matrices.

18.1.3 EPS Operator

Syntax:

         EPS(EXPRN1:vector_expression,...,EXPRN4:vector_exp)  
            :vector_exp.

The operator EPS has four arguments, and is used only to denote the completely antisymmetric tensor of order 4 and its contraction with Lorentz four-vectors. Thus

      (
      {  +1   if i,j,k,l is an even permutation of 0,1,2,3
ϵijkl =   - 1  if i,j,k,l is an odd permutation of 0,1,2,3
      (   0   otherwise

A contraction of the form ϵijμνpμqν may be written as eps(i,j,p,q), with I and J flagged as indices, and so on.