|
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.
Here is the call graph for this function:
|
private |
Definition at line 427 of file helpers.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| 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.
Here is the caller graph for this function:| 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.
Here is the call graph for this function:| 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.
Here is the call graph for this function: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 |