20 #include "mltplySpin.h" 21 #include "mltplyHubbard.h" 22 #include "wrapperMPI.h" 24 #include "mltplyCommon.h" 25 #include "diagonalcalc.h" 57 long unsigned int j=0;
58 long unsigned int irght=0;
59 long unsigned int ilft=0;
60 long unsigned int ihfbit=0;
62 double complex dam_pr;
64 long unsigned int i_max;
97 #pragma omp parallel for default(none) reduction(+:dam_pr) firstprivate(i_max) shared(tmp_v0, tmp_v1, list_Diagonal) 98 for (j = 1; j <= i_max; j++) {
struct DefineList Def
Definision of system (Hamiltonian) etc.
int mltply(struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Parent function of multiplying the wavefunction by the Hamiltonian. . First, the calculation of diago...
void StartTimer(int n)
function for initializing elapse time [start]
int GetSplitBitForGeneralSpin(const int Nsite, long unsigned int *ihfbit, const long int *SiteToBit)
function of getting right, left and half bits corresponding to a original space.
double complex SumMPI_dc(double complex norm)
MPI wrapper function to obtain sum of Double complex across processes.
long unsigned int ihfbit
Used for Ogata-Lin ???
unsigned long int idim_max
The dimension of the Hilbert space of this process.
void StopTimer(int n)
function for calculating elapse time [elapse time=StartTimer-StopTimer]
int mltplySpinGC(struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Driver function for Spin hamiltonian.
double complex prdct
The expectation value of the energy.
struct LargeList Large
Variables for Matrix-Vector product.
int mode
multiply or expectation value.
unsigned int Nsite
Number of sites in the INTRA process region.
long unsigned int ilft
Used for Ogata-Lin ???
int GetSplitBitByModel(const int Nsite, const int iCalcModel, long unsigned int *irght, long unsigned int *ilft, long unsigned int *ihfbit)
function of splitting original bit into right and left spaces.
long int i_max
Length of eigenvector.
int iFlgGeneralSpin
Flag for the general (Sz/=1/2) spin.
long int * SiteToBit
[DefineList::NsiteMPI] Similar to DefineList::Tpow. For general spin.
int mltplyHubbardGC(struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
perform Hamiltonian vector product for (extended) Hubbard type model (Grandcanonical).
long unsigned int irght
Used for Ogata-Lin ???
int iCalcModel
Switch for model. 0:Hubbard, 1:Spin, 2:Kondo, 3:HubbardGC, 4:SpinGC, 5:KondoGC, 6:HubbardNConserved.
int diagonalcalcForTE(const int _istep, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
int mltplySpin(struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Driver function for Spin hamiltonian.
struct CheckList Check
Size of the Hilbert space.
int mltplyHubbard(struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
perform Hamiltonian vector product for (extended) Hubbard type model.
int iCalcType
Switch for calculation type. 0:Lanczos, 1:TPQCalc, 2:FullDiag.