Base class for the backward iterations.#
-
template<typename nrgcore_type>
class fdmBackwardIteration This class is responsible for the backward iteration of the NRG algorithm. This class has three useful functions to calculate the energy dependent quantities such as $A(\omega)$. These functions are :
1. setCurrentIndex : set the indices for the kept and Discarded states
2. setRhoZero : Creates the density matrix of the current Wilson Chain.
3. setReduceDensityMatrix: Reduce the density matrix after summing over the Enviorentment degree.
- Template Parameters:
nrgcore_type – : Type of the nrgcore object
- Param t_nrgObject:
: norgcore object created from a Impurity and bath class.
- Return:
[TODO:return]
Public Functions
-
inline void setup(nrgcore_type *t_nrgObject)
Explicitly set the
nrgobject
- Parameters:
t_nrgObject –
-
inline void calcSpectrum(double energyScale)
These function calls the following functions :
1. setCurrentIndex : set the indices for the kept and Discarded states
2. setRhoZero : Creates the density matrix of the current Wilson Chain.
3. setReduceDensityMatrix: Reduce the density matrix after summing over the Enviorentment degree.
- Parameters:
energyScale – Energy scale of the currect NRG iteration. \( \Lambda^{-(N-1)/2} \)
-
inline void setReduceDensityMatrix()
Creates the reduced density matrix.
-
inline void setLocalPartitionFunction()
Sets the Local partition function for the current Wilson chain.
-
inline auto rhoDotStaticOperators(std::vector<qOperator> *bOperator)
$\rho \cdot B$ : Dot product between $\rho$ and B operator.
- Parameters:
bOperator – Pointer to a std::vector of B operators.
- Returns:
returns the dot product value as std::vector
-
inline void setRhoZero(const std::vector<std::vector<double>> &tBoltzmannFactor)
Set the density matrix based on the BoltzmannFactors and reduced density matrix of the previous Wilson Chain if available.
- Parameters:
tBoltzmannFactor – Boltzmann Factors of the form of $exp(- \beta E_n)$
-
inline void setTemperature(double mkBT)
Set the temperature of the system.
- Parameters:
mkBT – Temperature
-
inline void clearKeptIndex()
Clear everything. Useful for the last iteration.