24 #ifndef COM_DAFER45_TBTK_SOLVER_SUSCEPTIBILITY
25 #define COM_DAFER45_TBTK_SOLVER_SUSCEPTIBILITY
27 #include "TBTK/RPA/MomentumSpaceContext.h"
35 class Susceptibility :
public Solver{
52 const RPA::MomentumSpaceContext &momentumSpaceContext
56 virtual ~Susceptibility();
59 virtual std::vector<std::complex<double>> calculateSusceptibility(
61 const std::vector<std::complex<double>> &energies
64 const RPA::MomentumSpaceContext& getMomentumSpaceContext()
const;
67 Algorithm getAlgorithm()
const;
78 void setEnergiesAreInversionSymmetric(
79 bool energiesAreInversionSymmetric
84 bool getEnergiesAreInversionSymmetric()
const;
92 bool energiesAreInversionSymmetric;
95 const RPA::MomentumSpaceContext *momentumSpaceContext;
98 inline const RPA::MomentumSpaceContext& Susceptibility::getMomentumSpaceContext(
100 return *momentumSpaceContext;
103 inline Susceptibility::Algorithm Susceptibility::getAlgorithm()
const{
107 inline void Susceptibility::setEnergiesAreInversionSymmetric(
108 bool energiesAreInversionSymmetric
110 this->energiesAreInversionSymmetric = energiesAreInversionSymmetric;
113 inline bool Susceptibility::getEnergiesAreInversionSymmetric(
115 return energiesAreInversionSymmetric;