1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-09-20 09:15:38 +01:00

Improving even odd sector; lot of work and through required cleaning this

This commit is contained in:
Peter Boyle 2015-05-23 09:34:16 +01:00
parent bef9bf0d38
commit 64fcbd0387

View File

@ -97,45 +97,44 @@ void WilsonMatrix::DoubleStore(LatticeDoubledGaugeField &Uds,const LatticeGaugeF
RealD WilsonMatrix::M(const LatticeFermion &in, LatticeFermion &out) RealD WilsonMatrix::M(const LatticeFermion &in, LatticeFermion &out)
{ {
Dhop(in,out,0); this->Dhop(in,out,0);
out = (4+mass)*in - 0.5*out ; // FIXME : axpby_norm! fusion fun out = (4+mass)*in - 0.5*out ; // FIXME : axpby_norm! fusion fun
return norm2(out); return norm2(out);
} }
RealD WilsonMatrix::Mdag(const LatticeFermion &in, LatticeFermion &out) RealD WilsonMatrix::Mdag(const LatticeFermion &in, LatticeFermion &out)
{ {
Dhop(in,out,1); this->Dhop(in,out,1);
out = (4+mass)*in - 0.5*out ; // FIXME : axpby_norm! fusion fun out = (4+mass)*in - 0.5*out ; // FIXME : axpby_norm! fusion fun
return norm2(out); return norm2(out);
} }
void WilsonMatrix::Meooe(const LatticeFermion &in, LatticeFermion &out) void WilsonMatrix::Meooe(const LatticeFermion &in, LatticeFermion &out)
{ {
Dhop(in,out,0); this->Dhop(in,out,0);
out = 0.5*out; // FIXME : scale factor in Dhop out = 0.5*out; // FIXME : scale factor in Dhop
} }
void WilsonMatrix::MeooeDag(const LatticeFermion &in, LatticeFermion &out) void WilsonMatrix::MeooeDag(const LatticeFermion &in, LatticeFermion &out)
{ {
Dhop(in,out,1); this->Dhop(in,out,1);
out = 0.5*out; // FIXME : scale factor in Dhop
} }
void WilsonMatrix::Mooee(const LatticeFermion &in, LatticeFermion &out) void WilsonMatrix::Mooee(const LatticeFermion &in, LatticeFermion &out)
{ {
out = (4.0+mass)*in; out = (4.0+mass)*in;
return ; return ;
} }
void WilsonMatrix::MooeeInv(const LatticeFermion &in, LatticeFermion &out)
{
out = (1.0/(4.0+mass))*in;
return ;
}
void WilsonMatrix::MooeeDag(const LatticeFermion &in, LatticeFermion &out) void WilsonMatrix::MooeeDag(const LatticeFermion &in, LatticeFermion &out)
{
this->Mooee(in,out);
}
void WilsonMatrix::MooeeInv(const LatticeFermion &in, LatticeFermion &out)
{ {
out = (1.0/(4.0+mass))*in; out = (1.0/(4.0+mass))*in;
return ; return ;
} }
void WilsonMatrix::MooeeInvDag(const LatticeFermion &in, LatticeFermion &out) void WilsonMatrix::MooeeInvDag(const LatticeFermion &in, LatticeFermion &out)
{ {
out = (1.0/(4.0+mass))*in; this->MooeeInv(in,out);
return ;
} }
void WilsonMatrix::DhopSite(int ss,const LatticeFermion &in, LatticeFermion &out) void WilsonMatrix::DhopSite(int ss,const LatticeFermion &in, LatticeFermion &out)
@ -451,8 +450,6 @@ PARALLEL_FOR_LOOP
} }
}
}
}}