CHROMA
reunit.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*! \file
4  * \ingroup gauge
5  * \author Subsetting added by A. Hart
6  * \param[in,out] xa The descriptor of matrices to be reunitarized.
7  * Must be of type LatticeColorMatrix
8  * \param[in] bad Descriptor of flags indicating sites violating unitarity.
9  * Only used if ruflag = REUNITARIZE_LABEL or
10  * REUNITARIZE_ERROR.
11  * \param[in] ruflag Can also be REUNITARIZE in which case the
12  * matrices are reunitarized but no complaints are made.
13  * \param[out] numbad Total number of matrices violating unitarity.
14  * ONLY USED IF ruflag is testing for ERROR or LABEL.
15  * \param[in] mstag An (un)ordered subset of sites
16  * \brief Reunitarize in place a color matrix to SU(N)
17  *
18  * Reunitarize (to a SU(N)) inplace the matrix XA under some option
19  */
20 
21 #ifndef __reunit_h__
22 #define __reunit_h__
23 
24 namespace Chroma {
25  namespace ReunitEnv {
26  extern double getTime();
27  }
28 
30 
31  void reunit(LatticeColorMatrixF3& xa);
32  void reunit(LatticeColorMatrixD3& xa);
33 
34  void reunit(LatticeColorMatrixF3& xa,
35  const Subset& mstag);
36 
37  void reunit(LatticeColorMatrixD3& xa,
38  const Subset& mstag);
39 
40  // With ruflag
41  void reunit(LatticeColorMatrixF3& xa,
42  int& numbad,
43  enum Reunitarize ruflag);
44 
45  void reunit(LatticeColorMatrixD3& xa,
46  int& numbad,
47  enum Reunitarize ruflag);
48 
49 
50  void reunit(LatticeColorMatrixF3& xa,
51  int& numbad,
52  enum Reunitarize ruflag,
53  const Subset& mstag);
54 
55  void reunit(LatticeColorMatrixD3& xa,
56  int& numbad,
57  enum Reunitarize ruflag,
58  const Subset& mstag);
59 
60  // With numbad and ruflag
61  void reunit(LatticeColorMatrixF3& xa,
62  LatticeBoolean& bad,
63  int& numbad,
64  enum Reunitarize ruflag);
65 
66  void reunit(LatticeColorMatrixD3& xa,
67  LatticeBoolean& bad,
68  int& numbad,
69  enum Reunitarize ruflag);
70 
71  void reunit(LatticeColorMatrixF3& xa,
72  LatticeBoolean& bad,
73  int& numbad,
74  enum Reunitarize ruflag,
75  const Subset& mstag);
76 
77  void reunit(LatticeColorMatrixD3& xa,
78  LatticeBoolean& bad,
79  int& numbad,
80  enum Reunitarize ruflag,
81  const Subset& mstag);
82 
83 } // End namespace
84 #endif
int numbad
Definition: cool.cc:28
LatticeBoolean bad
Definition: cool.cc:22
double getTime()
Definition: reunit.cc:30
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
void reunit(LatticeColorMatrixF3 &xa)
Definition: reunit.cc:467
Reunitarize
Definition: reunit.h:29
@ REUNITARIZE
Definition: reunit.h:29
@ REUNITARIZE_ERROR
Definition: reunit.h:29
@ REUNITARIZE_LABEL
Definition: reunit.h:29