hephys.tex 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. \chapter{Calculations in High Energy Physics}
  2. A set of {\REDUCE} commands is provided for users interested in symbolic
  3. calculations in high energy physics. Several extensions to our basic
  4. syntax are necessary, however, to allow for the different data structures
  5. encountered.
  6. \section{High Energy Physics Operators}
  7. \label{HEPHYS}
  8. We begin by introducing three new operators required in these calculations.
  9. \subsection{. (Cons) Operator}\index{Dot product}
  10. Syntax:
  11. \begin{verbatim}
  12. (EXPRN1:vector_expression)
  13. . (EXPRN2:vector_expression):algebraic.
  14. \end{verbatim}
  15. The binary {\tt .} operator, which is normally used to denote the addition
  16. of an element to the front of a list, can also be used in algebraic mode
  17. to denote the scalar product of two Lorentz four-vectors. For this to
  18. happen, the second argument must be recognizable as a vector expression
  19. \index{High energy vector expression} at the time of
  20. evaluation. With this meaning, this operator is often referred to as the
  21. {\em dot\/} operator. In the present system, the index handling routines all
  22. assume that Lorentz four-vectors are used, but these routines could be
  23. rewritten to handle other cases.
  24. Components of vectors can be represented by including representations of
  25. unit vectors in the system. Thus if {\tt EO} represents the unit vector
  26. {\tt (1,0,0,0)}, {\tt (p.eo)} represents the zeroth component of the
  27. four-vector P. Our metric and notation follows Bjorken and Drell
  28. ``Relativistic Quantum Mechanics'' (McGraw-Hill, New York, 1965).
  29. Similarly, an arbitrary component {\tt P} may be represented by
  30. {\tt (p.u)}. If contraction over components of vectors is required, then
  31. the declaration {\tt INDEX}\ttindex{INDEX} must be used. Thus
  32. \begin{verbatim}
  33. index u;
  34. \end{verbatim}
  35. declares {\tt U} as an index, and the simplification of
  36. \begin{verbatim}
  37. p.u * q.u
  38. \end{verbatim}
  39. would result in
  40. \begin{verbatim}
  41. P.Q
  42. \end{verbatim}
  43. The metric tensor $g^{\mu \nu}$ may be represented by {\tt (u.v)}. If
  44. contraction over {\tt U} and {\tt V} is required, then they should be
  45. declared as indices.
  46. Errors occur if indices are not properly matched in expressions.
  47. If a user later wishes to remove the index property from specific vectors,
  48. he can do it with the declaration {\tt REMIND}.\ttindex{REMIND} Thus
  49. {\tt remind v1...vn;} removes the index flags from the variables {\tt V1}
  50. through {\tt Vn}. However, these variables remain vectors in the system.
  51. \subsection{G Operator for Gamma Matrices}\index{Dirac $\gamma$ matrix}
  52. \ttindex{G}
  53. Syntax:
  54. \begin{verbatim}
  55. G(ID:identifier[,EXPRN:vector_expression])
  56. :gamma_matrix_expression.
  57. \end{verbatim}
  58. {\tt G} is an n-ary operator used to denote a product of $\gamma$ matrices
  59. contracted with Lorentz four-vectors. Gamma matrices are associated with
  60. fermion lines in a Feynman diagram. If more than one such line occurs,
  61. then a different set of $\gamma$ matrices (operating in independent spin
  62. spaces) is required to represent each line. To facilitate this, the first
  63. argument of {\tt G} is a line identification identifier (not a number)
  64. used to distinguish different lines.
  65. Thus
  66. \begin{verbatim}
  67. g(l1,p) * g(l2,q)
  68. \end{verbatim}
  69. denotes the product of {\tt $\gamma$.p} associated with a fermion line
  70. identified as {\tt L1}, and {\tt $\gamma$.q} associated with another line
  71. identified as {\tt L2} and where {\tt p} and {\tt q} are Lorentz
  72. four-vectors. A product of $\gamma$ matrices associated with the same
  73. line may be written in a contracted form.
  74. Thus
  75. \begin{verbatim}
  76. g(l1,p1,p2,...,p3) = g(l1,p1)*g(l1,p2)*...*g(l1,p3) .
  77. \end{verbatim}
  78. The vector {\tt A} is reserved in arguments of G to denote the special
  79. $\gamma$ matrix $\gamma^{5}$. Thus
  80. \begin{quote}
  81. \begin{tabbing}
  82. \ \ \ \ \ {\tt g(l,a)}\hspace{0.2in} \= =\ \ \ $\gamma^{5}$ \hspace{0.5in}
  83. \= associated with the line {\tt L} \\[0.1in]
  84. \ \ \ \ \ {\tt g(l,p,a)} \> =\ \ \ $\gamma$.p $\times \gamma^{5}$ \>
  85. associated with the line {\tt L}.
  86. \end{tabbing}
  87. \end{quote}
  88. $\gamma^{\mu}$ (associated with the line {\tt L}) may be written as
  89. {\tt g(l,u)}, with {\tt U} flagged as an index if contraction over {\tt U}
  90. is required.
  91. The notation of Bjorken and Drell is assumed in all operations involving
  92. $\gamma$ matrices.
  93. \subsection{EPS Operator}\ttindex{EPS}
  94. Syntax:
  95. \begin{verbatim}
  96. EPS(EXPRN1:vector_expression,...,EXPRN4:vector_exp)
  97. :vector_exp.
  98. \end{verbatim}
  99. The operator {\tt EPS} has four arguments, and is used only to denote the
  100. completely antisymmetric tensor of order 4 and its contraction with Lorentz
  101. four-vectors. Thus
  102. \[ \epsilon_{i j k l} = \left\{ \begin{array}{cl}
  103. +1 & \mbox{if $i,j,k,l$ is an even permutation
  104. of 0,1,2,3} \\
  105. -1 & \mbox{if an odd permutation} \\
  106. 0 & \mbox{otherwise}
  107. \end{array}
  108. \right. \]
  109. A contraction of the form $\epsilon_{i j \mu \nu}p_{\mu}q_{\nu}$ may be
  110. written as {\tt eps(i,j,p,q)}, with {\tt I} and {\tt J} flagged as indices,
  111. and so on.
  112. \section{Vector Variables}
  113. Apart from the line identification identifier in the {\tt G} operator, all
  114. other arguments of the operators in this section are vectors. Variables
  115. used as such must be declared so by the type declaration {\tt VECTOR},
  116. \ttindex{VECTOR} for example:
  117. \begin{verbatim}
  118. vector p1,p2;
  119. \end{verbatim}
  120. declares {\tt P1} and {\tt P2} to be vectors. Variables declared as
  121. indices or given a mass\ttindex{MASS} are automatically declared
  122. vector by these declarations.
  123. \section{Additional Expression Types}
  124. Two additional expression types are necessary for high energy
  125. calculations, namely
  126. \subsection{Vector Expressions}\index{High energy vector expression}
  127. These follow the normal rules of vector combination. Thus the product of a
  128. scalar or numerical expression and a vector expression is a vector, as are
  129. the sum and difference of vector expressions. If these rules are not
  130. followed, error messages are printed. Furthermore, if the system finds an
  131. undeclared variable where it expects a vector variable, it will ask the
  132. user in interactive mode whether to make that variable a vector or not. In
  133. batch mode, the declaration will be made automatically and the user
  134. informed of this by a message.
  135. {\tt Examples:}
  136. Assuming {\tt P} and {\tt Q} have been declared vectors, the following are
  137. vector expressions
  138. \begin{verbatim}
  139. p
  140. 2*q/3
  141. 2*x*y*p - p.q*q/(3*q.q)
  142. \end{verbatim}
  143. whereas {\tt p*q} and {\tt p/q} are not.
  144. \subsection{Dirac Expressions}
  145. These denote those expressions which involve $\gamma$ matrices. A $\gamma$
  146. matrix is implicitly a 4 $\times$ 4 matrix, and so the product, sum and
  147. difference of such expressions, or the product of a scalar and Dirac
  148. expression is again a Dirac expression. There are no Dirac variables in
  149. the system, so whenever a scalar variable appears in a Dirac expression
  150. without an associated $\gamma$ matrix expression, an implicit unit 4
  151. by 4 matrix is assumed. For example, {\tt g(l,p) + m} denotes {\tt
  152. g(l,p) + m*<unit 4 by 4 matrix>}. Multiplication of Dirac
  153. expressions, as for matrix expressions, is of course non-commutative.
  154. \section{Trace Calculations}\index{High energy trace}
  155. When a Dirac expression is evaluated, the system computes one quarter of
  156. the trace of each $\gamma$ matrix product in the expansion of the expression.
  157. One quarter of each trace is taken in order to avoid confusion between the
  158. trace of the scalar {\tt M}, say, and {\tt M} representing {\tt M * <unit
  159. 4 by 4 matrix>}. Contraction over indices occurring in such expressions is
  160. also performed. If an unmatched index is found in such an expression, an
  161. error occurs.
  162. The algorithms used for trace calculations are the best available at the
  163. time this system was produced. For example, in addition to the algorithm
  164. developed by Chisholm for contracting indices in products of traces,
  165. {\REDUCE} uses the elegant algorithm of Kahane for contracting indices in
  166. $\gamma$ matrix products. These algorithms are described in Chisholm, J. S.
  167. R., Il Nuovo Cimento X, 30, 426 (1963) and Kahane, J., Journal Math.
  168. Phys. 9, 1732 (1968).
  169. It is possible to prevent the trace calculation over any line identifier
  170. by the declaration {\tt NOSPUR}.\ttindex{NOSPUR} For example,
  171. \begin{verbatim}
  172. nospur l1,l2;
  173. \end{verbatim}
  174. will mean that no traces are taken of $\gamma$ matrix terms involving the line
  175. numbers {\tt L1} and {\tt L2}. However, in some calculations involving
  176. more than one line, a catastrophic error
  177. \begin{verbatim}
  178. This NOSPUR option not implemented
  179. \end{verbatim}
  180. can occur (for the reason stated!) If you encounter this error, please let
  181. us know!
  182. A trace of a $\gamma$ matrix expression involving a line identifier which has
  183. been declared {\tt NOSPUR} may be later taken by making the declaration
  184. {\tt SPUR}.\ttindex{SPUR}
  185. See also the CVIT package for an alternative
  186. mechanism\extendedmanual{ (chapter~\ref{CVIT})}.
  187. \section{Mass Declarations}\ttindex{MASS}
  188. It is often necessary to put a particle ``on the mass shell'' in a
  189. calculation. This can, of course, be accomplished with a {\tt LET}
  190. command such as
  191. \begin{verbatim}
  192. let p.p= m^2;
  193. \end{verbatim}
  194. but an alternative method is provided by two commands {\tt MASS} and
  195. {\tt MSHELL}.\ttindex{MSHELL}
  196. {\tt MASS} takes a list of equations of the form:
  197. \begin{verbatim}
  198. <vector variable> = <scalar variable>
  199. \end{verbatim}
  200. for example,
  201. \begin{verbatim}
  202. mass p1=m, q1=mu;
  203. \end{verbatim}
  204. The only effect of this command is to associate the relevant scalar
  205. variable as a mass with the corresponding vector. If we now say
  206. \begin{verbatim}
  207. mshell <vector variable>,...,<vector variable>;
  208. \end{verbatim}
  209. and a mass has been associated with these arguments, a substitution of the
  210. form
  211. \begin{verbatim}
  212. <vector variable>.<vector variable> = <mass>^2
  213. \end{verbatim}
  214. is set up. An error results if the variable has no preassigned mass.
  215. \section{Example}
  216. We give here as an example of a simple calculation in high energy physics
  217. the computation of the Compton scattering cross-section as given in
  218. Bjorken and Drell Eqs. (7.72) through (7.74). We wish to compute the trace of
  219. $$\left. \alpha^2\over2 \right. \left({k^\prime\over k}\right)^2
  220. \left({\gamma.p_f+m\over2m}\right)\left({\gamma.e^\prime \gamma.e
  221. \gamma.k_i\over2k.p_i} + {\gamma.e\gamma.e^\prime
  222. \gamma.k_f\over2k^\prime.p_i}\right)
  223. \left({\gamma.p_i+m\over2m}\right)$$
  224. $$
  225. \left({\gamma.k_i\gamma.e\gamma.e^\prime\over2k.p_i} +
  226. {\gamma.k_f\gamma.e^\prime\gamma.e\over2k^\prime.p_i}
  227. \right)
  228. $$
  229. where $k_i$ and $k_f$ are the four-momenta of incoming and outgoing photons
  230. (with polarization vectors $e$ and $e^\prime$ and laboratory energies
  231. $k$ and $k^\prime$
  232. respectively) and $p_i$, $p_f$ are incident and final electron four-momenta.
  233. Omitting therefore an overall factor
  234. ${\alpha^2\over2m^2}\left({k^\prime\over k}\right)^2$ we need to find
  235. one quarter of the trace of
  236. $${
  237. \left( \gamma.p_f + m\right)
  238. \left({\gamma.e^\prime \gamma.e\gamma.k_i\over2k.p_i} +
  239. {\gamma.e\gamma.e^\prime \gamma.k_f\over 2k^\prime.p_i}\right) \left(
  240. \gamma.p_i + m\right)}$$
  241. $${
  242. \left({\gamma.k_i\gamma.e\gamma.e^\prime\over 2k.p_i} +
  243. {\gamma.k_f\gamma.e^\prime \gamma.e\over2k^\prime.p_i}\right) }$$
  244. A straightforward REDUCE program for this, with appropriate substitutions
  245. (using {\tt P1} for $p_i$, {\tt PF} for $p_f$, {\tt KI}
  246. for $k_i$ and {\tt KF} for $k_f$) is
  247. \begin{verbatim}
  248. on div; % this gives output in same form as Bjorken and Drell.
  249. mass ki= 0, kf= 0, p1= m, pf= m; vector e,ep;
  250. % if e is used as a vector, it loses its scalar identity as
  251. % the base of natural logarithms.
  252. mshell ki,kf,p1,pf;
  253. let p1.e= 0, p1.ep= 0, p1.pf= m^2+ki.kf, p1.ki= m*k,p1.kf=
  254. m*kp, pf.e= -kf.e, pf.ep= ki.ep, pf.ki= m*kp, pf.kf=
  255. m*k, ki.e= 0, ki.kf= m*(k-kp), kf.ep= 0, e.e= -1,
  256. ep.ep=-1;
  257. for all p let gp(p)= g(l,p)+m;
  258. comment this is just to save us a lot of writing;
  259. gp(pf)*(g(l,ep,e,ki)/(2*ki.p1) + g(l,e,ep,kf)/(2*kf.p1))
  260. * gp(p1)*(g(l,ki,e,ep)/(2*ki.p1) + g(l,kf,ep,e)/
  261. (2*kf.p1))$
  262. write "The Compton cxn is",ws;
  263. \end{verbatim}
  264. (We use {\tt P1} instead of {\tt PI} in the above to avoid confusion with
  265. the reserved variable {\tt PI}).
  266. This program will print the following result
  267. \begin{verbatim}
  268. (-1) (-1) 2
  269. The Compton cxn is 1/2*K*KP + 1/2*K *KP + 2*E.EP - 1
  270. \end{verbatim}
  271. \section{Extensions to More Than Four Dimensions}
  272. In our discussion so far, we have assumed that we are working in the
  273. normal four dimensions of QED calculations. However, in most cases, the
  274. programs will also work in an arbitrary number of dimensions. The command
  275. \ttindex{VECDIM}
  276. \begin{verbatim}
  277. vecdim <expression>;
  278. \end{verbatim}
  279. sets the appropriate dimension. The dimension can be symbolic as well as
  280. numerical. Users should note however, that the {\tt EPS} operator and the
  281. $\gamma_{5}$ symbol ({\tt A}) are not properly defined in other than four
  282. dimensions and will lead to an error if used.