|
| | GreensFunction () |
| |
| | GreensFunction (const IndexTree &indexTree, Type type, double lowerBound, double upperBound, unsigned int resolution) |
| |
| | GreensFunction (const IndexTree &indexTree, Type type, double lowerBound, double upperBound, unsigned int resolution, const std::complex< double > *data) |
| |
| | GreensFunction (const IndexTree &indexTree, int lowerMatsubaraEnergyIndex, int upperMatsubaraEnergyIndex, double fundamentalMatsubaraEnergy) |
| |
| | GreensFunction (const IndexTree &indexTree, int lowerMatsubaraEnergyIndex, int upperMatsubaraEnergyIndex, double fundamentalMatsubaraEnergy, const std::complex< double > *data) |
| |
| GreensFunction & | operator+= (const GreensFunction &rhs) |
| |
| GreensFunction | operator+ (const GreensFunction &rhs) const |
| |
| GreensFunction & | operator-= (const GreensFunction &rhs) |
| |
| GreensFunction | operator- (const GreensFunction &rhs) const |
| |
| GreensFunction & | operator*= (const std::complex< double > &rhs) |
| |
| GreensFunction | operator* (const std::complex< double > &rhs) const |
| |
| GreensFunction & | operator/= (const std::complex< double > &rhs) |
| |
| GreensFunction | operator/ (const std::complex< double > &rhs) const |
| |
| Type | getType () const |
| |
| std::string | toString () const |
| |
| | EnergyResolvedProperty () |
| |
| | EnergyResolvedProperty (double lowerBound, double upperBound, unsigned int resolution) |
| |
| | EnergyResolvedProperty (double lowerBound, double upperBound, unsigned int resolution, const std::complex< double > *data) |
| |
| | EnergyResolvedProperty (const std::vector< int > &ranges, double lowerBound, double upperBound, unsigned int resolution) |
| |
| | EnergyResolvedProperty (const std::vector< int > &ranges, double lowerBound, double upperBound, unsigned int resolution, const std::complex< double > *data) |
| |
| | EnergyResolvedProperty (const IndexTree &indexTree, double lowerBound, double upperBound, unsigned int resolution) |
| |
| | EnergyResolvedProperty (const IndexTree &indexTree, double lowerBound, double upperBound, unsigned int resolution, const std::complex< double > *data) |
| |
| | EnergyResolvedProperty (EnergyType energyType, const IndexTree &indexTree, int lowerMatsubaraEnergyIndex, int upperMatsubaraEnergtIndex, double fundamentalMatsubaraEnergy) |
| |
| | EnergyResolvedProperty (EnergyType energyType, const IndexTree &indexTree, int lowerMatsubaraEnergyIndex, int upperMatsubaraEnergtIndex, double fundamentalMatsubaraEnergy, const std::complex< double > *data) |
| |
| | EnergyResolvedProperty (const std::string &serialization, Serializable::Mode mode) |
| |
|
EnergyType | getEnergyType () const |
| |
| double | getLowerBound () const |
| |
| double | getUpperBound () const |
| |
| unsigned int | getResolution () const |
| |
| double | getDeltaE () const |
| |
| double | getEnergy (unsigned int n) const |
| |
| int | getLowerMatsubaraEnergyIndex () const |
| |
| int | getUpperMatsubaraEnergyIndex () const |
| |
| unsigned int | getNumMatsubaraEnergies () const |
| |
| double | getFundamentalMatsubaraEnergy () const |
| |
| double | getLowerMatsubaraEnergy () const |
| |
| double | getUpperMatsubaraEnergy () const |
| |
| std::complex< double > | getMatsubaraEnergy (unsigned int n) const |
| |
| unsigned int | getNumEnergies () const |
| |
| bool | energyWindowsAreEqual (const EnergyResolvedProperty &energyResolvedProperty, double precision=1e-1) const |
| |
| virtual std::string | serialize (Serializable::Mode mode) const |
| |
| unsigned int | getBlockSize () const |
| |
| unsigned int | getSize () const |
| |
| const std::vector< std::complex< double > > & | getData () const |
| |
| std::vector< std::complex< double > > & | getDataRW () |
| |
| unsigned int | getDimensions () const |
| |
| std::vector< int > | getRanges () const |
| |
| int | getOffset (const Index &index) const |
| |
| const IndexDescriptor & | getIndexDescriptor () const |
| |
| bool | contains (const Index &index) const |
| |
| void | reduce (const std::vector< Index > &targetPatterns, const std::vector< Index > &newPatterns) |
| |
| void | hermitianConjugate () |
| |
| std::vector< SparseMatrix< std::complex< double > > > | toSparseMatrices (const Model &model) const |
| |
| virtual const std::complex< double > & | operator() (const Index &index, unsigned int offset=0) const |
| |
| virtual std::complex< double > & | operator() (const Index &index, unsigned int offset=0) |
| |
| std::complex< double > & | operator() (const std::initializer_list< Subindex > &index) |
| |
| const std::complex< double > & | operator() (const std::initializer_list< Subindex > &index) const |
| |
| virtual const std::complex< double > & | operator() (unsigned int offset) const |
| |
| virtual std::complex< double > & | operator() (unsigned int offset) |
| |
| void | setAllowIndexOutOfBoundsAccess (bool allowIndexOutOfBoundsAccess) |
| |
| void | setDefaultValue (const std::complex< double > &defaultValue) |
| |
| void | replaceValues (const std::complex< double > &targetValue, const std::complex< double > &replacementValue) |
| |
| virtual std::string | toString () const |
| |
|
template<> |
| std::string | serialize (const bool &data, Mode mode) |
| |
|
template<> |
| std::string | serialize (const double &data, Mode mode) |
| |
|
template<> |
| std::string | serialize (const std::complex< double > &data, Mode mode) |
| |
|
template<> |
| std::string | serialize (const int &data, Mode mode) |
| |
|
template<> |
| std::string | serialize (const unsigned int &data, Mode mode) |
| |
|
template<> |
| std::string | serialize (const SpinMatrix &data, Mode mode) |
| |
|
template<> |
| std::string | serialize (const Statistics &data, Mode mode) |
| |
|
template<> |
| std::string | serialize (const std::vector< std::complex< double >> &data, Mode mode) |
| |
|
template<> |
| int | deserialize (const std::string &serialization, Mode mode) |
| |
|
| static bool | hasID (const std::string &serialization, Mode mode) |
| |
| static std::string | getID (const std::string &serialization, Mode mode) |
| |
| static std::string | extractComponent (const std::string &serialization, const std::string &containerID, const std::string &componentID, const std::string &componentName, Mode mode) |
| |
| EnergyResolvedProperty & | operator+= (const EnergyResolvedProperty &rhs) |
| |
| EnergyResolvedProperty & | operator-= (const EnergyResolvedProperty &rhs) |
| |
| EnergyResolvedProperty & | operator*= (const std::complex< double > &rhs) |
| |
| EnergyResolvedProperty & | operator/= (const std::complex< double > &rhs) |
| |
| | AbstractProperty () |
| |
| | AbstractProperty (unsigned int blockSize) |
| |
| | AbstractProperty (unsigned int blockSize, const std::complex< double > *data) |
| |
| | AbstractProperty (const std::vector< int > &ranges, unsigned int blockSize) |
| |
| | AbstractProperty (const std::vector< int > &ranges, unsigned int blockSize, const std::complex< double > *data) |
| |
| | AbstractProperty (const IndexTree &indexTree, unsigned int blockSize) |
| |
| | AbstractProperty (const IndexTree &indexTree, unsigned int blockSize, const std::complex< double > *data) |
| |
| | AbstractProperty (const AbstractProperty &abstractProperty) |
| |
| | AbstractProperty (AbstractProperty &&abstractProperty) |
| |
| | AbstractProperty (const std::string &serialization, Mode mode) |
| |
| virtual | ~AbstractProperty () |
| |
| AbstractProperty & | operator= (const AbstractProperty &abstractProperty) |
| |
| AbstractProperty & | operator= (AbstractProperty &&abstractProperty) |
| |
| AbstractProperty & | operator+= (const AbstractProperty &rhs) |
| |
| AbstractProperty & | operator-= (const AbstractProperty &rhs) |
| |
| AbstractProperty & | operator*= (const std::complex< double > &rhs) |
| |
| AbstractProperty & | operator/= (const std::complex< double > &rhs) |
| |
| | Property () |
| |
| virtual | ~Property () |
| |
| static bool | validate (const std::string &serialization, const std::string &id, Mode mode) |
| |
| static std::string | getContent (const std::string &serialization, Mode mode) |
| |
| static std::vector< std::string > | split (const std::string &content, Mode mode) |
| |
| template<typename DataType > |
| static std::enable_if<!std::is_pointer< DataType >::value, std::string >::type | serialize (const DataType &data, Mode mode) |
| |
|
template<typename DataType > |
| static std::enable_if< std::is_pointer< DataType >::value, std::string >::type | serialize (const DataType &data, Mode mode) |
| |
| template<typename DataType > |
| static DataType | deserialize (const std::string &serialization, Mode mode) |
| |
| static std::string | extract (const std::string &serialization, Mode mode, std::string component) |
| |
Property container for the Green's function.
The GreensFunction is an EnergyResolvedProperty with DataType std::complex<double>.
Example
#include "TBTK/PropertyExtractor/Diagonalizer.h"
using namespace TBTK;
int main(){
const unsigned int SIZE_X = 10;
const unsigned int SIZE_Y = 10;
double t = 1;
const double LOWER_BOUND = -5;
const double UPPER_BOUND = 5;
const unsigned int RESOLUTION = 100;
propertyExtractor.setEnergyWindow(
LOWER_BOUND,
UPPER_BOUND,
RESOLUTION
);
= propertyExtractor.calculateGreensFunction({
{{5, 5}, {5, 5}}
});
<< greensFunction({{5, 5}, {5, 5}}, 50) << "\n";
}
Output
Lower bound: -5 eV (-5 n.u.)
Upper bound: 5 eV (5 n.u.)
Resolution: 100
greensFunction({{5, 5}, {5, 5}}, 50) = (2.64575,-0.0545233)