18.3 Additional Expression Types

Two additional expression types are necessary for high energy calculations, namely

18.3.1 Vector Expressions

These follow the normal rules of vector combination. Thus the product of a scalar or numerical expression and a vector expression is a vector, as are the sum and difference of vector expressions. If these rules are not followed, error messages are printed. Furthermore, if the system finds an undeclared variable where it expects a vector variable, it will ask the user in interactive mode whether to make that variable a vector or not. In batch mode, the declaration will be made automatically and the user informed of this by a message.


Assuming P and Q have been declared vectors, the following are vector expressions

        2*x*y*p - p.q*q/(3*q.q)

whereas p*q and p/q are not.

18.3.2 Dirac Expressions

These denote those expressions which involve γ matrices. A γ matrix is implicitly a 4 × 4 matrix, and so the product, sum and difference of such expressions, or the product of a scalar and Dirac expression is again a Dirac expression. There are no Dirac variables in the system, so whenever a scalar variable appears in a Dirac expression without an associated γ matrix expression, an implicit unit 4 by 4 matrix is assumed. For example, g(l,p) + m denotes g(l,p) + m*unit 4 by 4 matrix. Multiplication of Dirac expressions, as for matrix expressions, is of course non-commutative.