TBTK
TBTK::PropertyExtractor::Diagonalizer Class Reference

#include <Diagonalizer.h>

Inheritance diagram for TBTK::PropertyExtractor::Diagonalizer:
TBTK::PropertyExtractor::PropertyExtractor

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.

Parameters
solverThe Solver to use.

Member Function Documentation

virtual Property::Density TBTK::PropertyExtractor::Diagonalizer::calculateDensity ( Index  pattern,
Index  ranges 
)
virtual
virtual Property::Density TBTK::PropertyExtractor::Diagonalizer::calculateDensity ( std::vector< Index patterns)
virtual
virtual Property::DOS TBTK::PropertyExtractor::Diagonalizer::calculateDOS ( )
virtual
virtual double TBTK::PropertyExtractor::Diagonalizer::calculateEntropy ( )
virtual
virtual std::complex<double> TBTK::PropertyExtractor::Diagonalizer::calculateExpectationValue ( Index  to,
Index  from 
)
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 Property::LDOS TBTK::PropertyExtractor::Diagonalizer::calculateLDOS ( Index  pattern,
Index  ranges 
)
virtual
virtual Property::LDOS TBTK::PropertyExtractor::Diagonalizer::calculateLDOS ( std::vector< Index patterns)
virtual
virtual Property::Magnetization TBTK::PropertyExtractor::Diagonalizer::calculateMagnetization ( Index  pattern,
Index  ranges 
)
virtual
virtual Property::Magnetization TBTK::PropertyExtractor::Diagonalizer::calculateMagnetization ( std::vector< Index patterns)
virtual
virtual Property::SpinPolarizedLDOS TBTK::PropertyExtractor::Diagonalizer::calculateSpinPolarizedLDOS ( Index  pattern,
Index  ranges 
)
virtual
virtual Property::SpinPolarizedLDOS TBTK::PropertyExtractor::Diagonalizer::calculateSpinPolarizedLDOS ( std::vector< Index patterns)
virtual
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.]

Parameters
patternThe pattern to use.
statesThe states to extract the wave functions for. Can be set to {IDX_ALL} to get all states.
Returns
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 
)
inline

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

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

Get a single eigenvalue.

Parameters
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.

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

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