mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-09 21:50:45 +01:00
Removed a Dminus from high mode v and removed duplication pf D_oo code
This commit is contained in:
parent
7dfd3cdae8
commit
b78074b6a0
@ -88,18 +88,6 @@ class A2AModesSchurDiagTwo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Doo(Matrix &action, const Field &in, Field &out)
|
|
||||||
{
|
|
||||||
Field tmp(in._grid);
|
|
||||||
|
|
||||||
action.MooeeInv(in, out);
|
|
||||||
action.Meooe(out, tmp);
|
|
||||||
action.MooeeInv(tmp, out);
|
|
||||||
action.Meooe(out, tmp);
|
|
||||||
|
|
||||||
axpy(out,-1.0, tmp, in);
|
|
||||||
}
|
|
||||||
|
|
||||||
void low_mode_v(Matrix &action, const Field &evec, const RealD &eval, Field &vout_5d, Field &vout_4d)
|
void low_mode_v(Matrix &action, const Field &evec, const RealD &eval, Field &vout_5d, Field &vout_4d)
|
||||||
{
|
{
|
||||||
GridBase *grid = action.RedBlackGrid();
|
GridBase *grid = action.RedBlackGrid();
|
||||||
@ -162,7 +150,7 @@ class A2AModesSchurDiagTwo
|
|||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
// w_ie = - MeeInvDag MoeDag Doo evec_i
|
// w_ie = - MeeInvDag MoeDag Doo evec_i
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
Doo(action, src_o, tmp);
|
_HermOpEO.Mpc(src_o, tmp);
|
||||||
assert(tmp.checkerboard == Odd);
|
assert(tmp.checkerboard == Odd);
|
||||||
action.MeooeDag(tmp, sol_e);
|
action.MeooeDag(tmp, sol_e);
|
||||||
assert(sol_e.checkerboard == Even);
|
assert(sol_e.checkerboard == Even);
|
||||||
@ -173,7 +161,7 @@ class A2AModesSchurDiagTwo
|
|||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
// w_io = Doo evec_i
|
// w_io = Doo evec_i
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
Doo(action, src_o, sol_o);
|
_HermOpEO.Mpc(src_o, sol_o);
|
||||||
assert(sol_o.checkerboard == Odd);
|
assert(sol_o.checkerboard == Odd);
|
||||||
|
|
||||||
setCheckerboard(tmp_wout, sol_e);
|
setCheckerboard(tmp_wout, sol_e);
|
||||||
@ -189,9 +177,6 @@ class A2AModesSchurDiagTwo
|
|||||||
void high_mode_v(Matrix &action, Solver &solver, const Field &source, Field &vout_5d, Field &vout_4d)
|
void high_mode_v(Matrix &action, Solver &solver, const Field &source, Field &vout_5d, Field &vout_4d)
|
||||||
{
|
{
|
||||||
GridBase *fgrid = action.Grid();
|
GridBase *fgrid = action.Grid();
|
||||||
Field tmp(fgrid);
|
|
||||||
|
|
||||||
action.Dminus(source, tmp);
|
|
||||||
solver(vout_5d, source); // Note: solver is solver(out, in)
|
solver(vout_5d, source); // Note: solver is solver(out, in)
|
||||||
action.ExportPhysicalFermionSolution(vout_5d, vout_4d);
|
action.ExportPhysicalFermionSolution(vout_5d, vout_4d);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user