123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369 |
- \section{High Energy Physics}
- \begin{Introduction}{HEPHYS}
- The High-energy Physics package is historic for REDUCE, since REDUCE
- originated as a program to aid in computations with Dirac expressions.
- The commutation algebra of the gamma matrices is independent of their
- representation, and is a natural subject for symbolic mathematics. Dirac
- theory is applied to \IFTEX{$\beta$}{beta} decay and the computation of
- cross-sections and scattering. The high-energy physics operators are
- available in the REDUCE main program, rather than as a module which must
- be loaded.
- \end{Introduction}
- \begin{Operator}[HE-dot]{.}
- The . operator is used to denote the scalar product of two Lorentz
- four-vectors.
- \begin{Syntax}
- \meta{vector} \name{.} \meta{vector}
- \end{Syntax}
- \meta{vector} must be an identifier declared to be of type \name{vector} to have
- the scalar product definition. When applied to arguments that are not
- vectors, the \nameref{cons} operator is used,
- whose symbol is also ``dot.''
- \begin{Examples}
- vector aa,bb,cc; \\
- let aa.bb = 0; \\
- aa.bb; & 0 \\
- aa.cc; & AA.CC \\
- q := aa.cc; & Q := AA.CC \\
- q; & AA.CC
- \end{Examples}
- \begin{Comments}
- Since vectors are special high-energy physics entities that do not contain
- values, the . product will not return a true scalar product. You can
- assign a scalar identifier to the result of a . operation, or assign a .
- operation to have the value of the scalar you supply, as shown above. Note
- that the result of a . operation is a scalar, not a vector.
- The metric tensor g(u,v) can be represented by \name{u.v}. If contraction
- over the indices is required, \name{u} and \name{v} should be declared to
- be of type \nameref{index}.
- The dot operator has the highest precedence of the infix operators, so
- expressions involving . and other operators have the scalar product
- evaluated first before other operations are done.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{EPS}
- The \name{eps} operator denotes the completely antisymmetric tensor of
- order 4 and its contraction with Lorentz four-vectors, as used in
- high-energy physics calculations.
- \begin{Syntax}
- \name{eps}\(\meta{vector-expr},\meta{vector-expr},\meta{vector-expr},
- \meta{vector-expr}\)
- \end{Syntax}
- \meta{vector-expr} must be a valid vector expression, and may be an index.
- \begin{Examples}
- vector g0,g1,g2,g3; \\
- eps(g1,g0,g2,g3); & - EPS(G0,G1,G2,G3); \\
- eps(g1,g2,g0,g3); & EPS(G0,G1,G2,G3); \\
- eps(g1,g2,g3,g1); & 0
- \end{Examples}
- \begin{Comments}
- Vector identifiers are ordered alphabetically by REDUCE. When an odd number
- of transpositions is required to restore the canonical order to the four
- arguments of \name{eps}, the term is ordered and carries a minus sign. When an
- even number of transpositions is required, the term is returned ordered and
- positive. When one of the arguments is repeated, the value 0 is returned.
- A contraction of the form
- \IFTEX{$\epsilon_{ij\mu\nu}p_{\mu}q_{\nu}$}{eps(_i j mu nu p_mu q_nu)}
- is represented by \name{eps(i,j,p,q)} when \name{i} and \name{j} have been
- declared to be of type \nameref{index}.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{G}
- \name{g} is an n-ary operator used to denote a product of gamma matrices
- contracted with Lorentz four-vectors, in high-energy physics.
- \begin{Syntax}
- \name{g}\(\meta{identifier},\meta{vector-expr}
- \{,\meta{vector-expr}\}\optional\)
- \end{Syntax}
- \meta{identifier} is a scalar identifier representing a fermion line
- identifier, \meta{vector-expr} can be any valid vector expression,
- representing a vector or a gamma matrix.
- \begin{Examples}
- vector aa,bb,cc; \\
- vector a; \\
- g(line1,aa,bb); & AA.BB \\
- g(line2,aa,a); & 0 \\
- g(id,aa,bb,cc); & 0 \\
- g(li1,aa,bb) + k; & AA.BB + K \\
- let aa.bb = m*k; \\
- g(ln1,aa)*g(ln1,bb); & K*M \\
- g(ln1,aa)*g(ln2,bb); & 0
- \end{Examples}
- \begin{Comments}
- The vector \name{A} is reserved in arguments of \name{g} to denote the
- special gamma matrix \IFTEX{$\gamma_{5}$}{gamma_5}. It must be declared to
- be a vector before you use it.
- Gamma matrix expressions are associated with fermion lines in a Feynman
- diagram. If more than one line occurs in an expression, the gamma
- matrices involved are separate (operating in independent spin space), as
- shown in the last two example lines above. A product of gamma matrices
- associated with a single line can be entered either as a single \name{g}
- command with several vector arguments, or as products of separate \name{g}
- commands each with a single argument.
- While the product of vectors is not defined, the product, sum and
- difference of several gamma expressions are defined, as is the product of
- a gamma expression with a scalar. If an expression involving gamma
- matrices includes a scalar, the scalar is treated as if it were the
- product of itself with a unit \IFTEX{$4 \times 4$}{4 x 4} matrix.
- Dirac expressions are evaluated by computing the trace of the expression
- using the commutation algebra of gamma matrices. The algorithms used are
- described in articles by J. S. R. Chisholm in \meta{Il Nuovo Cimento X,} Vol.
- 30, p. 426, 1963, and J. Kahane, \meta{Journal of Mathematical Physics},
- Vol. 9, p. 1732, 1968. The trace is then divided by 4 to distinguish
- between the trace of a scalar and the trace of an expression that is the
- product of a scalar with a unit \IFTEX{$4 \times 4$}{4 x 4} matrix.
- Trace calculations may be prevented over any line identifier by declaring it
- to be \nameref{nospur}. If it is later desired to evaluate these traces,
- the declaration can be undone with the \nameref{spur} declaration.
- The notation of Bjorken and Drell, \meta{Relativistic Quantum Mechanics,}
- 1964, is assumed in all operations involving gamma matrices. For an
- example of the use of \name{g} in a calculation, see the \meta{REDUCE
- User's Manual}.
- \end{Comments}
- \end{Operator}
- \begin{Declaration}{INDEX}
- The declaration \name{index} flags a four-vector as an index for subsequent
- high-energy physics calculations.
- \begin{Syntax}
- \name{index} \meta{vector-id}\{,\meta{vector-id}\}\optional
- \end{Syntax}
- \meta{vector-id} must have been declared of type \name{vector}.
- \begin{Examples}
- vector aa,bb,cc; \\
- index uu; \\
- let aa.bb = 0; \\
- (aa.uu)*(bb.uu); & 0 \\
- (aa.uu)*(cc.uu); & AA.CC
- \end{Examples}
- \begin{Comments}
- Index variables are used to represent contraction over components of
- vectors when scalar products are taken by the . operator, as well as
- indicating contraction for the \nameref{eps} operator or metric tensor.
- The special status of a vector as an index can be revoked with the
- declaration \nameref{remind}. The object remains a vector, however.
- \end{Comments}
- \end{Declaration}
- \begin{Command}{MASS}
- The \name{mass} command associates a scalar variable as a mass with
- the corresponding vector variable, in high-energy physics calculations.
- \begin{Syntax}
- \name{mass} \meta{vector-var}\name{=}\meta{scalar-var}
- \{,\meta{vector-var}\name{=}\meta{scalar-var}\}\optional
- \end{Syntax}
- \meta{vector-var} can be a declared vector variable; \name{mass} will declare
- it to be of type \name{vector} if it is not. This may override an existing
- matrix variable by that name. \meta{scalar-var} must be a scalar variable.
- \begin{Examples}
- vector bb,cc; \\
- mass cc=m; \\
- mshell cc; \\
- cc.cc; & M^{2}
- \end{Examples}
- \begin{Comments}
- Once a mass has been attached to a vector with a \name{mass} declaration,
- the \nameref{mshell} declaration puts the associated particle ``on the mass
- shell.'' Subsequent scalar (.) products of the vector with itself will be
- replaced by the square of the mass expression.
- \end{Comments}
- \end{Command}
- \begin{Command}{MSHELL}
- The \name{mshell} command puts particles on the mass shell in high-energy
- physics calculations.
- \begin{Syntax}
- \name{mshell} \meta{vector-var}\{,\meta{vector-var}\}\optional
- \end{Syntax}
- \meta{vector-var} must have had a mass attached to it by a \nameref{mass}
- declaration.
- \begin{Examples}
- vector v1,v2; \\
- mass v1=m,v2=q; \\
- mshell v1; \\
- v1.v1; & M^{2} \\
- v2.v2; & V2.V2 \\
- mshell v2; \\
- v1.v1*v2.v2; & M^{2}*Q^{2}
- \end{Examples}
- \begin{Comments}
- Even though a mass is attached to a vector variable representing a
- particle, the replacement does not take place until the \name{mshell}
- declaration is given for that vector variable.
- \end{Comments}
- \end{Command}
- \begin{Declaration}{NOSPUR}
- The \name{nospur} declaration prevents the trace calculation over the given
- line identifiers in high-energy physics calculations.
- \begin{Syntax}
- \name{nospur} \meta{line-id}\{,\meta{line-id}\}\optional
- \end{Syntax}
- \meta{line-id} is a scalar identifier that will be used as a line identifier.
- \begin{Examples}
- vector a1,b1,c1; \\
- g(line1,a1,b1)*g(line2,b1,c1); & A1.B1*B1.C1 \\
- nospur line2; \\
- g(line1,a1,b1)*g(line2,b1,c1); & A1.B1*G(LINE2,B1,C1)
- \end{Examples}
- \begin{Comments}
- Nospur declarations can be removed by making the declaration \nameref{spur}.
- \end{Comments}
- \end{Declaration}
- \begin{Declaration}{REMIND}
- The \name{remind} declaration removes the special status of its arguments
- as indices, which was set in the \nameref{index} declaration, in
- high-energy physics calculations.
- \begin{Syntax}
- \name{remind} \meta{identifier}\{,\meta{identifier}\}\optional
- \end{Syntax}
- \meta{identifier} must have been declared to be of type \nameref{index}.
- \end{Declaration}
- \begin{Declaration}{SPUR}
- The \name{spur} declaration removes the special exemption from trace
- calculations that was declared by \nameref{nospur}, in high-energy physics
- calculations.
- \begin{Syntax}
- \name{spur} \meta{line-id}\{,\meta{line-id}\}\optional
- \end{Syntax}
- \meta{line-id} must be a line-identifier that has previously been declared
- \name{nospur}.
- \end{Declaration}
- \begin{Command}{VECDIM}
- The command \name{vecdim} changes the vector dimension from 4 to an arbitrary
- integer or symbol. Used in high-energy physics calculations.
- \begin{Syntax}
- \name{vecdim} \meta{dimension}
- \end{Syntax}
- \meta{dimension} must be either an integer or a valid scalar identifier that
- does not have a floating-point value.
- \begin{Comments}
- The \nameref{eps} operator and the \IFTEX{$\gamma_{5}$}{gamma_5}
- symbol (\name{A}) are not properly defined in anything except four
- dimensions and will print an error message if you use them that way. The
- other high-energy physics operators should work without problem.
- \end{Comments}
- \end{Command}
- \begin{Declaration}{VECTOR}
- The \name{vector} declaration declares that its arguments are of type \name{vector}.
- \begin{Syntax}
- \name{vector} \meta{identifier}\{,\meta{identifier}\}\optional
- \end{Syntax}
- \meta{identifier} must be a valid REDUCE identifier. It may have already been
- used for a matrix, array, operator or scalar variable. After an identifier
- has been declared to be a vector, it may not be used as a scalar variable.
- \begin{Comments}
- Vectors are special entities for high-energy physics calculations. You
- cannot put values into their coordinates; they do not have coordinates.
- They are legal arguments for the high-energy physics operators
- \nameref{eps}, \nameref{g} and \name{.} (dot). Vector variables are
- used to represent gamma matrices and gamma matrices contracted with Lorentz
- 4-vectors, since there are no Dirac variables per se in the system.
- Vectors do follow the usual vector rules for arithmetic operations:
- \name{+} and \name{-} operate upon two or more vectors, producing a
- vector; \name{*} and \name{/} cannot be used between vectors; the
- scalar product is represented by the . operator; and the product of a
- scalar and vector expression is well defined, and is a vector.
- You can represent components of vectors by including representations of unit
- vectors in your system. For instance, letting \name{E0} represent the unit
- vector (1,0,0,0), the command
- \name{V1.E0 := 0;}
- would set up the substitution of zero for the first component of the vector
- \name{V1}.
- Identifiers that are declared by the \name{index} and \name{mass} declarations are
- automatically declared to be vectors.
- The following errors can occur in calculations using the high energy
- physics package:
- \name{A represents only gamma5 in vector expressions}
- \begin{quote}
- You have tried to use A in some way other than gamma5 in a
- high-energy physics expression.
- \end{quote}
- \name{Gamma5 not allowed unless vecdim is 4}
- \begin{quote}
- You have used \IFTEX{$\gamma_{5}$}{gamma_5} in a high-energy physics
- computation involving a vector dimension other than 4.
- \end{quote}
- \meta{ID} \name{has no mass}
- \begin{quote}
- One of the arguments to \nameref{mshell} has had no mass assigned to it, in
- high-energy physics calculations.
- \end{quote}
- \name{Missing arguments for G operator}
- \begin{quote}
- A line symbol is missing in a gamma matrix expression in high-energy physics
- calculations.
- \end{quote}
- \name{Unmatched index} \meta{list}
- \begin{quote}
- The parser has found unmatched indices during the evaluation of a
- gamma matrix expression in high-energy physics calculations.
- \end{quote}
- \end{Comments}
- \end{Declaration}
|