Grid 0.7.0
Fermion.h
Go to the documentation of this file.
1/*************************************************************************************
2
3 Grid physics library, www.github.com/paboyle/Grid
4
5 Source file: ./lib/qcd/action/fermion/Fermion_base_aggregate.h
6
7 Copyright (C) 2015
8
9Author: Peter Boyle <pabobyle@ph.ed.ac.uk>
10
11 This program is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation; either version 2 of the License, or
14 (at your option) any later version.
15
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License along
22 with this program; if not, write to the Free Software Foundation, Inc.,
23 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24
25 See the full license in the file "LICENSE" in the top level distribution directory
26*************************************************************************************/
27/* END LEGAL */
28#pragma once
29
35
63
65// Fermion operators / actions
67#include <Grid/qcd/action/fermion/DWFSlow.h> // Slow DWF
68
69#include <Grid/qcd/action/fermion/WilsonFermion.h> // 4d wilson like
71NAMESPACE_CHECK(Wilson);
73#include <Grid/qcd/action/fermion/WilsonTMFermion.h> // 4d wilson like
75NAMESPACE_CHECK(WilsonTM);
77#include <Grid/qcd/action/fermion/WilsonCloverFermion.h> // 4d wilson clover fermions
78#include <Grid/qcd/action/fermion/CompactWilsonCloverFermion.h> // 4d compact wilson clover fermions
79#include <Grid/qcd/action/fermion/CompactWilsonCloverFermion5D.h> // 5d compact wilson clover fermions
83#include <Grid/qcd/action/fermion/WilsonFermion5D.h> // 5d base used by all 5d overlap types
85NAMESPACE_CHECK(Wilson5D);
87
92NAMESPACE_CHECK(Staggered);
94
95#include <Grid/qcd/action/fermion/CayleyFermion5D.h> // Cayley types
102NAMESPACE_CHECK(DomainWall);
104
110#include <Grid/qcd/action/fermion/ContinuedFractionFermion5D.h> // Continued fraction
113#include <Grid/qcd/action/fermion/PartialFractionFermion5D.h> // Partial fraction
117NAMESPACE_CHECK(Overlap);
120// G5 herm -- this has to live in QCD since dirac matrix is not in the broader sector of code
123
125// Fourier accelerated Pauli Villars inverse support
129NAMESPACE_CHECK(WilsonTM5);
131
133// Move this group to a DWF specific tools/algorithms subdir?
141NAMESPACE_CHECK(DWFutils);
142
145
148
156
161
166
170
172
177
179
187
192
197
206
208
218
223
230
237
242
247
253
262
269
276
283
288
293
299
308
313
321
334
341
353
362
376
386
396
402
407
413
416
420
424
428
433
442
445
449
453
455// Scalar QED actions
456// TODO: this needs to move to another header after rename to Fermion.h
460
461
WilsonClover< WilsonTwoIndexAntiSymmetricImplF > WilsonCloverTwoIndexAntiSymmetricFermionF
Definition Fermion.h:249
ScaledShamirFermion< WilsonImplF > ScaledShamirFermionF
Definition Fermion.h:359
CompactWilsonExpClover< WilsonImplF > CompactWilsonExpCloverFermionF
Definition Fermion.h:280
MobiusFermion< WilsonImplD > MobiusFermionD
Definition Fermion.h:329
DomainWallEOFAFermion< WilsonImplF > DomainWallEOFAFermionF
Definition Fermion.h:317
OverlapWilsonContFracZolotarevFermion< WilsonImplF > OverlapWilsonContFracZolotarevFermionF
Definition Fermion.h:393
CompactWilsonExpClover< WilsonImplD2 > CompactWilsonExpCloverFermionD2
Definition Fermion.h:278
MobiusEOFAFermion< WilsonImplD2 > MobiusEOFAFermionD2
Definition Fermion.h:336
DomainWallEOFAFermion< GparityWilsonImplF > GparityDomainWallEOFAFermionF
Definition Fermion.h:418
CompactWilsonCloverFermion< WImpl, CompactExpCloverHelpers< WImpl > > CompactWilsonExpClover
Definition Fermion.h:261
WilsonCloverFermion< WImpl, CloverHelpers< WImpl > > WilsonClover
Definition Fermion.h:221
CompactWilsonClover< WilsonTwoIndexSymmetricImplD > CompactWilsonCloverTwoIndexSymmetricFermionD
Definition Fermion.h:292
OverlapWilsonCayleyTanhFermion< WilsonImplF > OverlapWilsonCayleyTanhFermionF
Definition Fermion.h:380
NaiveStaggeredFermion< StaggeredImplF > NaiveStaggeredFermionF
Definition Fermion.h:443
MobiusFermion< SpWilsonImplF > SpMobiusFermionF
Definition Fermion.h:331
ZMobiusFermion< ZSpWilsonImplD > SpZMobiusFermionD
Definition Fermion.h:351
MobiusFermion< WilsonImplD2 > MobiusFermionD2
Definition Fermion.h:325
MobiusFermion< GparityWilsonImplF > GparityMobiusFermionF
Definition Fermion.h:426
MobiusFermion< GparityWilsonImplD > GparityMobiusFermionD
Definition Fermion.h:427
WilsonClover< WilsonAdjImplF > WilsonCloverAdjFermionF
Definition Fermion.h:239
WilsonFermion< GparityWilsonImplD > GparityWilsonFermionD
Definition Fermion.h:412
WilsonCloverFermion< WImpl, ExpCloverHelpers< WImpl > > WilsonExpClover
Definition Fermion.h:222
DomainWallEOFAFermion< WilsonImplD > DomainWallEOFAFermionD
Definition Fermion.h:319
WilsonClover< WilsonImplD > WilsonCloverFermionD
Definition Fermion.h:229
WilsonFermion< SpWilsonTwoIndexAntiSymmetricImplF > SpWilsonTwoIndexAntiSymmetricFermionF
Definition Fermion.h:194
MobiusFermion< WilsonImplF > MobiusFermionF
Definition Fermion.h:327
OverlapWilsonPartialFractionZolotarevFermion< WilsonImplF > OverlapWilsonPartialFractionZolotarevFermionF
Definition Fermion.h:404
DomainWallFermion< WilsonImplD2 > DomainWallFermionD2
Definition Fermion.h:307
OverlapWilsonContFracZolotarevFermion< WilsonImplD2 > OverlapWilsonContFracZolotarevFermionD2
Definition Fermion.h:392
WilsonClover< WilsonTwoIndexSymmetricImplF > WilsonCloverTwoIndexSymmetricFermionF
Definition Fermion.h:244
WilsonFermion< WilsonTwoIndexAntiSymmetricImplF > WilsonTwoIndexAntiSymmetricFermionF
Definition Fermion.h:174
WilsonFermion< WilsonAdjImplD > WilsonAdjFermionD
Definition Fermion.h:165
ImprovedStaggeredFermion< StaggeredImplD > ImprovedStaggeredFermionD
Definition Fermion.h:441
CompactWilsonClover< WilsonAdjImplF > CompactWilsonCloverAdjFermionF
Definition Fermion.h:285
WilsonClover< WilsonImplF > WilsonCloverFermionF
Definition Fermion.h:227
MobiusEOFAFermion< WilsonImplF > MobiusEOFAFermionF
Definition Fermion.h:338
MobiusEOFAFermion< GparityWilsonImplD > GparityMobiusEOFAFermionD
Definition Fermion.h:431
WilsonFermion< WilsonImplD2 > WilsonFermionD2
Definition Fermion.h:155
ImprovedStaggeredFermion< StaggeredImplF > ImprovedStaggeredFermionF
Definition Fermion.h:440
WilsonExpClover< WilsonImplF > WilsonExpCloverFermionF
Definition Fermion.h:234
NaiveStaggeredFermion< StaggeredImplD > NaiveStaggeredFermionD
Definition Fermion.h:444
CompactWilsonClover< WilsonImplF > CompactWilsonCloverFermionF
Definition Fermion.h:266
ZMobiusFermion< ZSpWilsonImplF > SpZMobiusFermionF
Definition Fermion.h:349
OverlapWilsonPartialFractionZolotarevFermion< WilsonImplD2 > OverlapWilsonPartialFractionZolotarevFermionD2
Definition Fermion.h:403
WilsonTMFermion< GparityWilsonImplR > GparityWilsonTMFermionD2
Definition Fermion.h:421
WilsonTMFermion< GparityWilsonImplF > GparityWilsonTMFermionF
Definition Fermion.h:422
WilsonFermion< SpWilsonTwoIndexSymmetricImplD > SpWilsonTwoIndexSymmetricFermionD
Definition Fermion.h:205
MobiusEOFAFermion< WilsonImplD > MobiusEOFAFermionD
Definition Fermion.h:340
WilsonFermion< GparityWilsonImplF > GparityWilsonFermionF
Definition Fermion.h:411
WilsonFermion< SpWilsonTwoIndexAntiSymmetricImplD > SpWilsonTwoIndexAntiSymmetricFermionD
Definition Fermion.h:196
WilsonFermion< WilsonTwoIndexAntiSymmetricImplD > WilsonTwoIndexAntiSymmetricFermionD
Definition Fermion.h:176
ImprovedStaggeredFermion5D< StaggeredImplF > ImprovedStaggeredFermion5DF
Definition Fermion.h:446
MobiusZolotarevFermion< WilsonImplD > MobiusZolotarevFermionD
Definition Fermion.h:368
CompactWilsonClover< WilsonTwoIndexAntiSymmetricImplD > CompactWilsonCloverTwoIndexAntiSymmetricFermionD
Definition Fermion.h:297
OverlapWilsonContFracZolotarevFermion< WilsonImplD > OverlapWilsonContFracZolotarevFermionD
Definition Fermion.h:394
WilsonFermion< WilsonImplF > WilsonFermionF
Definition Fermion.h:158
OverlapWilsonCayleyZolotarevFermion< WilsonImplD > OverlapWilsonCayleyZolotarevFermionD
Definition Fermion.h:384
ZMobiusFermion< ZWilsonImplD > ZMobiusFermionD
Definition Fermion.h:347
DomainWallEOFAFermion< GparityWilsonImplD > GparityDomainWallEOFAFermionD
Definition Fermion.h:419
WilsonFermion< WilsonTwoIndexSymmetricImplF > WilsonTwoIndexSymmetricFermionF
Definition Fermion.h:168
CompactWilsonClover< WilsonAdjImplD > CompactWilsonCloverAdjFermionD
Definition Fermion.h:287
CompactWilsonCloverFermion< WImpl, CompactCloverHelpers< WImpl > > CompactWilsonClover
Definition Fermion.h:259
ShamirZolotarevFermion< WilsonImplF > ShamirZolotarevFermionF
Definition Fermion.h:372
ScaledShamirFermion< WilsonImplD > ScaledShamirFermionD
Definition Fermion.h:361
DomainWallFermion< GparityWilsonImplD > GparityDomainWallFermionD
Definition Fermion.h:415
WilsonFermion< WilsonTwoIndexSymmetricImplD > WilsonTwoIndexSymmetricFermionD
Definition Fermion.h:171
WilsonFermion< SpWilsonTwoIndexSymmetricImplF > SpWilsonTwoIndexSymmetricFermionF
Definition Fermion.h:201
CompactWilsonExpClover< WilsonImplD > CompactWilsonExpCloverFermionD
Definition Fermion.h:282
DomainWallFermion< GparityWilsonImplF > GparityDomainWallFermionF
Definition Fermion.h:414
WilsonClover< WilsonTwoIndexAntiSymmetricImplD > WilsonCloverTwoIndexAntiSymmetricFermionD
Definition Fermion.h:251
WilsonFermion< SpWilsonImplD > SpWilsonFermionD
Definition Fermion.h:191
DomainWallFermion< WilsonImplF > DomainWallFermionF
Definition Fermion.h:303
WilsonFermion< WilsonAdjImplF > WilsonAdjFermionF
Definition Fermion.h:163
WilsonTMFermion< WilsonImplF > WilsonTMFermionF
Definition Fermion.h:214
MobiusEOFAFermion< GparityWilsonImplF > GparityMobiusEOFAFermionF
Definition Fermion.h:430
OverlapWilsonPartialFractionTanhFermion< WilsonImplD > OverlapWilsonPartialFractionTanhFermionD
Definition Fermion.h:401
MobiusZolotarevFermion< WilsonImplD2 > MobiusZolotarevFermionD2
Definition Fermion.h:364
WilsonExpClover< WilsonImplD > WilsonExpCloverFermionD
Definition Fermion.h:236
ImprovedStaggeredFermion5D< StaggeredImplD > ImprovedStaggeredFermion5DD
Definition Fermion.h:447
OverlapWilsonCayleyTanhFermion< WilsonImplD > OverlapWilsonCayleyTanhFermionD
Definition Fermion.h:381
CompactWilsonClover5D< WilsonImplF > CompactWilsonCloverFermion5DF
Definition Fermion.h:273
CompactWilsonClover< WilsonImplD2 > CompactWilsonCloverFermionD2
Definition Fermion.h:264
ShamirZolotarevFermion< WilsonImplD2 > ShamirZolotarevFermionD2
Definition Fermion.h:370
OverlapWilsonCayleyTanhFermion< WilsonImplD2 > OverlapWilsonCayleyTanhFermionD2
Definition Fermion.h:379
WilsonTMFermion< GparityWilsonImplD > GparityWilsonTMFermionD
Definition Fermion.h:423
CompactWilsonClover5D< WilsonImplD > CompactWilsonCloverFermion5DD
Definition Fermion.h:275
MobiusZolotarevFermion< WilsonImplF > MobiusZolotarevFermionF
Definition Fermion.h:366
OverlapWilsonPartialFractionZolotarevFermion< WilsonImplD > OverlapWilsonPartialFractionZolotarevFermionD
Definition Fermion.h:405
MobiusEOFAFermion< GparityWilsonImplR > GparityMobiusEOFAFermionD2
Definition Fermion.h:429
WilsonClover< WilsonTwoIndexSymmetricImplD > WilsonCloverTwoIndexSymmetricFermionD
Definition Fermion.h:246
DomainWallEOFAFermion< WilsonImplD2 > DomainWallEOFAFermionD2
Definition Fermion.h:315
OverlapWilsonContFracTanhFermion< WilsonImplD2 > OverlapWilsonContFracTanhFermionD2
Definition Fermion.h:389
DomainWallFermion< SpWilsonImplF > SpDomainWallFermionF
Definition Fermion.h:310
WilsonClover< WilsonImplD2 > WilsonCloverFermionD2
Definition Fermion.h:225
CompactWilsonCloverFermion5D< WImpl, CompactCloverHelpers< WImpl > > CompactWilsonClover5D
Definition Fermion.h:260
CompactWilsonClover5D< WilsonImplD2 > CompactWilsonCloverFermion5DD2
Definition Fermion.h:271
CompactWilsonClover< WilsonTwoIndexAntiSymmetricImplF > CompactWilsonCloverTwoIndexAntiSymmetricFermionF
Definition Fermion.h:295
DomainWallFermion< WilsonImplD > DomainWallFermionD
Definition Fermion.h:305
MobiusFermion< GparityWilsonImplR > GparityMobiusFermionD2
Definition Fermion.h:425
ZMobiusFermion< ZWilsonImplD2 > ZMobiusFermionD2
Definition Fermion.h:343
DomainWallEOFAFermion< GparityWilsonImplR > GparityDomainWallEOFAFermionD2
Definition Fermion.h:417
OverlapWilsonContFracTanhFermion< WilsonImplF > OverlapWilsonContFracTanhFermionF
Definition Fermion.h:390
ShamirZolotarevFermion< WilsonImplD > ShamirZolotarevFermionD
Definition Fermion.h:374
CompactWilsonClover< WilsonImplD > CompactWilsonCloverFermionD
Definition Fermion.h:268
WilsonClover< WilsonAdjImplD > WilsonCloverAdjFermionD
Definition Fermion.h:241
CompactWilsonClover< WilsonTwoIndexSymmetricImplF > CompactWilsonCloverTwoIndexSymmetricFermionF
Definition Fermion.h:290
OverlapWilsonContFracTanhFermion< WilsonImplD > OverlapWilsonContFracTanhFermionD
Definition Fermion.h:391
WilsonFermion< WilsonImplD > WilsonFermionD
Definition Fermion.h:160
OverlapWilsonPartialFractionTanhFermion< WilsonImplD2 > OverlapWilsonPartialFractionTanhFermionD2
Definition Fermion.h:399
OverlapWilsonPartialFractionTanhFermion< WilsonImplF > OverlapWilsonPartialFractionTanhFermionF
Definition Fermion.h:400
ZMobiusFermion< ZWilsonImplF > ZMobiusFermionF
Definition Fermion.h:345
WilsonTMFermion< WilsonImplD2 > WilsonTMFermionD2
Definition Fermion.h:212
WilsonExpClover< WilsonImplD2 > WilsonExpCloverFermionD2
Definition Fermion.h:232
OverlapWilsonCayleyZolotarevFermion< WilsonImplF > OverlapWilsonCayleyZolotarevFermionF
Definition Fermion.h:383
MobiusFermion< SpWilsonImplD > SpMobiusFermionD
Definition Fermion.h:333
WilsonTMFermion< WilsonImplD > WilsonTMFermionD
Definition Fermion.h:216
OverlapWilsonCayleyZolotarevFermion< WilsonImplD2 > OverlapWilsonCayleyZolotarevFermionD2
Definition Fermion.h:382
ScaledShamirFermion< WilsonImplD2 > ScaledShamirFermionD2
Definition Fermion.h:357
DomainWallFermion< SpWilsonImplD > SpDomainWallFermionD
Definition Fermion.h:312
WilsonFermion< SpWilsonImplF > SpWilsonFermionF
Definition Fermion.h:189
#define NAMESPACE_CHECK(x)
Definition Namespace.h:39
#define NAMESPACE_BEGIN(A)
Definition Namespace.h:35
#define NAMESPACE_END(A)
Definition Namespace.h:36