CHROMA
transf.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 #ifndef __transf_h__
4 #define __transf_h__
5 
6 #include "qdp_config.h"
7 namespace Chroma
8 {
9  //! Convert (insert) a LatticeColorVector into a LatticeFermion
10  /*!
11  * \ingroup ferm
12  *
13  * \param a Source color std::vector
14  * \param b Destination fermion
15  * \param spin_index Spin index
16  */
17  void CvToFerm(const LatticeColorVectorF& a, LatticeFermionF& b,
18  int spin_index);
19 
20  //! Convert (insert) a LatticeColorVector into a LatticeFermion
21  /*!
22  * \ingroup ferm
23  *
24  * \param a Source color std::vector
25  * \param b Destination fermion
26  * \param spin_index Spin index
27  */
28  void CvToFerm(const LatticeColorVectorD& a, LatticeFermionD& b,
29  int spin_index);
30 
31 
32 
33  //! Convert (insert) a LatticeColorVector into a LatticeStaggeredFermion
34  /*!
35  * \ingroup ferm
36  *
37  * \param a Source color std::vector
38  * \param b Destination fermion
39  * \param spin_index Spin index
40  */
41  void CvToFerm(const LatticeColorVectorF& a, LatticeStaggeredFermionF& b);
42 
43  //! Convert (insert) a LatticeColorVector into a LatticeStaggeredFermion
44  /*!
45  * \ingroup ferm
46  *
47  * \param a Source color std::vector
48  * \param b Destination fermion
49  * \param spin_index Spin index
50  */
51  void CvToFerm(const LatticeColorVectorD& a, LatticeStaggeredFermionD& b);
52 
53  //! Convert a LatticeStaggeredFermion into a LatticeColorVector (extract)
54  /*!
55  * \ingroup ferm
56  *
57  * \param a Source Fermion
58  * \param b Destination ColorVector
59  */
60  void FermToCv(const LatticeStaggeredFermionF& a, LatticeColorVectorF& b);
61 
62  //! Convert a LatticeStaggeredFermion into a LatticeColorVector (extract)
63  /*!
64  * \ingroup ferm
65  *
66  * \param a Source Fermion
67  * \param b Destination ColorVector
68  */
69  void FermToCv(const LatticeStaggeredFermionD& a, LatticeColorVectorD& b);
70 
71 
72  //! Insert a LatticeFermion into a LatticePropagator
73  /*!
74  * \ingroup ferm
75  *
76  * \param a Source fermion
77  * \param b Destination propagator
78  * \param color_index Color index
79  * \param spin_index Spin index
80  */
81  void FermToProp(const LatticeFermionF& a, LatticePropagatorF& b,
82  int color_index, int spin_index);
83 
84  //! Insert a LatticeFermion into a LatticePropagator
85  /*!
86  * \ingroup ferm
87  *
88  * \param a Source fermion
89  * \param b Destination propagator
90  * \param color_index Color index
91  * \param spin_index Spin index
92  */
93  void FermToProp(const LatticeFermionD& a, LatticePropagatorD& b,
94  int color_index, int spin_index);
95 
96 
97 #ifndef QDP_IS_QDPJIT_NO_NVPTX
98  //! Insert a LatticeFermion into a LatticeColorVectorSpinMatrix
99  /*!
100  * \ingroup ferm
101  *
102  * \param a Source fermion
103  * \param b Destination propagator
104  * \param color_index Color index
105  * \param spin_index Spin index
106  */
107  void FermToProp(const LatticeFermionF& a, LatticeColorVectorSpinMatrixF& b,
108  int spin_index);
109 
110  //! Insert a LatticeFermion into a LatticeColorVectorSpinMatrix
111  /*!
112  * \ingroup ferm
113  *
114  * \param a Source fermion
115  * \param b Destination propagator
116  * \param color_index Color index
117  * \param spin_index Spin index
118  */
119  void FermToProp(const LatticeFermionD& a, LatticeColorVectorSpinMatrixD& b,
120  int spin_index);
121 #endif
122 
123  //! Insert a LatticeFermion into a LatticePropagator
124  /*!
125  * \ingroup ferm
126  *
127  * \param a Source fermion
128  * \param b Destination propagator
129  * \param color_index Color index
130  */
131  void FermToProp(const LatticeStaggeredFermionF& a, LatticeStaggeredPropagatorF& b,
132  int color_index);
133 
134  //! Insert a LatticeFermion into a LatticePropagator
135  /*!
136  * \ingroup ferm
137  *
138  * \param a Source fermion
139  * \param b Destination propagator
140  * \param color_index Color index
141  */
142  void FermToProp(const LatticeStaggeredFermionD& a, LatticeStaggeredPropagatorD& b,
143  int color_index);
144 
145 
146 
147  //! Extract a LatticeFermion from a LatticePropagator
148  /*!
149  * \ingroup ferm
150  *
151  * \param a Source propagator
152  * \param b Destination fermion
153  * \param color_index Color index
154  * \param spin_index Spin index
155  */
156  void PropToFerm(const LatticePropagatorF& b, LatticeFermionF& a,
157  int color_index, int spin_index);
158 
159  //! Extract a LatticeFermion from a LatticePropagator
160  /*!
161  * \ingroup ferm
162  *
163  * \param a Source propagator
164  * \param b Destination fermion
165  * \param color_index Color index
166  * \param spin_index Spin index
167  */
168  void PropToFerm(const LatticePropagatorD& b, LatticeFermionD& a,
169  int color_index, int spin_index);
170 
171 
172 
173  //! Extract a LatticeStaggeredFermion from a LatticeStaggeredPropagator
174  /*!
175  * \ingroup ferm
176  *
177  * \param a Source propagator
178  * \param b Destination fermion
179  * \param color_index Color index
180  */
181  void PropToFerm(const LatticeStaggeredPropagatorF& b, LatticeStaggeredFermionF& a,
182  int color_index);
183 
184  //! Extract a LatticeStaggeredFermion from a LatticeStaggeredPropagator
185  /*!
186  * \ingroup ferm
187  *
188  * \param a Source propagator
189  * \param b Destination fermion
190  * \param color_index Color index
191  */
192  void PropToFerm(const LatticeStaggeredPropagatorD& b, LatticeStaggeredFermionD& a,
193  int color_index);
194 }
195 
196 
197 #endif
198 
199 
void CvToFerm(const LatticeColorVectorF &a, LatticeFermionF &b, int spin_index)
Convert (insert) a LatticeColorVector into a LatticeFermion.
Definition: transf.cc:18
void FermToCv(const LatticeStaggeredFermionD &a, LatticeColorVectorD &b)
Convert a LatticeStaggeredFermion into a LatticeColorVector (extract)
Definition: transf.cc:70
void PropToFerm(const LatticePropagatorF &b, LatticeFermionF &a, int color_index, int spin_index)
Extract a LatticeFermion from a LatticePropagator.
Definition: transf.cc:226
void FermToProp(const LatticeFermionF &a, LatticePropagatorF &b, int color_index, int spin_index)
Insert a LatticeFermion into a LatticePropagator.
Definition: transf.cc:98
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
Complex a
Definition: invbicg.cc:95
Complex b
Definition: invbicg.cc:96