TBTK
Public Member Functions | Public Attributes | List of all members
TBTK::HoppingAmplitude Class Reference

#include <HoppingAmplitude.h>

Public Member Functions

 HoppingAmplitude (Index fromIndex, Index toIndex, std::complex< double > amplitude)
 
 HoppingAmplitude (Index fromIndex, Index toIndex, std::complex< double >(*amplitudeCallback)(Index, Index))
 
 HoppingAmplitude (std::complex< double > amplitude, Index toIndex, Index fromIndex)
 
 HoppingAmplitude (std::complex< double >(*amplitudeCallback)(Index, Index), Index toIndex, Index fromIndex)
 
 HoppingAmplitude (std::complex< double > amplitude, Index toIndex, Index fromIndex, Index toUnitCell)
 
 HoppingAmplitude (std::complex< double >(*amplitudeCallback)(Index, Index), Index toIndex, Index fromIndex, Index toUnitCell)
 
 HoppingAmplitude (const HoppingAmplitude &ha)
 
HoppingAmplitude getHermitianConjugate () const
 
void print ()
 
std::complex< double > getAmplitude () const
 

Public Attributes

Index fromIndex
 
Index toIndex
 

Detailed Description

A hopping amplitude is a coefficeint $a_{ij}$ in a bilinear Hamiltonian $H = \sum_{ij}a_{ij}c_{i}^{\dagger}c_{j}$, where $i$ and $j$ are reffered to using 'to' and 'from' respectively. The constructors can be called with the parameters either in the order (from, to, value) or the order (value, to, from). The former follows the order in which the process can be thought of as happening, while the later corresponds to the order in which values and operators stands in the Hamiltonian.

Constructor & Destructor Documentation

TBTK::HoppingAmplitude::HoppingAmplitude ( Index  fromIndex,
Index  toIndex,
std::complex< double >  amplitude 
)

Constructor.

TBTK::HoppingAmplitude::HoppingAmplitude ( Index  fromIndex,
Index  toIndex,
std::complex< double >(*)(Index, Index amplitudeCallback 
)

Constructor. Takes a callback function rather than a paramater value. The callback function has to be defined such that it returns a value for the given indices when called at run time.

TBTK::HoppingAmplitude::HoppingAmplitude ( std::complex< double >  amplitude,
Index  toIndex,
Index  fromIndex 
)

Constructor.

TBTK::HoppingAmplitude::HoppingAmplitude ( std::complex< double >(*)(Index, Index amplitudeCallback,
Index  toIndex,
Index  fromIndex 
)

Constructor. Takes a callback function rather than a paramater value. The callback function has to be defined such that it returns a value for the given indices when called at run time.

TBTK::HoppingAmplitude::HoppingAmplitude ( std::complex< double >  amplitude,
Index  toIndex,
Index  fromIndex,
Index  toUnitCell 
)

Constructor. Takes an additional parameter specifying which unit cell the toIndex belongs to.

TBTK::HoppingAmplitude::HoppingAmplitude ( std::complex< double >(*)(Index, Index amplitudeCallback,
Index  toIndex,
Index  fromIndex,
Index  toUnitCell 
)

Constructor. Takes a callback function rather than a paramater value. The callback function has to be defined such that it returns a value for the given indices when called at run time. Also takes an additional Index specifying which unit cell the toIndex belongs to.

TBTK::HoppingAmplitude::HoppingAmplitude ( const HoppingAmplitude ha)

Copy constructor.

Member Function Documentation

std::complex< double > TBTK::HoppingAmplitude::getAmplitude ( ) const
inline

Get the amplitude value $a_{ij}$.

HoppingAmplitude TBTK::HoppingAmplitude::getHermitianConjugate ( ) const

Get the Hermitian cojugate of the HoppingAmplitude.

void TBTK::HoppingAmplitude::print ( )

Print HoppingAmplitude. Mainly for debugging.

Member Data Documentation

Index TBTK::HoppingAmplitude::fromIndex

Index to jump from (annihilate).

Index TBTK::HoppingAmplitude::toIndex

Index to jump to (create).


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