8 #ifndef LIB_ACTIONS_FERM_INVERT_MG_PROTO_MG_PROTO_QPHIX_HELPERS_H_
9 #define LIB_ACTIONS_FERM_INVERT_MG_PROTO_MG_PROTO_QPHIX_HELPERS_H_
13 #include <lattice/lattice_info.h>
14 #include <lattice/qphix/mg_level_qphix.h>
15 #include <lattice/qphix/vcycle_recursive_qphix.h>
17 #include <lattice/lattice_info.h>
18 #include <lattice/qphix/qphix_clover_linear_operator.h>
19 #include <lattice/qphix/qphix_eo_clover_linear_operator.h>
23 namespace MGProtoHelpersQPhiX {
25 template<
typename MyLevelT,
typename MyVCycleT,
typename MyLinOpT,
typename MyLinOpFT>
35 std::shared_ptr<LinOpT>
M;
43 std::shared_ptr<MG::QPhiXWilsonCloverLinearOperator>
45 const MG::LatticeInfo&
info);
47 std::shared_ptr<MG::QPhiXWilsonCloverLinearOperatorF>
49 const MG::LatticeInfo&
info);
57 std::shared_ptr<MG::QPhiXWilsonCloverEOLinearOperator>
59 const MG::LatticeInfo&
info);
61 std::shared_ptr<MG::QPhiXWilsonCloverEOLinearOperatorF>
63 const MG::LatticeInfo&
info);
std::shared_ptr< MGPreconditionerEO::LinOpFT > createFineEOLinOpF(const MGProtoSolverParams ¶ms, const multi1d< LatticeColorMatrix > &u, const MG::LatticeInfo &info)
void createMGPreconditioner(const MGProtoSolverParams ¶ms, const multi1d< LatticeColorMatrix > &u)
shared_ptr< MGPreconditionerEO > getMGPreconditionerEO(const std::string &subspaceId)
void deleteMGPreconditionerEO(const std::string &subspaceId)
std::shared_ptr< MGPreconditioner::LinOpFT > createFineLinOpF(const MGProtoSolverParams ¶ms, const multi1d< LatticeColorMatrix > &u, const MG::LatticeInfo &info)
void deleteMGPreconditioner(const std::string &subspaceId)
std::shared_ptr< MGPreconditioner::LinOpT > createFineLinOp(const MGProtoSolverParams ¶ms, const multi1d< LatticeColorMatrix > &u, const MG::LatticeInfo &info)
shared_ptr< MGPreconditioner > getMGPreconditioner(const std::string &subspaceId)
std::shared_ptr< MGPreconditionerEO::LinOpT > createFineEOLinOp(const MGProtoSolverParams ¶ms, const multi1d< LatticeColorMatrix > &u, const MG::LatticeInfo &info)
void createMGPreconditionerEO(const MGProtoSolverParams ¶ms, const multi1d< LatticeColorMatrix > &u)
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
std::shared_ptr< VCycleT > v_cycle
std::shared_ptr< LinOpT > M
std::shared_ptr< LevelT > mg_levels