diff --git a/Grid/algorithms/iterative/Deflation.h b/Grid/algorithms/iterative/Deflation.h index 7c3e8e57..ceba1c09 100644 --- a/Grid/algorithms/iterative/Deflation.h +++ b/Grid/algorithms/iterative/Deflation.h @@ -31,21 +31,13 @@ Author: Peter Boyle namespace Grid { template -class Guesser { -public: - Guesser(void) = default; - virtual ~Guesser(void) = default; - virtual void operator()(const Field &src, Field &guess) = 0; -}; - -template -class ZeroGuesser: public Guesser { +class ZeroGuesser: public LinearFunction { public: virtual void operator()(const Field &src, Field &guess) { guess = zero; }; }; template -class SourceGuesser: public Guesser { +class SourceGuesser: public LinearFunction { public: virtual void operator()(const Field &src, Field &guess) { guess = src; }; }; @@ -54,7 +46,7 @@ public: // Fine grid deflation //////////////////////////////// template -class DeflatedGuesser: public Guesser { +class DeflatedGuesser: public LinearFunction { private: const std::vector &evec; const std::vector &eval; @@ -76,7 +68,7 @@ public: }; template -class LocalCoherenceDeflatedGuesser: public Guesser { +class LocalCoherenceDeflatedGuesser: public LinearFunction { private: const std::vector &subspace; const std::vector &evec_coarse;