1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-14 13:57:07 +01:00

Debugged vector version of ProjectOnGroup

This commit is contained in:
neo
2015-07-06 02:24:58 +09:00
parent e6087e1820
commit 0ffcdf6204
10 changed files with 89 additions and 26 deletions

View File

@ -22,7 +22,13 @@ int main (int argc, char ** argv)
double volume = latt_size[0]*latt_size[1]*latt_size[2]*latt_size[3];
GridCartesian Fine(latt_size,simd_layout,mpi_layout);
GridParallelRNG pRNG(&Fine);
pRNG.SeedRandomDevice();
LatticeLorentzColourMatrix U(&Fine);
SU3::ColdConfiguration(pRNG, U);
// simplify template?
WilsonGaugeAction<LatticeLorentzColourMatrix, LatticeColourMatrix> Waction(6.0);
@ -33,12 +39,14 @@ int main (int argc, char ** argv)
FullSet.push_back(Level1);
// Create integrator
IntegratorParameters MDpar(12,10,1.0);
IntegratorParameters MDpar(12,50,1.0);
std::vector<int> rel ={1};
Integrator<LeapFrog> MDleapfrog(MDpar, FullSet,rel);
// Create HMC
HMCparameters HMCpar;
HybridMonteCarlo<LeapFrog> HMCrun(HMCpar, MDleapfrog, &Fine);
HybridMonteCarlo<LeapFrog> HMC(HMCpar, MDleapfrog, &Fine);
HMC.evolve(U);
}

View File

@ -220,15 +220,19 @@ int main (int argc, char ** argv)
std::cout << cm << std::endl;
cm = Exponentiate(cm, 1.0, 12);
cm = Exponentiate(cm, 2.0, 12);
std::cout << cm << " " << std::endl;
Complex det = Determinant(cm);
std::cout << "determinant: " << det << std::endl;
std::cout << "norm: " << norm2(cm) << std::endl;
cm = ProjectOnGroup(cm);
std::cout << cm << " " << std::endl;
std::cout << "norm: " << norm2(cm) << std::endl;
cm = ProjectOnGroup(cm);
std::cout << cm << " " << std::endl;
std::cout << "norm: " << norm2(cm) << std::endl;
// det = Determinant(cm);
// std::cout << "determinant: " << det << std::endl;
@ -245,7 +249,24 @@ int main (int argc, char ** argv)
trscMat = trace(scMat); // Trace
// Exponentiate test
std::vector<int> mysite {0,0,0,0};
random(FineRNG,cMat);
cMat = Ta(cMat);
peekSite(cm, cMat, mysite);
std::cout << cm << " " << std::endl;
cm = Exponentiate(cm, 1.0, 12);
std::cout << cm << " " << std::endl;
std::cout << "norm: " << norm2(cm) << std::endl;
std::cout << "norm cMmat : " << norm2(cMat) << std::endl;
cMat = expMat(cMat, ComplexD(1.0, 0.0));
std::cout << "norm expMat: " << norm2(cMat) << std::endl;
peekSite(cm, cMat, mysite);
std::cout << cm << " " << std::endl;
std::cout << "determinant: " << Determinant(cm) << std::endl;
std::cout << "norm: " << norm2(cm) << std::endl;
// LatticeComplex trlcMat(&Fine);
// trlcMat = trace(lcMat); // Trace involving iVector - now generates error