24 #ifndef COM_DAFER45_TBTK_SOLVER_MATSUBARA_SUSCEPTIBILITY
25 #define COM_DAFER45_TBTK_SOLVER_MATSUBARA_SUSCEPTIBILITY
29 #include "TBTK/MomentumSpaceContext.h"
30 #include "TBTK/Property/Susceptibility.h"
38 class MatsubaraSusceptibility :
public Solver,
public Communicator{
41 MatsubaraSusceptibility(
42 const MomentumSpaceContext &momentumSpaceContext,
43 const Property::GreensFunction &greensFunction
47 virtual MatsubaraSusceptibility* createSlave();
51 virtual std::vector<std::complex<double>> calculateSusceptibility(
53 const std::vector<std::complex<double>> &energies
57 std::vector<std::complex<double>> calculateSusceptibility(
59 int lowerMatsubaraEnergyIndex,
60 int upperMatsubaraEnergyIndex
64 Property::Susceptibility calculateSusceptibilityAllBlocks(
66 int lowerMatsubaraEnergyIndex,
67 int upperMatsubaraEnergyIndex
71 const Property::GreensFunction& getGreensFunction()
const;
74 const Property::GreensFunction &greensFunction;
77 const MomentumSpaceContext &momentumSpaceContext;
80 inline const Property::GreensFunction&
81 MatsubaraSusceptibility::getGreensFunction()
const{
82 return greensFunction;