TBTK
|
Need a break? Support the development by playing Polarity Puzzles |
Extracts physical properties from the Solver::Diagonalizer. More...
#include <Diagonalizer.h>
Public Member Functions | |
Diagonalizer (Solver::Diagonalizer &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) |
Property::GreensFunction | calculateGreensFunction (const std::vector< Index > &patterns, Property::GreensFunction::Type type=Property::GreensFunction::Type::Retarded) |
virtual Property::DOS | calculateDOS () |
virtual std::complex< double > | calculateExpectationValue (Index to, Index from) |
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 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) |
virtual double | calculateEntropy () |
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::DOS | sampleDOS (unsigned int numSamples, const std::vector< Index > &patterns={}, unsigned int seed=time(nullptr)) |
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::Diagonalizer.
The PropertyExtractor::Diagonalizer extracts Properties from the Solver::Diagonalizer.
TBTK::PropertyExtractor::Diagonalizer::Diagonalizer | ( | Solver::Diagonalizer & | solver | ) |
Constructs a PropertyExtractor::Diagonalizer.
solver | The Solver to use. |
|
virtual |
Overrides PropertyExtractor::calculateDensity().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Overrides PropertyExtractor::calculateDensity().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Overrides PropertyExtractor::calculateDOS().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Overrides PropertyExtractor::calculateEntropy().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Calculate expectation value.
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
Property::GreensFunction TBTK::PropertyExtractor::Diagonalizer::calculateGreensFunction | ( | const std::vector< Index > & | patterns, |
Property::GreensFunction::Type | type = Property::GreensFunction::Type::Retarded |
||
) |
Calculate Green's function. Calculate Green's function.
|
virtual |
Overrides PropertyExtractor::calculateLDOS().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Overrides PropertyExtractor::calculateLDOS().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Overrides PropertyExtractor::calculateMagnetization().
Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.
|
virtual |
Overrides PropertyExtractor::calculateMagnetization().
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::Diagonalizer::calculateWaveFunctions | ( | std::vector< Index > | patterns, |
std::vector< Subindex > | states | ||
) |
Calculate WaveFunction on the Custom format. [See AbstractProperty for detailed information about the Custom format. See PropertyExtractor for detailed information about the patterns argument.]
pattern | The pattern to use. |
states | The states to extract the wave functions for. Can be set to {IDX_ALL} to get all states. |
|
inline |
Get amplitude for given eigenvector \(n\) and physical index \(x\): \(\Psi_{n}(x)\).
state | Eigenstate number \(n\) |
index | Physical index \(x\). |
|
inline |
Get a single eigenvalue.
state | The state (in accendingorder) to get the eigen value for. |
Property::EigenValues TBTK::PropertyExtractor::Diagonalizer::getEigenValues | ( | ) |
Get eigenvalues.