HiRep 0.1
Loading...
Searching...
No Matches
gamma_spinor.h
Go to the documentation of this file.
1/***************************************************************************\
2* Copyright (c) 2013, Rudy Arthur, Ari Hietanen *
3* All rights reserved. *
4\***************************************************************************/
5
11#ifndef GAMMA_SPINOR_H
12#define GAMMA_SPINOR_H
13
14#include "suN.h"
15
16#define _spinor_plus_f(out, in) \
17 (out).c[0] = (in).c[0]; \
18 (out).c[1] = (in).c[1]; \
19 (out).c[2] = (in).c[2]; \
20 (out).c[3] = (in).c[3]
21
22#define _spinor_i_plus_f(out, in) \
23 _vector_i_plus_f((out).c[0], (in).c[0]); \
24 _vector_i_plus_f((out).c[1], (in).c[1]); \
25 _vector_i_plus_f((out).c[2], (in).c[2]); \
26 _vector_i_plus_f((out).c[3], (in).c[3])
27
28#define _spinor_i_minus_f(out, in) \
29 _vector_i_minus_f((out).c[0], (in).c[0]); \
30 _vector_i_minus_f((out).c[1], (in).c[1]); \
31 _vector_i_minus_f((out).c[2], (in).c[2]); \
32 _vector_i_minus_f((out).c[3], (in).c[3])
33
34#define _spinor_g0_f(out, in) \
35 _vector_minus_f((out).c[0], (in).c[2]); \
36 _vector_minus_f((out).c[1], (in).c[3]); \
37 _vector_minus_f((out).c[2], (in).c[0]); \
38 _vector_minus_f((out).c[3], (in).c[1])
39
40#define _spinor_g1_f(out, in) \
41 _vector_i_minus_f((out).c[0], (in).c[3]); \
42 _vector_i_minus_f((out).c[1], (in).c[2]); \
43 _vector_i_plus_f((out).c[2], (in).c[1]); \
44 _vector_i_plus_f((out).c[3], (in).c[0])
45
46#define _spinor_g2_f(out, in) \
47 _vector_minus_f((out).c[0], (in).c[3]); \
48 (out).c[1] = (in).c[2]; \
49 (out).c[2] = (in).c[1]; \
50 _vector_minus_f((out).c[3], (in).c[0])
51
52#define _spinor_g3_f(out, in) \
53 _vector_i_minus_f((out).c[0], (in).c[2]); \
54 _vector_i_plus_f((out).c[1], (in).c[3]); \
55 _vector_i_plus_f((out).c[2], (in).c[0]); \
56 _vector_i_minus_f((out).c[3], (in).c[1])
57
58#define _spinor_g0g5_f(out, in) \
59 (out).c[0] = (in).c[2]; \
60 (out).c[1] = (in).c[3]; \
61 _vector_minus_f((out).c[2], (in).c[0]); \
62 _vector_minus_f((out).c[3], (in).c[1])
63
64#define _spinor_g5g0_f(out, in) \
65 _vector_minus_f((out).c[0], (in).c[2]); \
66 _vector_minus_f((out).c[1], (in).c[3]); \
67 (out).c[2] = (in).c[0]; \
68 (out).c[3] = (in).c[1]
69
70#define _spinor_g5g1_f(out, in) \
71 _vector_i_minus_f((out).c[0], (in).c[3]); \
72 _vector_i_minus_f((out).c[1], (in).c[2]); \
73 _vector_i_minus_f((out).c[2], (in).c[1]); \
74 _vector_i_minus_f((out).c[3], (in).c[0])
75
76#define _spinor_g5g2_f(out, in) \
77 _vector_minus_f((out).c[0], (in).c[3]); \
78 (out).c[1] = (in).c[2]; \
79 _vector_minus_f((out).c[2], (in).c[1]); \
80 (out).c[3] = (in).c[0]
81
82#define _spinor_g5g3_f(out, in) \
83 _vector_i_minus_f((out).c[0], (in).c[2]); \
84 _vector_i_plus_f((out).c[1], (in).c[3]); \
85 _vector_i_minus_f((out).c[2], (in).c[0]); \
86 _vector_i_plus_f((out).c[3], (in).c[1])
87
88#define _spinor_g0g1_f(out, in) \
89 _vector_i_minus_f((out).c[0], (in).c[1]); \
90 _vector_i_minus_f((out).c[1], (in).c[0]); \
91 _vector_i_plus_f((out).c[2], (in).c[3]); \
92 _vector_i_plus_f((out).c[3], (in).c[2])
93
94#define _spinor_g0g2_f(out, in) \
95 _vector_minus_f((out).c[0], (in).c[1]); \
96 (out).c[1] = (in).c[0]; \
97 (out).c[2] = (in).c[3]; \
98 _vector_minus_f((out).c[3], (in).c[2])
99
100#define _spinor_g0g3_f(out, in) \
101 _vector_i_minus_f((out).c[0], (in).c[0]); \
102 _vector_i_plus_f((out).c[1], (in).c[1]); \
103 _vector_i_plus_f((out).c[2], (in).c[2]); \
104 _vector_i_minus_f((out).c[3], (in).c[3])
105
106#define _spinor_g5g0g1_f(out, in) \
107 _vector_i_minus_f((out).c[0], (in).c[1]); \
108 _vector_i_minus_f((out).c[1], (in).c[0]); \
109 _vector_i_minus_f((out).c[2], (in).c[3]); \
110 _vector_i_minus_f((out).c[3], (in).c[2])
111
112#define _spinor_g5g0g2_f(out, in) \
113 _vector_minus_f((out).c[0], (in).c[1]); \
114 (out).c[1] = (in).c[0]; \
115 _vector_minus_f((out).c[2], (in).c[3]); \
116 (out).c[3] = (in).c[2]
117
118#define _spinor_g5g0g3_f(out, in) \
119 _vector_i_minus_f((out).c[0], (in).c[0]); \
120 _vector_i_plus_f((out).c[1], (in).c[1]); \
121 _vector_i_minus_f((out).c[2], (in).c[2]); \
122 _vector_i_plus_f((out).c[3], (in).c[3])
123
124#endif