GQCP
|
#include <HubbardHamiltonian.hpp>
Public Types | |
using | Scalar = _Scalar |
Public Member Functions | |
HubbardHamiltonian (const HoppingMatrix< Scalar > &H, const SquareMatrix< Scalar > &U, const SquareMatrix< Scalar > &mu) | |
HubbardHamiltonian (const HoppingMatrix< Scalar > &H, const double &U, const double &mu=0.0) | |
HubbardHamiltonian (const HoppingMatrix< Scalar > &H, const std::vector< double > &U, const std::vector< double > &mu) | |
template<typename Z = Scalar> | |
enable_if_t< std::is_same< Z, double >::value, ScalarRSQOneElectronOperator< double > > | core () const |
template<typename Z = Scalar> | |
enable_if_t< std::is_same< Z, double >::value, ScalarRSQTwoElectronOperator< double > > | twoElectron () const |
const HoppingMatrix< Scalar > & | hoppingMatrix () const |
size_t | numberOfLatticeSites () const |
const SquareMatrix< Scalar > | oneElectronContributions () const |
const SquareMatrix< Scalar > & | onSitePotentialMatrix () const |
const SquareMatrix< Scalar > & | onSiteRepulsionMatrix () const |
Static Public Member Functions | |
template<typename Z = Scalar> | |
static enable_if_t< std::is_same< Z, double >::value, HubbardHamiltonian< double > > | Random (const size_t K) |
The Hubbard model Hamiltonian.
_Scalar | The scalar type for a hopping matrix element. |
using GQCP::HubbardHamiltonian< _Scalar >::Scalar = _Scalar |
|
inline |
Create a Hubbard Hamiltonian matrix from its representation as a SquareMatrix
.
H | The Hopping matrix. |
U | The U contributions, represented as a SquareMatrix . |
mu | The on-site potentials, represented as a SquareMatrix . |
|
inline |
Create a HubbardHamiltonian
from a HoppingMatrix
and constant parameters U
and mu
.
H | The Hubbard hopping matrix. |
U | The on-site repulsion value. |
mu | The on-site potential. Default is zero. |
|
inline |
Create a HubbardHamiltonian
from a HoppingMatrix
and parameters U
and mu
for each site as a vector.
H | The Hubbard hopping matrix. |
U | The on-site repulsion values as a vector. |
mu | The on-site potential values as a vector. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Create a random Hubbard Hamiltonian matrix matrix with elements distributed uniformly in [-1.0, 1.0].
K | The number of lattice sites. |
|
inline |