37#define _spinmatrix_zero(r) \
38 _spinor_zero_f((r).c[0]); \
39 _spinor_zero_f((r).c[1]); \
40 _spinor_zero_f((r).c[2]); \
41 _spinor_zero_f((r).c[3])
44#define _spinmatrix_assign_row(r, s, i) (r).c[i] = (s)
54#define _spinmatrix_add(r, s, t) \
55 _spinor_add_f((r).c[0], (s).c[0], (t).c[0]); \
56 _spinor_add_f((r).c[1], (s).c[1], (t).c[1]); \
57 _spinor_add_f((r).c[2], (s).c[2], (t).c[2]); \
58 _spinor_add_f((r).c[3], (s).c[3], (t).c[3])
61#define _spinmatrix_sub(r, s, t) \
62 _spinor_sub_f((r).c[0], (s).c[0], (t).c[0]); \
63 _spinor_sub_f((r).c[1], (s).c[1], (t).c[1]); \
64 _spinor_sub_f((r).c[2], (s).c[2], (t).c[2]); \
65 _spinor_sub_f((r).c[3], (s).c[3], (t).c[3])
68#define _spinmatrix_g5(s, r) \
69 _spinor_g5_f((s).c[0], (r).c[0]); \
70 _spinor_g5_f((s).c[1], (r).c[1]); \
71 _spinor_g5_f((s).c[2], (r).c[2]); \
72 _spinor_g5_f((s).c[3], (r).c[3])
75#define _g5_spinmatrix(s, r) \
76 (s).c[0] = (r).c[0]; \
77 (s).c[1] = (r).c[1]; \
78 _spinor_minus_f((s).c[2], (r).c[2]); \
79 _spinor_minus_f((s).c[3], (r).c[3])
82#define _spinmatrix_g0(s, r) \
83 _spinor_g0_f((s).c[0], (r).c[0]); \
84 _spinor_g0_f((s).c[1], (r).c[1]); \
85 _spinor_g0_f((s).c[2], (r).c[2]); \
86 _spinor_g0_f((s).c[3], (r).c[3])
89#define _g0_spinmatrix(s, r) \
90 _spinor_minus_f((s).c[0], (r).c[2]); \
91 _spinor_minus_f((s).c[1], (r).c[3]); \
92 _spinor_minus_f((s).c[2], (r).c[0]); \
93 _spinor_minus_f((s).c[3], (r).c[1])
96#define _spinmatrix_g1(s, r) \
97 _spinor_g1_f((s).c[0], (r).c[0]); \
98 _spinor_g1_f((s).c[1], (r).c[1]); \
99 _spinor_g1_f((s).c[2], (r).c[2]); \
100 _spinor_g1_f((s).c[3], (r).c[3])
103#define _g1_spinmatrix(s, r) \
104 _spinor_i_minus_f((s).c[0], (r).c[3]); \
105 _spinor_i_minus_f((s).c[1], (r).c[2]); \
106 _spinor_i_plus_f((s).c[2], (r).c[1]); \
107 _spinor_i_plus_f((s).c[3], (r).c[0])
110#define _spinmatrix_g2(s, r) \
111 _spinor_g2_f((s).c[0], (r).c[0]); \
112 _spinor_g2_f((s).c[1], (r).c[1]); \
113 _spinor_g2_f((s).c[2], (r).c[2]); \
114 _spinor_g2_f((s).c[3], (r).c[3])
117#define _g2_spinmatrix(s, r) \
118 _spinor_minus_f((s).c[0], (r).c[3]); \
119 _spinor_plus_f((s).c[1], (r).c[2]); \
120 _spinor_plus_f((s).c[2], (r).c[1]); \
121 _spinor_minus_f((s).c[3], (r).c[0])
124#define _spinmatrix_g3(s, r) \
125 _spinor_g3_f((s).c[0], (r).c[0]); \
126 _spinor_g3_f((s).c[1], (r).c[1]); \
127 _spinor_g3_f((s).c[2], (r).c[2]); \
128 _spinor_g3_f((s).c[3], (r).c[3])
131#define _g3_spinmatrix(s, r) \
132 _spinor_i_minus_f((s).c[0], (r).c[2]); \
133 _spinor_i_plus_f((s).c[1], (r).c[3]); \
134 _spinor_i_plus_f((s).c[2], (r).c[0]); \
135 _spinor_i_minus_f((s).c[3], (r).c[1])
138#define _spinmatrix_g0g5(s, r) \
139 _spinor_g0g5_f((s).c[0], (r).c[0]); \
140 _spinor_g0g5_f((s).c[1], (r).c[1]); \
141 _spinor_g0g5_f((s).c[2], (r).c[2]); \
142 _spinor_g0g5_f((s).c[3], (r).c[3])
145#define _g0g5_spinmatrix(s, r) \
146 _spinor_plus_f((s).c[0], (r).c[2]); \
147 _spinor_plus_f((s).c[1], (r).c[3]); \
148 _spinor_minus_f((s).c[2], (r).c[0]); \
149 _spinor_minus_f((s).c[3], (r).c[1]);
152#define _spinmatrix_g5g0(s, r) \
153 _spinor_g5g0_f((s).c[0], (r).c[0]); \
154 _spinor_g5g0_f((s).c[1], (r).c[1]); \
155 _spinor_g5g0_f((s).c[2], (r).c[2]); \
156 _spinor_g5g0_f((s).c[3], (r).c[3])
159#define _g5g0_spinmatrix(s, r) \
160 _spinor_minus_f((s).c[0], (r).c[2]); \
161 _spinor_minus_f((s).c[1], (r).c[3]); \
162 (s).c[2] = (r).c[0]; \
166#define _spinmatrix_g5g1(s, r) \
167 _spinor_g5g1_f((s).c[0], (r).c[0]); \
168 _spinor_g5g1_f((s).c[1], (r).c[1]); \
169 _spinor_g5g1_f((s).c[2], (r).c[2]); \
170 _spinor_g5g1_f((s).c[3], (r).c[3])
173#define _g5g1_spinmatrix(s, r) \
174 _spinor_i_minus_f((s).c[0], (r).c[3]); \
175 _spinor_i_minus_f((s).c[1], (r).c[2]); \
176 _spinor_i_minus_f((s).c[2], (r).c[1]); \
177 _spinor_i_minus_f((s).c[3], (r).c[0])
180#define _spinmatrix_g5g2(s, r) \
181 _spinor_g5g2_f((s).c[0], (r).c[0]); \
182 _spinor_g5g2_f((s).c[1], (r).c[1]); \
183 _spinor_g5g2_f((s).c[2], (r).c[2]); \
184 _spinor_g5g2_f((s).c[3], (r).c[3])
187#define _g5g2_spinmatrix(s, r) \
188 _spinor_minus_f((s).c[0], (r).c[3]); \
189 (s).c[1] = (r).c[2]; \
190 _spinor_minus_f((s).c[2], (r).c[1]); \
194#define _spinmatrix_g5g3(s, r) \
195 _spinor_g5g3_f((s).c[0], (r).c[0]); \
196 _spinor_g5g3_f((s).c[1], (r).c[1]); \
197 _spinor_g5g3_f((s).c[2], (r).c[2]); \
198 _spinor_g5g3_f((s).c[3], (r).c[3])
201#define _g5g3_spinmatrix(s, r) \
202 _spinor_i_minus_f((s).c[0], (r).c[2]); \
203 _spinor_i_plus_f((s).c[1], (r).c[3]); \
204 _spinor_i_minus_f((s).c[2], (r).c[0]); \
205 _spinor_i_plus_f((s).c[3], (r).c[1])
208#define _spinmatrix_g0g1(s, r) \
209 _spinor_g0g1_f((s).c[0], (r).c[0]); \
210 _spinor_g0g1_f((s).c[1], (r).c[1]); \
211 _spinor_g0g1_f((s).c[2], (r).c[2]); \
212 _spinor_g0g1_f((s).c[3], (r).c[3])
215#define _g0g1_spinmatrix(s, r) \
216 _spinor_i_minus_f((s).c[0], (r).c[1]); \
217 _spinor_i_minus_f((s).c[1], (r).c[0]); \
218 _spinor_i_plus_f((s).c[2], (r).c[3]); \
219 _spinor_i_plus_f((s).c[3], (r).c[2])
222#define _spinmatrix_g0g2(s, r) \
223 _spinor_g0g2_f((s).c[0], (r).c[0]); \
224 _spinor_g0g2_f((s).c[1], (r).c[1]); \
225 _spinor_g0g2_f((s).c[2], (r).c[2]); \
226 _spinor_g0g2_f((s).c[3], (r).c[3])
229#define _g0g2_spinmatrix(s, r) \
230 _spinor_minus_f((s).c[0], (r).c[1]); \
231 _spinor_plus_f((s).c[1], (r).c[0]); \
232 _spinor_plus_f((s).c[2], (r).c[3]); \
233 _spinor_minus_f((s).c[3], (r).c[2])
236#define _spinmatrix_g0g3(s, r) \
237 _spinor_g0g3_f((s).c[0], (r).c[0]); \
238 _spinor_g0g3_f((s).c[1], (r).c[1]); \
239 _spinor_g0g3_f((s).c[2], (r).c[2]); \
240 _spinor_g0g3_f((s).c[3], (r).c[3])
243#define _g0g3_spinmatrix(s, r) \
244 _spinor_i_minus_f((s).c[0], (r).c[0]); \
245 _spinor_i_plus_f((s).c[1], (r).c[1]); \
246 _spinor_i_plus_f((s).c[2], (r).c[2]); \
247 _spinor_i_minus_f((s).c[3], (r).c[3])
250#define _spinmatrix_g5g0g1(s, r) \
251 _spinor_g5g0g1_f((s).c[0], (r).c[0]); \
252 _spinor_g5g0g1_f((s).c[1], (r).c[1]); \
253 _spinor_g5g0g1_f((s).c[2], (r).c[2]); \
254 _spinor_g5g0g1_f((s).c[3], (r).c[3])
257#define _g5g0g1_spinmatrix(s, r) \
258 _spinor_i_minus_f((s).c[0], (r).c[1]); \
259 _spinor_i_minus_f((s).c[1], (r).c[0]); \
260 _spinor_i_minus_f((s).c[2], (r).c[3]); \
261 _spinor_i_minus_f((s).c[3], (r).c[2])
264#define _spinmatrix_g5g0g2(s, r) \
265 _spinor_g5g0g2_f((s).c[0], (r).c[0]); \
266 _spinor_g5g0g2_f((s).c[1], (r).c[1]); \
267 _spinor_g5g0g2_f((s).c[2], (r).c[2]); \
268 _spinor_g5g0g2_f((s).c[3], (r).c[3])
271#define _g5g0g2_spinmatrix(s, r) \
272 _spinor_minus_f((s).c[0], (r).c[1]); \
273 (s).c[1] = (r).c[0]; \
274 _spinor_minus_f((s).c[2], (r).c[3]); \
278#define _spinmatrix_g5g0g3(s, r) \
279 _spinor_g5g0g3_f((s).c[0], (r).c[0]); \
280 _spinor_g5g0g3_f((s).c[1], (r).c[1]); \
281 _spinor_g5g0g3_f((s).c[2], (r).c[2]); \
282 _spinor_g5g0g3_f((s).c[3], (r).c[3])
285#define _g5g0g3_spinmatrix(s, r) \
286 _spinor_i_minus_f((s).c[0], (r).c[0]); \
287 _spinor_i_plus_f((s).c[1], (r).c[1]); \
288 _spinor_i_minus_f((s).c[2], (r).c[2]); \
289 _spinor_i_plus_f((s).c[3], (r).c[3])
292#define _spinmatrix_mul_trace(k, r, s) \
295 _spinor_prod_assign_f((k), (r).c[0], (s).c[0]); \
296 _spinor_prod_assign_f((k), (r).c[1], (s).c[1]); \
297 _spinor_prod_assign_f((k), (r).c[2], (s).c[2]); \
298 _spinor_prod_assign_f((k), (r).c[3], (s).c[3]); \
302#define _spinmatrix_mul_trace_assign(k, r, s) \
304 _spinor_prod_assign_f((k), (r).c[0], (s).c[0]); \
305 _spinor_prod_assign_f((k), (r).c[1], (s).c[1]); \
306 _spinor_prod_assign_f((k), (r).c[2], (s).c[2]); \
307 _spinor_prod_assign_f((k), (r).c[3], (s).c[3]); \
310#define _spinmatrix_mul_trace_re(k, r, s) \
314 _spinor_prod_re_f((_tmpVAR), (r).c[0], (s).c[0]); \
316 _spinor_prod_re_f((_tmpVAR), (r).c[1], (s).c[1]); \
318 _spinor_prod_re_f((_tmpVAR), (r).c[2], (s).c[2]); \
320 _spinor_prod_re_f((_tmpVAR), (r).c[3], (s).c[3]); \
Macros for gamma x spinor.
Definition spin_matrix.h:32