HΦ  3.1.0
PairEx.c File Reference

Calculating the pair excited state generated by the pair operator

\[ \sum_{i,j, \sigma_1, \sigma_2} h_{i,\sigma_1, j, \sigma_2} c_{i\sigma_1} c_{j\sigma_2} (a_{i\sigma_1} a_{j\sigma_2})\]

, where \( c_{i\sigma_1} (a_{i\sigma_1})\) indicates a creation (anti-creation) operator at \(i\)-th site with \( \sigma_1 \) spin. More...

#include "bitcalc.h"
#include "mltplyCommon.h"
#include "PairEx.h"
#include "PairExHubbard.h"
#include "PairExSpin.h"

Go to the source code of this file.

Functions

int GetPairExcitedState (struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
 Calculating the pair excited state by the pair operator;

\[ \sum_{i,j, \sigma_1, \sigma_2} h_{i,\sigma_1, j, \sigma_2} c_{i\sigma_1} c_{j\sigma_2} (a_{i\sigma_1} a_{j\sigma_2})\]

, where \( c_{i\sigma_1} (a_{i\sigma_1})\) indicates a creation (anti-creation) operator at \(i\)-th site with \( \sigma_1 \) spin. Target System: Hubbard, Kondo, Spin. More...

 

Detailed Description

Calculating the pair excited state generated by the pair operator

\[ \sum_{i,j, \sigma_1, \sigma_2} h_{i,\sigma_1, j, \sigma_2} c_{i\sigma_1} c_{j\sigma_2} (a_{i\sigma_1} a_{j\sigma_2})\]

, where \( c_{i\sigma_1} (a_{i\sigma_1})\) indicates a creation (anti-creation) operator at \(i\)-th site with \( \sigma_1 \) spin.

Version
1.2
Author
Kazuyoshi Yoshimi (The University of Tokyo)

Definition in file PairEx.c.

Function Documentation

◆ GetPairExcitedState()

int GetPairExcitedState ( struct BindStruct X,
double complex *  tmp_v0,
double complex *  tmp_v1 
)

Calculating the pair excited state by the pair operator;

\[ \sum_{i,j, \sigma_1, \sigma_2} h_{i,\sigma_1, j, \sigma_2} c_{i\sigma_1} c_{j\sigma_2} (a_{i\sigma_1} a_{j\sigma_2})\]

, where \( c_{i\sigma_1} (a_{i\sigma_1})\) indicates a creation (anti-creation) operator at \(i\)-th site with \( \sigma_1 \) spin. Target System: Hubbard, Kondo, Spin.

Parameters
X[in] define list to get and put information of calculation
tmp_v0[in, out] Result \( v_0 += H v_1 \).
tmp_v1[in] The wave vector \( v_1 \) to be mltiplied by the Hamiltonian \( H v_1 \).
Returns
TRUE: Normally finished
FALSE: Unnormally finished
Author
Kazuyoshi Yoshimi (The University of Tokyo)
Version
1.2

Definition at line 47 of file PairEx.c.

References FALSE, GetPairExcitedStateHubbard(), GetPairExcitedStateHubbardGC(), GetPairExcitedStateSpin(), GetPairExcitedStateSpinGC(), GetSplitBitByModel(), GetSplitBitForGeneralSpin(), and X.

Referenced by GetExcitedState().

52 {
53  int iret;
54  long unsigned int irght,ilft,ihfbit;
55 
56  // i_max = X->Check.idim_max;
57  if(X->Def.iFlgGeneralSpin == FALSE) {
58  if (GetSplitBitByModel(X->Def.Nsite, X->Def.iCalcModel, &irght, &ilft, &ihfbit) != 0) {
59  return -1;
60  }
61  }
62  else {
63  if (GetSplitBitForGeneralSpin(X->Def.Nsite, &ihfbit, X->Def.SiteToBit) != 0) {
64  return -1;
65  }
66  }
67 
68  X->Large.i_max = X->Check.idim_maxOrg;
69  X->Large.irght = irght;
70  X->Large.ilft = ilft;
71  X->Large.ihfbit = ihfbit;
72  X->Large.mode=M_CALCSPEC;
73 
74  switch(X->Def.iCalcModel){
75  case HubbardGC:
76  iret=GetPairExcitedStateHubbardGC(X, tmp_v0, tmp_v1);
77  break;
78 
79  case KondoGC:
80  case Hubbard:
81  case Kondo:
82  iret=GetPairExcitedStateHubbard(X, tmp_v0, tmp_v1);
83  break;
84 
85  case Spin: // for the Sz-conserved spin system
86  iret =GetPairExcitedStateSpin(X, tmp_v0, tmp_v1);
87  break;
88 
89  case SpinGC:
90  iret=GetPairExcitedStateSpinGC(X,tmp_v0, tmp_v1);
91  break;
92 
93  default:
94  iret =FALSE;
95  break;
96  }
97 
98  return iret;
99 }
int GetPairExcitedStateHubbardGC(struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Definition: PairExHubbard.c:37
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.
Definition: bitcalc.c:124
int GetPairExcitedStateSpinGC(struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Calculation of pair excited state for Spin Grand canonical system.
Definition: PairExSpin.c:35
int GetPairExcitedStateSpin(struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Definition: PairExSpin.c:226
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.
Definition: bitcalc.c:78
#define FALSE
Definition: global.h:25
int GetPairExcitedStateHubbard(struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
struct EDMainCalStruct X
Definition: struct.h:431