Template Class fdmBackwardIteration¶
Defined in File fdmBackwardIteration.hpp
Class Documentation¶
-
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 explicit fdmBackwardIteration(nrgcore_type *t_nrgObject)¶
-
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 setRhoZero()¶
-
inline void setTemperature(double mkBT)¶
Set the temperature of the system.
- Parameters:
mkBT – Temperature
-
inline void setCurrentIndex()¶
-
inline void clearKeptIndex()¶
Clear everything. Useful for the last iteration.