HubbardGPU
Hubbard diagonalisation on the GPU (and CPU)
|
#include <helpers.h>
Public Member Functions | |
SubBasis () | |
SubBasis (int K, MomBasis &orig, int dim) | |
SubBasis (const SubBasis &orig) | |
SubBasis (SubBasis &&orig) | |
virtual | ~SubBasis () |
SubBasis & | operator= (const SubBasis &orig) |
SubBasis & | operator= (SubBasis &&orig) |
int | getdim () const |
int | getspacedim () const |
void | Print () const |
void | Slad_min (SubBasis &orig) |
void | Get (int index, myint &upket, myint &downket) const |
std::pair< myint, myint > | Get (int index) const |
double | GetCoeff (int i, int j) const |
double & | GetCoeff (int i, int j) |
void | SetCoeff (int i, int j, double value) |
int | getindex (myint upket, myint downket) const |
void | Normalize () |
void | ToSparseMatrix () |
const SparseMatrix_CCS & | getSparse () const |
void | SetCoeff (matrix &&coeffs) |
Private Attributes | |
int | L |
number of sites More... | |
int | Nu |
number of up electrons More... | |
int | Nd |
number of up electrons More... | |
std::unique_ptr< class matrix, class MyDeleter > | coeffs |
the coefficient of the basis More... | |
std::unique_ptr< class SparseMatrix_CCS > | s_coeffs |
same as above but sparse. You have to fill it first More... | |
std::shared_ptr< class KBlock > | basis |
shared pointer to KBlock basis. We all share the pointer. More... | |
Friends | |
class | SpinBasis |
Stores a basis in a K block. Has a coefficient matrix that stores all the basis vector of this subbasis as linear combination in a KBlock basis.
|
inline |
SubBasis::SubBasis | ( | int | K, |
MomBasis & | orig, | ||
int | dim | ||
) |
K | which K block |
orig | the basis from which to select a K block |
dim | the dimension of the subbasis |
Definition at line 507 of file helpers.cpp.
SubBasis::SubBasis | ( | const SubBasis & | orig | ) |
Definition at line 542 of file helpers.cpp.
SubBasis::SubBasis | ( | SubBasis && | orig | ) |
Definition at line 562 of file helpers.cpp.
Definition at line 727 of file helpers.cpp.
double SubBasis::GetCoeff | ( | int | i, |
int | j | ||
) | const |
Definition at line 732 of file helpers.cpp.
double & SubBasis::GetCoeff | ( | int | i, |
int | j | ||
) |
Definition at line 737 of file helpers.cpp.
int SubBasis::getdim | ( | ) | const |
Definition at line 635 of file helpers.cpp.
upket | the up ket |
downket | the down ket |
Definition at line 659 of file helpers.cpp.
int SubBasis::getspacedim | ( | ) | const |
Definition at line 646 of file helpers.cpp.
const SparseMatrix_CCS & SubBasis::getSparse | ( | ) | const |
Access operator for the Sparse matrix. First call ToSparseMatrix().
Definition at line 787 of file helpers.cpp.
void SubBasis::Normalize | ( | ) |
Normalize all basisvectors in this subspace
Definition at line 755 of file helpers.cpp.
Definition at line 572 of file helpers.cpp.
Definition at line 594 of file helpers.cpp.
void SubBasis::Print | ( | ) | const |
void SubBasis::SetCoeff | ( | int | i, |
int | j, | ||
double | value | ||
) |
Definition at line 742 of file helpers.cpp.
void SubBasis::SetCoeff | ( | matrix && | coeffs | ) |
Definition at line 747 of file helpers.cpp.
void SubBasis::Slad_min | ( | SubBasis & | orig | ) |
Do a ladder operator of S^- on a SubBasis and store it in this SubBasis
orig | the original SubBasis on which we ladder |
Definition at line 674 of file helpers.cpp.
void SubBasis::ToSparseMatrix | ( | ) |
Converts the coefficient matrix to a sparse format and delete the dense matrix afterwards
Definition at line 774 of file helpers.cpp.
|
private |
|
private |