1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-13 04:37:05 +01:00

Improved the gamma quite a bit.

Serial rng's which are set on node zero and broadcaste
This commit is contained in:
Peter Boyle
2015-04-24 20:21:40 +01:00
parent 2a67214f9d
commit fc32450360
11 changed files with 151 additions and 28 deletions

View File

@ -14,7 +14,8 @@ int main (int argc, char ** argv)
std::vector<int> latt_size ({8,8,8,16});
GridCartesian Fine(latt_size,simd_layout,mpi_layout);
GridRNG FineRNG(&Fine);
GridParallelRNG FineRNG(&Fine);
FineRNG.SeedRandomDevice();
LatticeComplex U(&Fine);
LatticeComplex ShiftU(&Fine);

View File

@ -16,9 +16,15 @@ int main (int argc, char ** argv)
GridCartesian Grid(latt_size,simd_layout,mpi_layout);
GridRNG RNG(&Grid);
GridParallelRNG pRNG(&Grid);
pRNG.SeedRandomDevice();
GridSerialRNG sRNG;
sRNG.SeedRandomDevice();
SpinMatrix ident=zero;
SpinMatrix rnd ; random(sRNG,rnd);
SpinMatrix ll=zero;
SpinMatrix rr=zero;
SpinMatrix result;
@ -94,6 +100,29 @@ int main (int argc, char ** argv)
}
std::cout << "Testing Gamma^2 - 1 = 0"<<std::endl;
for(int mu=0;mu<6;mu++){
result = Gamma(g[mu])* ident * Gamma(g[mu]);
result = result - ident;
double mag = TensorRemove(norm2l(result));
std::cout << list[mu]<<" " << mag<<std::endl;
}
std::cout << "Testing (MinusGamma + G )M = 0"<<std::endl;
for(int mu=0;mu<6;mu++){
result = rnd * Gamma(g[mu]);
result = result + rnd * Gamma(g[mu+6]);
double mag = TensorRemove(norm2l(result));
std::cout << list[mu]<<" " << mag<<std::endl;
}
std::cout << "Testing M(MinusGamma + G ) = 0"<<std::endl;
for(int mu=0;mu<6;mu++){
result = Gamma(g[mu]) *rnd;
result = result + Gamma(g[mu+6])*rnd;
double mag = TensorRemove(norm2l(result));
std::cout << list[mu]<<" " << mag<<std::endl;
}
Grid_finalize();
}

View File

@ -57,7 +57,8 @@ int main (int argc, char ** argv)
GridCartesian Fine(latt_size,simd_layout,mpi_layout);
GridRedBlackCartesian rbFine(latt_size,simd_layout,mpi_layout);
GridRNG FineRNG(&Fine);
GridParallelRNG FineRNG(&Fine);
FineRNG.SeedRandomDevice();
LatticeColourMatrix Foo(&Fine);
LatticeColourMatrix Bar(&Fine);

View File

@ -20,7 +20,6 @@ int main (int argc, char ** argv)
GridCartesian Fine(latt_size,simd_layout,mpi_layout);
GridCartesian Coarse(clatt_size,simd_layout,mpi_layout);
GridRNG FineRNG(&Fine);
LatticeGaugeField Umu(&Fine);
std::vector<LatticeColourMatrix> U(4,&Fine);

View File

@ -48,7 +48,8 @@ int main (int argc, char ** argv)
GridCartesian Fine(latt_size,simd_layout,mpi_layout);
GridRedBlackCartesian rbFine(latt_size,simd_layout,mpi_layout);
GridRNG fRNG(&Fine);
GridParallelRNG fRNG(&Fine);
fRNG.SeedRandomDevice();
LatticeColourMatrix Foo(&Fine);
LatticeColourMatrix Bar(&Fine);