TBTK::PropertyExtractor::Diagonalizer Class Reference

#include <Diagonalizer.h>

Inheritance diagram for TBTK::PropertyExtractor::Diagonalizer:

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< int > 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 setEnergyInfinitesimal (double energyInfinitesimal)

Additional Inherited Members

- Protected Member Functions inherited from TBTK::PropertyExtractor::PropertyExtractor
int getEnergyResolution () const
double getLowerBound () const
double getUpperBound () const
double getEnergyInfinitesimal () const
void calculate (void(*callback)(PropertyExtractor *cb_this, void *memory, const Index &index, int offset), void *memory, Index pattern, const Index &ranges, int currentOffset, int offsetMultiplier)
template<typename DataType >
void calculate (void(*callback)(PropertyExtractor *cb_this, void *memory, const Index &index, int offset), const IndexTree &allIndices, const IndexTree &memoryLayout, Property::AbstractProperty< DataType > &abstractProperty, int *spinIndexHint=nullptr)
void ensureCompliantRanges (const Index &pattern, Index &ranges)
void getLoopRanges (const Index &pattern, const Index &ranges, int *loopDimensions, int **loopRanges)
IndexTree generateIndexTree (std::vector< Index > patterns, const HoppingAmplitudeSet &hoppingAmplitudeSet, bool keepSummationWildcards, bool keepSpinWildcards)
void validatePatternsNumComponents (const std::vector< Index > &patterns, unsigned int expectedNumComponentIndices, const std::string &functionName) const
void validatePatternsSpecifiers (const std::vector< Index > &patterns, const std::vector< int > specifiers, const std::string &functionName) const
- Protected Attributes inherited from TBTK::PropertyExtractor::PropertyExtractor
void * hint

Detailed Description

The PropertyExtractor::Diagonalizer extracts common physical properties such as DOS, Density, LDOS, etc. from a Diagonalizer. These can then be written to file using the FileWriter.

Constructor & Destructor Documentation

TBTK::PropertyExtractor::Diagonalizer::Diagonalizer ( Solver::Diagonalizer solver)

Constructs a PropertyExtractor::Diagonalizer.

solverThe Solver to use.

Member Function Documentation

virtual Property::Density TBTK::PropertyExtractor::Diagonalizer::calculateDensity ( Index  pattern,
Index  ranges 
virtual Property::Density TBTK::PropertyExtractor::Diagonalizer::calculateDensity ( std::vector< Index patterns)
virtual Property::DOS TBTK::PropertyExtractor::Diagonalizer::calculateDOS ( )
virtual double TBTK::PropertyExtractor::Diagonalizer::calculateEntropy ( )
virtual std::complex<double> TBTK::PropertyExtractor::Diagonalizer::calculateExpectationValue ( Index  to,
Index  from 

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 Property::LDOS TBTK::PropertyExtractor::Diagonalizer::calculateLDOS ( Index  pattern,
Index  ranges 
virtual Property::LDOS TBTK::PropertyExtractor::Diagonalizer::calculateLDOS ( std::vector< Index patterns)
virtual Property::Magnetization TBTK::PropertyExtractor::Diagonalizer::calculateMagnetization ( Index  pattern,
Index  ranges 
virtual Property::Magnetization TBTK::PropertyExtractor::Diagonalizer::calculateMagnetization ( std::vector< Index patterns)
virtual Property::SpinPolarizedLDOS TBTK::PropertyExtractor::Diagonalizer::calculateSpinPolarizedLDOS ( Index  pattern,
Index  ranges 
virtual Property::SpinPolarizedLDOS TBTK::PropertyExtractor::Diagonalizer::calculateSpinPolarizedLDOS ( std::vector< Index patterns)
Property::WaveFunctions TBTK::PropertyExtractor::Diagonalizer::calculateWaveFunctions ( std::vector< Index patterns,
std::vector< int >  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.]

patternThe pattern to use.
statesThe states to extract the wave functions for. Can be set to {IDX_ALL} to get all states.
A WaveFunctions object containing the wave functions values for the Indices that satisfies the given patterns and state numbers.
const std::complex< double > TBTK::PropertyExtractor::Diagonalizer::getAmplitude ( int  state,
const Index index 

Get amplitude for given eigenvector \(n\) and physical index \(x\): \(\Psi_{n}(x)\).

stateEigenstate number \(n\)
indexPhysical index \(x\).
double TBTK::PropertyExtractor::Diagonalizer::getEigenValue ( int  state)

Get a single eigenvalue.

stateThe state (in accendingorder) to get the eigen value for.
Property::EigenValues TBTK::PropertyExtractor::Diagonalizer::getEigenValues ( )

Destructor. Legacy. Experimental. Extracts a tabulated version of the HoppingAmplitudeSet. Get eigenvalues.

A Property::EigenValues containing all the eigen values in accending order.

The documentation for this class was generated from the following file: