HubbardGPU
Hubbard diagonalisation on the GPU (and CPU)
|
#include <helpers.h>
Public Member Functions | |
MomBasis (int L, int Nu, int Nd) | |
virtual | ~MomBasis () |
myint | getUp (int K, int index) const |
myint | getDown (int K, int index) const |
int | findUp (int K, myint ket) const |
int | findDown (int K, myint ket) const |
int | getdim () const |
int | getdimK (int K) const |
void | Print () const |
void | getvec (int K, int i, myint &upket, myint &downket) const |
int | getL () const |
int | getNu () const |
int | getNd () const |
const std::pair< myint, myint > & | operator() (int K, int index) const |
std::shared_ptr< class KBlock > | getBlock (int K) const |
Private Member Functions | |
void | BuildBase () |
Private Attributes | |
int | L |
number of sites More... | |
int | Nu |
number of up electrons More... | |
int | Nd |
number of up electrons More... | |
int | dim |
dimension of the hilbert space More... | |
std::vector< std::shared_ptr < class KBlock > > | basisblocks |
Stores a full basis in the momentum space. Stores a list of L KBlock classes, each class holding the basis of one K block.
MomBasis::MomBasis | ( | int | L, |
int | Nu, | ||
int | Nd | ||
) |
Build a momentum basis for specified system
L | chain length |
Nu | number of spin ups |
Nd | number of spin downs |
Definition at line 295 of file helpers.cpp.
|
private |
Definition at line 427 of file helpers.cpp.
int MomBasis::findDown | ( | int | K, |
myint | ket | ||
) | const |
Find the index of a basisvector for spin down
K | the K block index |
ket | the basisvector |
Definition at line 357 of file helpers.cpp.
int MomBasis::findUp | ( | int | K, |
myint | ket | ||
) | const |
Find the index of a basisvector for spin up
K | the K block index |
ket | the basisvector |
Definition at line 340 of file helpers.cpp.
std::shared_ptr< class KBlock > MomBasis::getBlock | ( | int | K | ) | const |
int MomBasis::getdim | ( | ) | const |
int MomBasis::getdimK | ( | int | K | ) | const |
K | the K block |
Definition at line 377 of file helpers.cpp.
myint MomBasis::getDown | ( | int | K, |
int | index | ||
) | const |
Get a spin down basisvector in block K with index=index
K | the K block index |
index | the index within the K block |
Definition at line 327 of file helpers.cpp.
int MomBasis::getL | ( | ) | const |
int MomBasis::getNd | ( | ) | const |
int MomBasis::getNu | ( | ) | const |
myint MomBasis::getUp | ( | int | K, |
int | index | ||
) | const |
Get a spin up basisvector in block K with index=index
K | the K block index |
index | the index within the K block |
Definition at line 314 of file helpers.cpp.
Definition at line 408 of file helpers.cpp.
Definition at line 415 of file helpers.cpp.
void MomBasis::Print | ( | ) | const |
Definition at line 398 of file helpers.cpp.
|
private |