Go to the documentation of this file. 1#ifndef GENERIC_MAT_VEC_H
2#define GENERIC_MAT_VEC_H
16#define _inline_generic_mult_su3_mat_vec(aa,bb,cc) \
18 cc.elem(0).real() = aa.elem(0,0).real()*bb.elem(0).real() ; \
19 cc.elem(0).real() -= aa.elem(0,0).imag()*bb.elem(0).imag() ; \
21 cc.elem(0).real() += aa.elem(0,1).real()*bb.elem(1).real() ; \
22 cc.elem(0).real() -= aa.elem(0,1).imag()*bb.elem(1).imag() ; \
24 cc.elem(0).real() += aa.elem(0,2).real()*bb.elem(2).real() ; \
25 cc.elem(0).real() -= aa.elem(0,2).imag()*bb.elem(2).imag() ; \
27 cc.elem(0).imag() = aa.elem(0,0).real()*bb.elem(0).imag() ; \
28 cc.elem(0).imag() += aa.elem(0,0).imag()*bb.elem(0).real() ; \
30 cc.elem(0).imag() += aa.elem(0,1).real()*bb.elem(1).imag() ; \
31 cc.elem(0).imag() += aa.elem(0,1).imag()*bb.elem(1).real() ; \
33 cc.elem(0).imag() += aa.elem(0,2).real()*bb.elem(2).imag() ; \
34 cc.elem(0).imag() += aa.elem(0,2).imag()*bb.elem(2).real() ; \
37 cc.elem(1).real() = aa.elem(1,0).real()*bb.elem(0).real() ; \
38 cc.elem(1).real() -= aa.elem(1,0).imag()*bb.elem(0).imag() ; \
40 cc.elem(1).real() += aa.elem(1,1).real()*bb.elem(1).real() ; \
41 cc.elem(1).real() -= aa.elem(1,1).imag()*bb.elem(1).imag() ; \
43 cc.elem(1).real() += aa.elem(1,2).real()*bb.elem(2).real() ; \
44 cc.elem(1).real() -= aa.elem(1,2).imag()*bb.elem(2).imag() ; \
46 cc.elem(1).imag() = aa.elem(1,0).real()*bb.elem(0).imag() ; \
47 cc.elem(1).imag() += aa.elem(1,0).imag()*bb.elem(0).real() ; \
49 cc.elem(1).imag() += aa.elem(1,1).real()*bb.elem(1).imag() ; \
50 cc.elem(1).imag() += aa.elem(1,1).imag()*bb.elem(1).real() ; \
52 cc.elem(1).imag() += aa.elem(1,2).real()*bb.elem(2).imag() ; \
53 cc.elem(1).imag() += aa.elem(1,2).imag()*bb.elem(2).real() ; \
56 cc.elem(2).real() = aa.elem(2,0).real()*bb.elem(0).real() ; \
57 cc.elem(2).real() -= aa.elem(2,0).imag()*bb.elem(0).imag() ; \
59 cc.elem(2).real() += aa.elem(2,1).real()*bb.elem(1).real() ; \
60 cc.elem(2).real() -= aa.elem(2,1).imag()*bb.elem(1).imag() ; \
62 cc.elem(2).real() += aa.elem(2,2).real()*bb.elem(2).real() ; \
63 cc.elem(2).real() -= aa.elem(2,2).imag()*bb.elem(2).imag() ; \
65 cc.elem(2).imag() = aa.elem(2,0).real()*bb.elem(0).imag() ; \
66 cc.elem(2).imag() += aa.elem(2,0).imag()*bb.elem(0).real() ; \
68 cc.elem(2).imag() += aa.elem(2,1).real()*bb.elem(1).imag() ; \
69 cc.elem(2).imag() += aa.elem(2,1).imag()*bb.elem(1).real() ; \
71 cc.elem(2).imag() += aa.elem(2,2).real()*bb.elem(2).imag() ; \
72 cc.elem(2).imag() += aa.elem(2,2).imag()*bb.elem(2).real() ; \
81#define _inline_generic_mult_adj_su3_mat_vec(aa,bb,cc) \
83 cc.elem(0).real() = aa.elem(0,0).real()*bb.elem(0).real() ; \
84 cc.elem(0).real() += aa.elem(0,0).imag()*bb.elem(0).imag() ; \
86 cc.elem(0).real() += aa.elem(1,0).real()*bb.elem(1).real() ; \
87 cc.elem(0).real() += aa.elem(1,0).imag()*bb.elem(1).imag() ; \
89 cc.elem(0).real() += aa.elem(2,0).real()*bb.elem(2).real() ; \
90 cc.elem(0).real() += aa.elem(2,0).imag()*bb.elem(2).imag() ; \
92 cc.elem(0).imag() = aa.elem(0,0).real()*bb.elem(0).imag() ; \
93 cc.elem(0).imag() -= aa.elem(0,0).imag()*bb.elem(0).real() ; \
95 cc.elem(0).imag() += aa.elem(1,0).real()*bb.elem(1).imag() ; \
96 cc.elem(0).imag() -= aa.elem(1,0).imag()*bb.elem(1).real() ; \
98 cc.elem(0).imag() += aa.elem(2,0).real()*bb.elem(2).imag() ; \
99 cc.elem(0).imag() -= aa.elem(2,0).imag()*bb.elem(2).real() ; \
102 cc.elem(1).real() = aa.elem(0,1).real()*bb.elem(0).real() ; \
103 cc.elem(1).real() += aa.elem(0,1).imag()*bb.elem(0).imag() ; \
105 cc.elem(1).real() += aa.elem(1,1).real()*bb.elem(1).real() ; \
106 cc.elem(1).real() += aa.elem(1,1).imag()*bb.elem(1).imag() ; \
108 cc.elem(1).real() += aa.elem(2,1).real()*bb.elem(2).real() ; \
109 cc.elem(1).real() += aa.elem(2,1).imag()*bb.elem(2).imag() ; \
111 cc.elem(1).imag() = aa.elem(0,1).real()*bb.elem(0).imag() ; \
112 cc.elem(1).imag() -= aa.elem(0,1).imag()*bb.elem(0).real() ; \
114 cc.elem(1).imag() += aa.elem(1,1).real()*bb.elem(1).imag() ; \
115 cc.elem(1).imag() -= aa.elem(1,1).imag()*bb.elem(1).real() ; \
117 cc.elem(1).imag() += aa.elem(2,1).real()*bb.elem(2).imag() ; \
118 cc.elem(1).imag() -= aa.elem(2,1).imag()*bb.elem(2).real() ; \
121 cc.elem(2).real() = aa.elem(0,2).real()*bb.elem(0).real() ; \
122 cc.elem(2).real() += aa.elem(0,2).imag()*bb.elem(0).imag() ; \
124 cc.elem(2).real() += aa.elem(1,2).real()*bb.elem(1).real() ; \
125 cc.elem(2).real() += aa.elem(1,2).imag()*bb.elem(1).imag() ; \
127 cc.elem(2).real() += aa.elem(2,2).real()*bb.elem(2).real() ; \
128 cc.elem(2).real() += aa.elem(2,2).imag()*bb.elem(2).imag() ; \
130 cc.elem(2).imag() = aa.elem(0,2).real()*bb.elem(0).imag() ; \
131 cc.elem(2).imag() -= aa.elem(0,2).imag()*bb.elem(0).real() ; \
133 cc.elem(2).imag() += aa.elem(1,2).real()*bb.elem(1).imag() ; \
134 cc.elem(2).imag() -= aa.elem(1,2).imag()*bb.elem(1).real() ; \
136 cc.elem(2).imag() += aa.elem(2,2).real()*bb.elem(2).imag() ; \
137 cc.elem(2).imag() -= aa.elem(2,2).imag()*bb.elem(2).real() ; \