27 SU3 U1, U2, U3, UAdd, USub, UMul, UC, UT, UCT, UTrace, U_RST, U1Hermitian, U1AntiHermitian;
30 SU2 s1, s2, s3, sAdd, sSub, sMul, sC, sT, sCT, s_r, s_s, s_t;
33 complex z1, z2, zAdd, zSub, zMul, zDiv, zConj, zSetToMinus;
34 double zNorm, zNormSquared;
37 std::vector<unsigned int> m_dim;
40 double latticeDoubleValue1, latticeDoubleValue2;
44 double m_eps = 2*1e-14;
45 double m_tracedMatrix;
50 unsigned int m_N, m_NT;
51 unsigned long int m_subLatticeSize;
54 bool m_verbose =
false;
60 std::mt19937_64 m_generator;
61 std::uniform_real_distribution<double> m_uniform_distribution;
64 bool operationSU2Test(
SU2 results,
SU2 solution, std::string operation);
65 bool operationSU3Test(
SU3 results,
SU3 solution, std::string operation);
68 inline bool compareSU3(
const SU3 A,
const SU3 B);
69 inline bool compareSU2(
const SU2 A,
const SU2 B);
77 bool testSU3Addition();
78 bool testSU3Subtraction();
79 bool testSU3Multiplication();
80 bool testSU3Conjugation();
81 bool testSU3Transpose();
82 bool testSU3ComplexConjugation();
85 bool testSU2Addition();
86 bool testSU2Subtraction();
87 bool testSU2Multiplication();
88 bool testSU2Conjugation();
89 bool testSU2Transpose();
90 bool testSU2ComplexConjugation();
93 bool testSU2Hermicity();
94 bool checkSU2Hermicity(
SU2 H);
95 bool testSU2Orthogonality();
96 bool checkSU2Orthogonality(
SU2 H);
98 bool checkSU2Norm(
SU2 H);
99 bool testSU2Determinant();
100 bool checkSU2Determinant(
SU2 H);
103 bool testSU3Hermicity();
104 bool checkSU3Hermicity(
SU3 H);
105 bool testSU3Orthogonality();
106 bool checkSU3Orthogonality(
SU3 H);
108 bool checkSU3Norm(
SU3 H);
109 bool testSU3Determinant();
110 bool checkSU3Determinant(
SU3 H);
112 bool testHermitian();
113 bool testAntiHermitian();
116 bool testComplexAddition();
117 bool testComplexSubtraction();
118 bool testComplexMultiplication();
119 bool testComplexDivision();
120 bool testComplexConjugation();
121 bool testComplexNorm();
122 bool testComplexNormSquared();
123 bool testComplexSetToMinus();
126 bool testLatticeAddition();
127 bool testLatticeSubtraction();
128 bool testLatticeMultiplication();
129 bool testLatticeDivision();
130 bool testLatticeTrace();
131 bool testLatticeRealTrace();
132 bool testLatticeImagTrace();
133 bool testLatticeSubtractReal();
134 bool testLatticeSubtractImag();
135 bool testLatticeSum();
136 bool testLatticeSumRealTrace();
137 bool testLatticeSumRealTraceMultiplication();
138 bool testLatticeInverse();
141 bool testSU3TraceMultiplication();
142 bool testRSTMultiplication();
143 bool testRSTInverseMultiplication();
146 bool fullLatticeTests();
147 bool testLatticeShift();
148 bool testFieldGaugeInvariance();
164 #endif // TESTSUITE_H
bool runFunctionsTest()
Definition: testsuite.cpp:378
A complex number class, consisting of t.
Definition: complex.h:16
bool runSU2Tests()
Definition: testsuite.cpp:293
bool runSU3Tests()
Definition: testsuite.cpp:314
void testMatrix(SU3 X)
Perform tests on SU3 matrix X.
Definition: testsuite.cpp:1128
class for holding matrices.
Definition: su3.h:18
Class for generating random SU3 matrices.
Definition: su3matrixgenerator.h:20
void runFullTestSuite()
Definition: testsuite.cpp:267
bool run3x3MatrixTests()
Definition: testsuite.cpp:357
~TestSuite()
Definition: testsuite.cpp:263
bool run2x2MatrixTests()
Definition: testsuite.cpp:336
bool runLatticeTests()
Definition: testsuite.cpp:424
Runs unit tests on the methods of GLAC.
Definition: testsuite.h:23
bool runComplexTests()
Definition: testsuite.cpp:399
Class for holding matrices.
Definition: su2.h:21
TestSuite()
Definition: testsuite.cpp:14