mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-09 21:50:45 +01:00
Fix bug in non-zero momentum projection
This commit is contained in:
parent
20e92a7009
commit
cc4afb978d
@ -194,7 +194,10 @@ void TChargedProp::execute(void)
|
|||||||
buf = prop;
|
buf = prop;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
buf = buf*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
buf = buf*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(buf, vecBuf, Tp);
|
sliceSum(buf, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
@ -208,7 +211,10 @@ void TChargedProp::execute(void)
|
|||||||
buf = *prop0_;
|
buf = *prop0_;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
buf = buf*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
buf = buf*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(buf, vecBuf, Tp);
|
sliceSum(buf, vecBuf, Tp);
|
||||||
for (unsigned int t = 0; t < vecBuf.size(); ++t)
|
for (unsigned int t = 0; t < vecBuf.size(); ++t)
|
||||||
@ -221,7 +227,10 @@ void TChargedProp::execute(void)
|
|||||||
buf = propQ;
|
buf = propQ;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
buf = buf*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
buf = buf*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(buf, vecBuf, Tp);
|
sliceSum(buf, vecBuf, Tp);
|
||||||
for (unsigned int t = 0; t < vecBuf.size(); ++t)
|
for (unsigned int t = 0; t < vecBuf.size(); ++t)
|
||||||
@ -234,7 +243,10 @@ void TChargedProp::execute(void)
|
|||||||
buf = propSun;
|
buf = propSun;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
buf = buf*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
buf = buf*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(buf, vecBuf, Tp);
|
sliceSum(buf, vecBuf, Tp);
|
||||||
for (unsigned int t = 0; t < vecBuf.size(); ++t)
|
for (unsigned int t = 0; t < vecBuf.size(); ++t)
|
||||||
@ -247,7 +259,10 @@ void TChargedProp::execute(void)
|
|||||||
buf = propTad;
|
buf = propTad;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
buf = buf*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
buf = buf*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(buf, vecBuf, Tp);
|
sliceSum(buf, vecBuf, Tp);
|
||||||
for (unsigned int t = 0; t < vecBuf.size(); ++t)
|
for (unsigned int t = 0; t < vecBuf.size(); ++t)
|
||||||
|
@ -214,7 +214,10 @@ void TScalarVP::execute(void)
|
|||||||
vpPhase = freeVpTensor[mu][nu];
|
vpPhase = freeVpTensor[mu][nu];
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
vpPhase = vpPhase*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
vpPhase = vpPhase*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(vpPhase, vecBuf, Tp);
|
sliceSum(vpPhase, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
@ -248,7 +251,10 @@ void TScalarVP::execute(void)
|
|||||||
vpPhase = tmp_vp;
|
vpPhase = tmp_vp;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
vpPhase = vpPhase*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
vpPhase = vpPhase*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(vpPhase, vecBuf, Tp);
|
sliceSum(vpPhase, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
@ -282,7 +288,10 @@ void TScalarVP::execute(void)
|
|||||||
vpPhase = tmp_vp;
|
vpPhase = tmp_vp;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
vpPhase = vpPhase*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
vpPhase = vpPhase*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(vpPhase, vecBuf, Tp);
|
sliceSum(vpPhase, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
@ -314,7 +323,10 @@ void TScalarVP::execute(void)
|
|||||||
vpPhase = tmp_vp;
|
vpPhase = tmp_vp;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
vpPhase = vpPhase*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
vpPhase = vpPhase*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(vpPhase, vecBuf, Tp);
|
sliceSum(vpPhase, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
@ -345,7 +357,10 @@ void TScalarVP::execute(void)
|
|||||||
vpPhase = tmp_vp;
|
vpPhase = tmp_vp;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
vpPhase = vpPhase*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
vpPhase = vpPhase*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(vpPhase, vecBuf, Tp);
|
sliceSum(vpPhase, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
@ -377,7 +392,10 @@ void TScalarVP::execute(void)
|
|||||||
vpPhase = tmp_vp;
|
vpPhase = tmp_vp;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
vpPhase = vpPhase*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
vpPhase = vpPhase*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(vpPhase, vecBuf, Tp);
|
sliceSum(vpPhase, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
@ -408,7 +426,10 @@ void TScalarVP::execute(void)
|
|||||||
vpPhase = tmp_vp;
|
vpPhase = tmp_vp;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
vpPhase = vpPhase*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
vpPhase = vpPhase*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(vpPhase, vecBuf, Tp);
|
sliceSum(vpPhase, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
@ -443,7 +464,10 @@ void TScalarVP::execute(void)
|
|||||||
vpPhase = tmp_vp;
|
vpPhase = tmp_vp;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
vpPhase = vpPhase*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
vpPhase = vpPhase*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(vpPhase, vecBuf, Tp);
|
sliceSum(vpPhase, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
@ -477,7 +501,10 @@ void TScalarVP::execute(void)
|
|||||||
vpPhase = tmp_vp;
|
vpPhase = tmp_vp;
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
vpPhase = vpPhase*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
vpPhase = vpPhase*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(vpPhase, vecBuf, Tp);
|
sliceSum(vpPhase, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
@ -501,7 +528,10 @@ void TScalarVP::execute(void)
|
|||||||
vpPhase = vpTensor[mu][nu];
|
vpPhase = vpTensor[mu][nu];
|
||||||
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
for (unsigned int j = 0; j < env().getNd()-1; ++j)
|
||||||
{
|
{
|
||||||
vpPhase = vpPhase*pow(adj(*phase_[j]), mom[j]);
|
for (unsigned int momcount = 0; momcount < mom[j]; ++momcount)
|
||||||
|
{
|
||||||
|
vpPhase = vpPhase*adj(*phase_[j]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sliceSum(vpPhase, vecBuf, Tp);
|
sliceSum(vpPhase, vecBuf, Tp);
|
||||||
result.resize(vecBuf.size());
|
result.resize(vecBuf.size());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user