TBTK
TBTK::Property::GreensFunction Class Reference

Property container for the Green's function. More...

#include <GreensFunction.h>

Inheritance diagram for TBTK::Property::GreensFunction:
TBTK::Property::EnergyResolvedProperty< std::complex< double > > TBTK::Property::AbstractProperty< std::complex< double > > TBTK::Serializable

Public Types

enum  Type {
  Advanced, Retarded, Principal, NonPrincipal,
  Matsubara
}
 
- Public Types inherited from TBTK::Property::EnergyResolvedProperty< std::complex< double > >
enum  EnergyType
 
- Public Types inherited from TBTK::Serializable
enum  Mode { Debug, Binary, XML, JSON }
 

Public Member Functions

 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)
 
Type getType () const
 
- Public Member Functions inherited from TBTK::Property::EnergyResolvedProperty< std::complex< double > >
 EnergyResolvedProperty ()
 
 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 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
 
virtual std::string serialize (Serializable::Mode mode) const
 
- Public Member Functions inherited from TBTK::Property::AbstractProperty< std::complex< double > >
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 IndexDescriptorgetIndexDescriptor () const
 
bool contains (const Index &index) 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< int > &index)
 
const std::complex< double > & operator() (const std::initializer_list< int > &index) const
 
std::complex< double > & operator() (const std::initializer_list< unsigned int > &index)
 
const std::complex< double > & operator() (const std::initializer_list< unsigned int > &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)
 

Additional Inherited Members

- Static Public Member Functions inherited from TBTK::Serializable
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)
 
- Protected Member Functions inherited from TBTK::Property::AbstractProperty< std::complex< double > >
 AbstractProperty ()
 
 AbstractProperty (unsigned int blockSize)
 
 AbstractProperty (unsigned int blockSize, const std::complex< double > *data)
 
 AbstractProperty (unsigned int dimensions, const int *ranges, unsigned int blockSize)
 
 AbstractProperty (unsigned int dimensions, const 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 ()
 
AbstractPropertyoperator= (const AbstractProperty &abstractProperty)
 
AbstractPropertyoperator= (AbstractProperty &&abstractProperty)
 
- Static Protected Member Functions inherited from TBTK::Serializable
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)
 
static std::string serialize (bool b, Mode mode)
 
static void deserialize (const std::string &serialization, bool *b, Mode mode)
 
static std::string serialize (int i, Mode mode)
 
static void deserialize (const std::string &serialization, int *i, Mode mode)
 
static std::string serialize (unsigned int u, Mode mode)
 
static void deserialize (const std::string &serialization, unsigned int *u, Mode mode)
 
static std::string serialize (double d, Mode mode)
 
static void deserialize (const std::string &serialization, double *d, Mode mode)
 
static std::string serialize (std::complex< double > c, Mode mode)
 
static void deserialize (const std::string &serialization, std::complex< double > *c, Mode mode)
 
static std::string serialize (Statistics s, Mode mode)
 
static void deserialize (const std::string &serialization, Statistics *s, Mode mode)
 
static std::string extract (const std::string &serialization, Mode mode, std::string component)
 

Detailed Description

Property container for the Green's function.

Member Enumeration Documentation

Enum class for specifying the Green's function type.

Constructor & Destructor Documentation

TBTK::Property::GreensFunction::GreensFunction ( )

Constructs an uninitialized GreensFunction.

TBTK::Property::GreensFunction::GreensFunction ( const IndexTree indexTree,
Type  type,
double  lowerBound,
double  upperBound,
unsigned int  resolution 
)

Constructs a GreensFunction with real energies on the Custom format. [See AbstractProperty for detailed information about the Custom format.]

Parameters
indexTreeIndexTree containing the Indices for which the GreensFunction should be contained.
lowerBoundLower bound for the energy.
upperBoundUpper bound for the energy.
resolutionNumber of points to use for the energy.
TBTK::Property::GreensFunction::GreensFunction ( const IndexTree indexTree,
Type  type,
double  lowerBound,
double  upperBound,
unsigned int  resolution,
const std::complex< double > *  data 
)

Constructs a GreensFunction with real energies on the Custom format and initializes it with data. [See AbstractProperty for detailed information about the Custom format and the raw data format.]

Parameters
indexTreeIndexTree containing the Indices for which the GreensFunction should be contained.
lowerBoundLower bound for the energy.
upperBoundUpper bound for the energy.
resolutionNumber of points to use for the energy.
dataRaw data to initialize the GreensFunction with.
TBTK::Property::GreensFunction::GreensFunction ( const IndexTree indexTree,
int  lowerMatsubaraEnergyIndex,
int  upperMatsubaraEnergyIndex,
double  fundamentalMatsubaraEnergy 
)

Constructs a GreensFunction with Matsubara energies on the Custom format. [See AbstractProperty for detailed information about the Custom format.]

Parameters
indexTreeIndexTree containing the Indices for which the GreensFunction should be contained.
lowerBoundLower bound for the energy.
upperBoundUpper bound for the energy.
resolutionNumber of points to use for the energy.
TBTK::Property::GreensFunction::GreensFunction ( const IndexTree indexTree,
int  lowerMatsubaraEnergyIndex,
int  upperMatsubaraEnergyIndex,
double  fundamentalMatsubaraEnergy,
const std::complex< double > *  data 
)

Constructs a GreensFunction with Matsubara energies on the Custom format and initializes it with data. [See AbstractProperty for detailed information about the Custom format and the raw data format.]

Parameters
indexTreeIndexTree containing the Indices for which the GreensFunction should be contained.
lowerBoundLower bound for the energy.
upperBoundUpper bound for the energy.
resolutionNumber of points to use for the energy.
dataRaw data to initialize the GreensFunction with.

Member Function Documentation

GreensFunction::Type TBTK::Property::GreensFunction::getType ( ) const
inline

Get the Green's function type.

Returns
The Green's function type.

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