TBTK
|
Need a break? Support the development by playing Polarity Puzzles |
Extracts physical properties from the Solver::ArnoldiIterator. More...
#include <ArnoldiIterator.h>
Public Member Functions | |
ArnoldiIterator (Solver::ArnoldiIterator &solver) | |
Property::EigenValues | getEigenValues () |
double | getEigenValue (int state) |
const std::complex< double > | getAmplitude (int state, const Index &index) |
Property::WaveFunctions | calculateWaveFunctions (std::vector< Index > patterns, std::vector< Subindex > states) |
virtual Property::DOS | calculateDOS () |
virtual Property::LDOS | calculateLDOS (Index pattern, Index ranges) |
virtual Property::LDOS | calculateLDOS (std::vector< Index > patterns) |
virtual Property::SpinPolarizedLDOS | calculateSpinPolarizedLDOS (Index pattern, Index ranges) |
virtual Property::SpinPolarizedLDOS | calculateSpinPolarizedLDOS (std::vector< Index > patterns) |
Public Member Functions inherited from TBTK::PropertyExtractor::PropertyExtractor | |
PropertyExtractor () | |
virtual | ~PropertyExtractor () |
virtual void | setEnergyWindow (double lowerBound, double upperBound, int energyResolution) |
virtual void | setEnergyWindow (int lowerFermionicMatsubaraEnergyIndex, int upperFermionicMatsubaraEnergyIndex, int lowerBosonicMatsubaraEnergyIndex, int upperBosonicMatsubaraEnergyIndex) |
virtual void | setEnergyInfinitesimal (double energyInfinitesimal) |
virtual Property::Density | calculateDensity (Index pattern, Index ranges) |
virtual Property::Density | calculateDensity (std::vector< Index > patterns) |
virtual Property::Magnetization | calculateMagnetization (Index pattern, Index ranges) |
virtual Property::Magnetization | calculateMagnetization (std::vector< Index > patterns) |
virtual std::complex< double > | calculateExpectationValue (Index to, Index from) |
virtual Property::DOS | sampleDOS (unsigned int numSamples, const std::vector< Index > &patterns={}, unsigned int seed=time(nullptr)) |
virtual double | calculateEntropy () |
Additional Inherited Members | |
Protected Types inherited from TBTK::PropertyExtractor::PropertyExtractor | |
enum | EnergyType { Real, Matsubara } |
Protected Member Functions inherited from TBTK::PropertyExtractor::PropertyExtractor | |
EnergyType | getEnergyType () const |
int | getEnergyResolution () const |
double | getLowerBound () const |
double | getUpperBound () const |
int | getLowerFermionicMatsubaraEnergyIndex () const |
int | getUpperFermionicMatsubaraEnergyIndex () const |
int | getLowerBosonicMatsubaraEnergyIndex () const |
int | getUpperBosonicMatsubaraEnergyIndex () const |
double | getEnergyInfinitesimal () const |
template<typename DataType > | |
void | calculate (void(*callback)(PropertyExtractor *cb_this, Property::Property &property, const Index &index, int offset, Information &information), Property::AbstractProperty< DataType > &property, Index pattern, const Index &ranges, int currentOffset, int offsetMultiplier, Information &information) |
template<typename DataType > | |
void | calculate (void(*callback)(PropertyExtractor *cb_this, Property::Property &property, const Index &index, int offset, Information &information), const IndexTree &allIndices, const IndexTree &memoryLayout, Property::AbstractProperty< DataType > &abstractProperty, Information &information) |
void | ensureCompliantRanges (const Index &pattern, Index &ranges) |
std::vector< int > | getLoopRanges (const Index &pattern, const Index &ranges) |
IndexTree | generateIndexTree (std::vector< Index > patterns, const HoppingAmplitudeSet &hoppingAmplitudeSet, bool keepSummationWildcards, bool keepSpinWildcards) |
Extracts physical properties from the Solver::ArnoldiIterator.
The PropertyExtractor::ArnoldiIterator extracts Properties from the Solver::ArnoldiIterator.
TBTK::PropertyExtractor::ArnoldiIterator::ArnoldiIterator | ( | Solver::ArnoldiIterator & | solver | ) |
Constructs a PropertyExtractor::ArnoldiIterator.
solver | Solver to use. |
|
virtual |
Calculate Green's function. Overrides PropertyExtractor::calculateDOS().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Overrides PropertyExtractor::calculateLDOS().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Overrides PropertyExtractor::calculateLDOS().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Overrides PropertyExtractor::calculateSpinPolarizedLDOS().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Overrides PropertyExtractor::calculateSpinPolarizedLDOS().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
Property::WaveFunctions TBTK::PropertyExtractor::ArnoldiIterator::calculateWaveFunctions | ( | std::vector< Index > | patterns, |
std::vector< Subindex > | states | ||
) |
Calculate wave function.
|
inline |
Get amplitude for given eigenvector \(n\) and physical index \(x\): \(\Psi_{n}(x)\).
state | Eigenstate number \(n\) |
index | Physical index \(x\). |
|
inline |
Get eigenvalue.
Property::EigenValues TBTK::PropertyExtractor::ArnoldiIterator::getEigenValues | ( | ) |
Get eigenvalues.