|
HubbardGPU
Hubbard diagonalisation on the GPU (and CPU)
|
#include <hamsparse.h>
Inheritance diagram for SparseHamiltonian< Ham >:
Collaboration diagram for SparseHamiltonian< Ham >: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.
Here is the call graph for this function:| 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.