19 #include "../config/configuration.h"
20 #include "chainprovider.h"
141 KEPT, DISCARDED, BOTH
216 return m_temperature;
241 return m_clusterEnergy;
249 m_clusterEnergy = clusterEnergy;
258 return m_energyCutOff;
267 m_energyCutOff = energyCutOff;
276 return m_maxHSdimension;
289 m_maxHSdimension = maxHSdimension;
298 return m_maxIterations;
307 m_maxIterations = maxIterations;
338 return m_n_Up + m_n_Down;
350 return m_n_Up - m_n_Down;
622 void solve(
bool silent =
false);
742 double m_temperature;
744 std::mathbfor<double> m_energies;
749 double m_clusterEnergy;
750 double m_energyCutOff;
751 int m_maxHSdimension;
752 int m_nFirstTruncated;
void getFFunction(math::CFunction &F)
returns the correlator for the self-energy trick
Definition: nrg.h:718
void getGreensFunction(math::CFunction &GUp, math::CFunction &GDown)
returns the impurity Green's function.
Definition: nrg.h:691
void propagateLocalMatrixElementDown(int iteration)
see propagateLocalMatrixElementUp(int iteration). This is the spin- version.
Definition: nrg.cpp:999
void propagateChainOperatorElementsUp(int iteration)
calculates the chain matrix elements for spin- for a given iteration.
Definition: nrg.cpp:569
void propagateChainOperatorElementsDown(int iteration)
see propagateChainOperatorElementsUp(int iteration). This is the spin- version.
Definition: nrg.cpp:647
void setMaxIterations(int maxIterations)
Definition: nrg.h:306
void setEnergyCutOff(double energyCutOff)
sets the high energy cut-off for state truncation
Definition: nrg.h:266
void showInfo()
lists the physical and numerical parameters for the NRG instance. Also dumps info about the Broadener...
Definition: nrg.cpp:1836
void setTemperature(double T)
sets the system temperature T
Definition: nrg.h:223
void setClusterEnergy(double clusterEnergy)
sets the cluster energy to the indicated value. see getClusterEnergy().
Definition: nrg.h:248
double getOccupationUp()
returns the exp. value for spin- electrons on the impurity. The actual calculation is performed in c...
Definition: nrg.h:316
void getSelfEnergy(math::CFunction &SUp, math::CFunction &SDown)
returns the impurity selfenergy.
Definition: nrg.h:673
Definition: chainprovider.h:19
void propagateLocalMatrixElementUp(int iteration)
calculates the local impurity matrix elements or spin- for a given iteration.
Definition: nrg.cpp:1236
void createPolesF_Down(int iteration)
see createPolesF_Down(int iteration). This is the spin- version.
Definition: nrg.cpp:1404
void solve(bool silent=false)
solves the impurity problem.
Definition: nrg.cpp:1738
void getSelfEnergy(math::CFunction &S)
returns the impurity selfenergy.
Definition: nrg.h:682
void configure(config::Configuration &configuration)
configures the NRG instance with information in the configuration object.
Definition: nrg.cpp:46
void createPolesF_Up(int iteration)
calculates delta peaks for the spin- impurity correlator used in the self-energy trick...
Definition: nrg.cpp:1315
HilbertSpaceTable: Manages the table of HilbertSubSpace instances.
Definition: hilbertspacetable.h:31
void solve_symmetric_SZ(bool silent=false)
Version of solve(bool silent) for a Wilson chain with Sz symmetry.
Definition: nrg.cpp:1667
void createPolesG_Down(int iteration)
see createPolesG_Up(int iteration). This is the spin- version.
Definition: nrg.cpp:1581
double getClusterEnergy() const
returns the cluster energy.
Definition: nrg.h:240
int getMaxIterations()
Definition: nrg.h:297
void setU(double U)
sets the strength of the on-site impurity interaction U
Definition: nrg.h:191
void truncateStates(int iteration)
marks all eigenstates above a cut-off energy as discarded.
Definition: nrg.cpp:317
double getOccupationDown()
returns the exp. value for spin- electrons on the impurity. The actual calculation is performed in c...
Definition: nrg.h:326
void deleteChainOperatorElements(int iteration)
deletes all chain operator matrix elements for the indicated iteration.
Definition: nrg.cpp:485
void propagateLocalMatrixElementUp2(int iteration)
calculates other local impurity matrix elements or spin- for a given iteration.
Definition: nrg.cpp:1078
double getU() const
retrieves the strength of the on-site impurity interaction U
Definition: nrg.h:183
double getEnergyCutOff() const
returns the high energy cut-off for state truncation
Definition: nrg.h:257
double getTemperature() const
retrieves the system temperature T
Definition: nrg.h:215
double getOccupation()
returns the exp. value for electrons on the impurity. The actual calculation is performed in createPo...
Definition: nrg.h:337
A configuration object which is populated from a configuration file and allows to query and modify co...
Definition: configuration.h:46
void builDM()
performs a backward run to construct the reduced density matrices
Definition: nrg.cpp:728
void setupInitialState()
initializes the impurity Hamiltonian .
Definition: nrg.cpp:107
void propagateLocalMatrixElementDown2(int iteration)
see propagateLocalMatrixElementUp2(int iteration). This is the spin- version.
Definition: nrg.cpp:1157
void deleteTransformationMatrices(int iteration)
deletes all transformation matrices for the indicated iteration.
Definition: nrg.cpp:506
void setupHamiltonian(int iteration)
iterates over all possible quantum number Q and Sz for iteration N and constructs the Hamiltonian for...
Definition: nrg.cpp:178
void init()
prepares the NRG instance for the iterative diagonalization.
Definition: nrg.cpp:67
Hilbert subspace table for charge quantum number Q and spin S.
double getEpsF() const
retrieves the on-site impurity energy
Definition: nrg.h:199
NRG(ChainProvider &chainProvider, Broadener &broadener)
constructs an NRG algorithm instance The Wilson chain is provided by an implementation of the ChainPr...
Definition: nrg.cpp:14
double getMagnetization()
returns the exp. value for the magnetization
Definition: nrg.h:349
void setEpsF(double epsF)
sets the on-site impurity energy
Definition: nrg.h:207
void getGreensFunction(math::CFunction &G)
returns the Green's function.
Definition: nrg.h:700
Density matrix implementation of the numerical renormalization group.
Definition: nrg.h:138
void deleteDensityMatrices(int iteration)
deletes all chain operator matrix elements for the indicated iteration.
Definition: nrg.cpp:526
Definition: broadener.h:23
~NRG()
destructs the NRG algorithm object and frees all previously allocated memory.
Definition: nrg.cpp:1862
Discretized complex-valued function for real arguments.
Definition: cfunction.h:34
int getMaxHilbertSpaceDimension()
returns the maximum allowed size of the HilberSpace. See truncateStates(int n).
Definition: nrg.h:275
void deleteImpurityMatrixElements(int iteration)
deletes all impurity operator matrix elements for the indicated iteration.
Definition: nrg.cpp:547
void createPolesG_Up(int iteration)
calculates delta peaks for the spin- impurity Green's function.
Definition: nrg.cpp:1494
void getFFunction(math::CFunction &FUp, math::CFunction &FDown)
returns the correlator for the self-energy trick
Definition: nrg.h:709
void setMaxHilbertSpaceDimension(int maxHSdimension)
sets the maximum allowed size of the HilberSpace. See truncateStates(int n).
Definition: nrg.h:288