HubbardGPU
Hubbard diagonalisation on the GPU (and CPU)
|
#include <hamsparse.h>
Public Member Functions | |
SparseHamiltonian (int L, int Nu, int Nd, double J, double U) | |
virtual | ~SparseHamiltonian () |
void | BuildHam () |
void | BuildSparseHam () |
void | PrintSparse () const |
void | PrintRawELL () const |
virtual void | mvprod (double *, double *, double) const |
double * | Umatrix () const |
Protected Attributes | |
double * | Up_data |
The array to hold the data (ELL format) for the up hamiltonian. More... | |
double * | Down_data |
The array to hold the data (ELL format) for the down hamiltonian. More... | |
unsigned int * | Up_ind |
The array to hold the indices for the up hamiltonian. More... | |
unsigned int * | Down_ind |
The array to hold the indices for the down hamiltonian. More... | |
int | size_Up |
Maximum number of non zero elements in a row for the up hamiltonian. More... | |
int | size_Down |
Maximum number of non zero elements in a row for the down hamiltonian. More... | |
Store the Hamiltonian for 1D Hubbard in the (sparse) ELL format
Definition at line 27 of file hamsparse.h.
SparseHamiltonian< Ham >::SparseHamiltonian | ( | int | L, |
int | Nu, | ||
int | Nd, | ||
double | J, | ||
double | U | ||
) |
Constructor of the SparseHamiltonian class
L | Number of lattice sites |
Nu | Number of Up Electrons |
Nd | Number of Down Electrons |
J | The hopping strengh |
U | The onsite interaction strength |
Definition at line 35 of file hamsparse.cpp.
|
virtual |
Destructor of the SparseHamiltonian class
Definition at line 52 of file hamsparse.cpp.
void SparseHamiltonian< Ham >::BuildHam | ( | ) |
Definition at line 68 of file hamsparse.cpp.
void SparseHamiltonian< Ham >::BuildSparseHam | ( | ) |
Builds and fills the sparse hamiltonian
Definition at line 77 of file hamsparse.cpp.
|
virtual |
Matrix vector product with (sparse) hamiltonian: y = ham*x + alpha*y
x | the input vector |
y | the output vector |
alpha | the scaling value |
Definition at line 259 of file hamsparse.cpp.
void SparseHamiltonian< Ham >::PrintRawELL | ( | ) | const |
Prints the Raw ELL array's.
Definition at line 206 of file hamsparse.cpp.
void SparseHamiltonian< Ham >::PrintSparse | ( | ) | const |
Prints the Sparse Hamiltonian
Definition at line 166 of file hamsparse.cpp.
double * SparseHamiltonian< Ham >::Umatrix | ( | ) | const |
Builds the interaction diagonal
Definition at line 290 of file hamsparse.cpp.
|
protected |
The array to hold the data (ELL format) for the down hamiltonian.
Definition at line 50 of file hamsparse.h.
|
protected |
The array to hold the indices for the down hamiltonian.
Definition at line 55 of file hamsparse.h.
|
protected |
Maximum number of non zero elements in a row for the down hamiltonian.
Definition at line 60 of file hamsparse.h.
|
protected |
Maximum number of non zero elements in a row for the up hamiltonian.
Definition at line 58 of file hamsparse.h.
|
protected |
The array to hold the data (ELL format) for the up hamiltonian.
Definition at line 48 of file hamsparse.h.
|
protected |
The array to hold the indices for the up hamiltonian.
Definition at line 53 of file hamsparse.h.