Template Class fdmSpectrum#

Class Documentation#

template<typename nrgcore_type>
class fdmSpectrum#

Calculates the spectral function using the FDM (Full Density Matrix) approach.

This class computes the spectral weights and reduced density matrices for a given NRG core object.

Template Parameters:

nrgcore_type – The type of the NRG core object.

Public Functions

inline explicit fdmSpectrum(nrgcore_type *t_nrg_object)#

Constructs the fdmSpectrum object.

Parameters:

t_nrg_object – Pointer to the NRG core object.

inline void setup(nrgcore_type *t_nrg_object)#

Sets up the FDM spectrum calculation.

Parameters:

t_nrg_object – Pointer to the NRG core object.

inline void calcSpectrum(double energyScale)#

Calculates the spectral function.

Parameters:

energyScale – The energy scale for rescaling.

inline void setReduceDensityMatrix()#
inline void setLocalPartitionFunction()#
inline void setRhoZero()#
inline void rhoDotOperators()#
inline void setTemperature(double at)#
inline void setCurrentIndex()#
inline void setOperator(std::vector<qOperator> *bopr, std::vector<qOperator> *aopr = nullptr)#
template<typename filetype>
inline void saveFinalData(filetype *pfile)#

Saves the final spectral data to a file.

Template Parameters:

filetype – The type of the file object.

Parameters:

pfile – Pointer to the file object.

Public Members

std::vector<std::vector<double>> BoltzmannFactor#
std::vector<std::vector<size_t>> currentKeptIndex#
std::vector<qmatrix<>> rhoZero#
std::vector<qOperator> *aOperator = {}#
std::vector<qOperator> *bOperator = {}#
bool lastiteration = {true}#
double energyRescale = {1}#
double energyErrorBar = {1e-5}#