18 #include "mltplyCommon.h" 21 #include "expec_cisajscktaltdc.h" 22 #include "mltplySpinCore.h" 23 #include "mltplyHubbardCore.h" 24 #include "wrapperMPI.h" 25 #include "mltplyMPISpin.h" 26 #include "mltplyMPISpinCore.h" 27 #include "mltplyMPIHubbardCore.h" 56 long unsigned int *org_isite1,
57 long unsigned int *org_isite2,
58 long unsigned int *org_isite3,
59 long unsigned int *org_isite4,
60 long unsigned int *org_sigma1,
61 long unsigned int *org_sigma2,
62 long unsigned int *org_sigma3,
63 long unsigned int *org_sigma4,
64 double complex *tmp_V,
93 long unsigned int irght,ilft,ihfbit;
113 }
else if(X->
Def.
St==1){
180 }
else if(X->
Def.
St==1){
225 long unsigned int *org_isite1,
226 long unsigned int *org_isite2,
227 long unsigned int *org_isite3,
228 long unsigned int *org_isite4,
229 long unsigned int *org_sigma1,
230 long unsigned int *org_sigma2,
231 long unsigned int *org_sigma3,
232 long unsigned int *org_sigma4,
233 double complex *tmp_V,
237 long unsigned int tmp_org_isite1,tmp_org_isite2,tmp_org_isite3,tmp_org_isite4;
238 long unsigned int tmp_org_sigma1,tmp_org_sigma2,tmp_org_sigma3,tmp_org_sigma4;
249 if(tmp_org_isite1==tmp_org_isite2 && tmp_org_isite3==tmp_org_isite4){
250 if(tmp_org_isite1 > tmp_org_isite3){
251 *org_isite1 = tmp_org_isite3;
252 *org_sigma1 = tmp_org_sigma3;
253 *org_isite2 = tmp_org_isite4;
254 *org_sigma2 = tmp_org_sigma4;
255 *org_isite3 = tmp_org_isite1;
256 *org_sigma3 = tmp_org_sigma1;
257 *org_isite4 = tmp_org_isite2;
258 *org_sigma4 = tmp_org_sigma2;
261 *org_isite1 = tmp_org_isite1;
262 *org_sigma1 = tmp_org_sigma1;
263 *org_isite2 = tmp_org_isite2;
264 *org_sigma2 = tmp_org_sigma2;
265 *org_isite3 = tmp_org_isite3;
266 *org_sigma3 = tmp_org_sigma3;
267 *org_isite4 = tmp_org_isite4;
268 *org_sigma4 = tmp_org_sigma4;
273 else if(tmp_org_isite1==tmp_org_isite4 && tmp_org_isite3==tmp_org_isite2){
274 if(tmp_org_isite1 > tmp_org_isite3){
275 *org_isite1 = tmp_org_isite3;
276 *org_sigma1 = tmp_org_sigma3;
277 *org_isite2 = tmp_org_isite2;
278 *org_sigma2 = tmp_org_sigma2;
279 *org_isite3 = tmp_org_isite1;
280 *org_sigma3 = tmp_org_sigma1;
281 *org_isite4 = tmp_org_isite4;
282 *org_sigma4 = tmp_org_sigma4;
285 *org_isite1 = tmp_org_isite1;
286 *org_sigma1 = tmp_org_sigma1;
287 *org_isite2 = tmp_org_isite4;
288 *org_sigma2 = tmp_org_sigma4;
289 *org_isite3 = tmp_org_isite3;
290 *org_sigma3 = tmp_org_sigma3;
291 *org_isite4 = tmp_org_isite2;
292 *org_sigma4 = tmp_org_sigma2;
313 long unsigned int i,j;
314 long unsigned int isite1,isite2,isite3,isite4;
315 long unsigned int org_isite1,org_isite2,org_isite3,org_isite4;
316 long unsigned int org_sigma1,org_sigma2,org_sigma3,org_sigma4;
317 long unsigned int Asum,Bsum,Adiff,Bdiff;
318 long unsigned int tmp_off=0;
319 long unsigned int tmp_off_2=0;
320 double complex tmp_V= 1.0+0.0*I;
322 double complex dam_pr;
338 isite1 = X->
Def.
OrgTpow[2*org_isite1-2+org_sigma1] ;
339 isite2 = X->
Def.
OrgTpow[2*org_isite2-2+org_sigma2] ;
340 isite3 = X->
Def.
OrgTpow[2*org_isite3-2+org_sigma3] ;
341 isite4 = X->
Def.
OrgTpow[2*org_isite4-2+org_sigma4] ;
342 if(isite1 == isite2 && isite3 == isite4){
345 org_isite3-1, org_sigma3,
348 else if(isite1 == isite2 && isite3 != isite4){
351 org_isite3-1, org_sigma3, org_isite4-1, org_sigma4,
355 else if(isite1 != isite2 && isite3 == isite4){
358 org_isite3-1, org_sigma3,
362 else if(isite1 != isite2 && isite3 != isite4){
364 org_isite3-1, org_sigma3, org_isite4-1, org_sigma4,
371 (i, X, org_isite1, org_isite2, org_isite3, org_isite4,
372 org_sigma1, org_sigma2, org_sigma3, org_sigma4, tmp_V
386 if(isite1 == isite2 && isite3 == isite4){
388 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isite1,isite2,isite4,isite3,Asum,Bsum,Adiff,Bdiff,tmp_off,tmp_off_2,tmp_V) shared(vec) 389 for(j=1;j<=i_max;j++){
392 }
else if(isite1 == isite2 && isite3 != isite4){
394 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isite1,isite2,isite4,isite3,Asum,Bsum,Adiff,Bdiff,tmp_off,tmp_off_2,tmp_V) shared(vec) 395 for(j=1;j<=i_max;j++){
396 dam_pr +=
GC_child_CisAisCjtAku_element(j, isite1, isite3, isite4, Bsum, Bdiff, tmp_V, vec, vec, X, &tmp_off);
398 }
else if(isite1 != isite2 && isite3 == isite4){
400 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isite1,isite2,isite4,isite3,Asum,Bsum,Adiff,Bdiff,tmp_off,tmp_off_2,tmp_V) shared(vec) 401 for(j=1;j<=i_max;j++){
402 dam_pr +=
GC_child_CisAjtCkuAku_element(j, isite1, isite2, isite3, Asum, Adiff, tmp_V, vec, vec, X, &tmp_off);
405 }
else if(isite1 != isite2 && isite3 != isite4){
407 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isite1,isite2,isite4,isite3,Asum,Bsum,Adiff,Bdiff,tmp_off,tmp_off_2,tmp_V) shared(vec) 408 for(j=1;j<=i_max;j++){
409 dam_pr +=
GC_child_CisAjtCkuAlv_element(j, isite1, isite2, isite3, isite4, Asum, Adiff, Bsum, Bdiff, tmp_V, vec, vec, X, &tmp_off_2);
414 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf\n",org_isite1-1,org_sigma1, org_isite2-1,org_sigma2, org_isite3-1, org_sigma3, org_isite4-1,org_sigma4, creal(dam_pr), cimag(dam_pr));
431 long unsigned int i,j;
432 long unsigned int isite1,isite2,isite3,isite4;
433 long unsigned int org_isite1,org_isite2,org_isite3,org_isite4;
434 long unsigned int org_sigma1,org_sigma2,org_sigma3,org_sigma4;
435 long unsigned int Asum,Bsum,Adiff,Bdiff;
436 long unsigned int tmp_off=0;
437 long unsigned int tmp_off_2=0;
438 double complex tmp_V;
439 double complex dam_pr;
455 if(org_sigma1+org_sigma3 != org_sigma2+org_sigma4){
457 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf \n",org_isite1-1, org_sigma1, org_isite2-1, org_sigma2, org_isite3-1, org_sigma3, org_isite4-1, org_sigma4, creal(dam_pr), cimag(dam_pr));
464 isite1 = X->
Def.
OrgTpow[2*org_isite1-2+org_sigma1] ;
465 isite2 = X->
Def.
OrgTpow[2*org_isite2-2+org_sigma2] ;
466 isite3 = X->
Def.
OrgTpow[2*org_isite3-2+org_sigma3] ;
467 isite4 = X->
Def.
OrgTpow[2*org_isite4-2+org_sigma4] ;
468 if(isite1 == isite2 && isite3 == isite4){
470 org_isite3-1, org_sigma3,
473 else if(isite1 == isite2 && isite3 != isite4){
476 org_isite3-1, org_sigma3, org_isite4-1, org_sigma4,
479 else if(isite1 != isite2 && isite3 == isite4){
481 org_isite3-1, org_sigma3,
485 else if(isite1 != isite2 && isite3 != isite4){
487 org_isite3-1, org_sigma3, org_isite4-1, org_sigma4,
494 i, X, org_isite1, org_isite2, org_isite3, org_isite4,
495 org_sigma1, org_sigma2, org_sigma3, org_sigma4, tmp_V
511 if(isite1 == isite2 && isite3 == isite4){
512 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isite1,isite2,isite4,isite3,Asum,Bsum,Adiff,Bdiff,tmp_off,tmp_off_2) shared(vec,tmp_V) 513 for(j=1;j<=i_max;j++){
516 }
else if(isite1 == isite2 && isite3 != isite4){
517 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isite1,isite2,isite4,isite3,Asum,Bsum,Adiff,Bdiff,tmp_off,tmp_off_2) shared(vec,tmp_V) 518 for(j=1;j<=i_max;j++){
519 dam_pr +=
child_CisAisCjtAku_element(j, isite1, isite3, isite4, Bsum, Bdiff, tmp_V, vec, vec, X, &tmp_off);
521 }
else if(isite1 != isite2 && isite3 == isite4){
522 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isite1,isite2,isite4,isite3,Asum,Bsum,Adiff,Bdiff,tmp_off,tmp_off_2) shared(vec,tmp_V) 523 for(j=1;j<=i_max;j++){
524 dam_pr +=
child_CisAjtCkuAku_element(j, isite1, isite2, isite3, Asum, Adiff, tmp_V, vec, vec, X, &tmp_off);
526 }
else if(isite1 != isite2 && isite3 != isite4){
527 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isite1,isite2,isite4,isite3,Asum,Bsum,Adiff,Bdiff,tmp_off,tmp_off_2) shared(vec,tmp_V) 528 for(j=1;j<=i_max;j++){
529 dam_pr +=
child_CisAjtCkuAlv_element(j, isite1, isite2, isite3, isite4, Asum, Adiff, Bsum, Bdiff, tmp_V, vec, vec, X, &tmp_off_2);
535 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf\n",org_isite1-1,org_sigma1, org_isite2-1,org_sigma2, org_isite3-1, org_sigma3, org_isite4-1,org_sigma4, creal(dam_pr), cimag(dam_pr));
572 long unsigned int i,j;
573 long unsigned int org_isite1,org_isite2,org_isite3,org_isite4;
574 long unsigned int org_sigma1,org_sigma2,org_sigma3,org_sigma4;
575 long unsigned int tmp_org_isite1,tmp_org_isite2,tmp_org_isite3,tmp_org_isite4;
576 long unsigned int tmp_org_sigma1,tmp_org_sigma2,tmp_org_sigma3,tmp_org_sigma4;
577 long unsigned int isA_up, isB_up;
578 long unsigned int is1_up, is2_up;
579 long unsigned int tmp_off=0;
580 int tmp_sgn, num1, num2;
581 double complex tmp_V;
582 double complex dam_pr;
599 if(
Rearray_Interactions(i, &org_isite1, &org_isite2, &org_isite3, &org_isite4, &org_sigma1, &org_sigma2, &org_sigma3, &org_sigma4, &tmp_V, X)!=0){
601 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf \n",tmp_org_isite1-1, tmp_org_sigma1, tmp_org_isite2-1, tmp_org_sigma2, tmp_org_isite3-1,tmp_org_sigma3, tmp_org_isite4-1, tmp_org_sigma4,0.0,0.0);
607 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
608 is1_up = X->
Def.
Tpow[org_isite1 - 1];
609 is2_up = X->
Def.
Tpow[org_isite3 - 1];
612 #pragma omp parallel for default(none) reduction (+:dam_pr) shared(vec) \ 613 firstprivate(i_max, num1, num2, tmp_V) private(j) 614 for (j = 1; j <= i_max; j++) {
615 dam_pr += tmp_V*num1*num2*vec[j]*conj(vec[j]);
618 else if(org_isite1==org_isite3 && org_sigma1==org_sigma4 && org_sigma2==org_sigma3){
619 is1_up = X->
Def.
Tpow[org_isite1 - 1];
621 #pragma omp parallel for default(none) reduction (+:dam_pr) shared(vec) \ 622 firstprivate(i_max, num1, num2, tmp_V) private(j) 623 for (j = 1; j <= i_max; j++) {
624 dam_pr += tmp_V*num1*vec[j]*conj(vec[j]);
627 else if(org_sigma1==org_sigma4 && org_sigma2==org_sigma3){
635 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
636 is1_up = X->
Def.
Tpow[org_isite1 - 1];
637 is2_up = X->
Def.
Tpow[org_isite3 - 1];
640 #pragma omp parallel for default(none) reduction(+:dam_pr)shared(vec) \ 641 firstprivate(i_max, tmp_V, is1_up, org_sigma1, X, num2) private(j, num1) 642 for (j = 1; j <= i_max; j++) {
644 dam_pr += tmp_V*num1*num2*conj(vec[j])*vec[j];
647 else if(org_sigma1==org_sigma4 && org_sigma2==org_sigma3){
656 isA_up = X->
Def.
Tpow[org_isite1-1];
657 isB_up = X->
Def.
Tpow[org_isite3-1];
658 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
660 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isA_up,isB_up,org_sigma2,org_sigma4,tmp_off, tmp_V) shared(vec) 661 for(j=1;j<=i_max;j++){
664 }
else if(org_isite1==org_isite3 && org_sigma1==org_sigma4 && org_sigma3==org_sigma2){
666 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j, dmv) firstprivate(i_max,X,isA_up,org_sigma1, tmp_V) shared(vec, list_1) 667 for(j=1;j<=i_max;j++){
669 dam_pr += vec[j]*tmp_V*dmv*conj(vec[j]);
672 else if(org_sigma1==org_sigma4 && org_sigma2==org_sigma3){
674 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j, tmp_sgn, dmv) firstprivate(i_max,X,isA_up,isB_up,org_sigma2,org_sigma4,tmp_off,tmp_V) shared(vec) 675 for(j=1;j<=i_max;j++){
677 dmv = vec[j]*tmp_sgn;
678 dam_pr += conj(vec[tmp_off])*dmv;
686 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf \n",tmp_org_isite1-1, tmp_org_sigma1, tmp_org_isite2-1, tmp_org_sigma2, tmp_org_isite3-1, tmp_org_sigma3, tmp_org_isite4-1, tmp_org_sigma4,creal(dam_pr),cimag(dam_pr));
704 long unsigned int i,j;
705 long unsigned int org_isite1,org_isite2,org_isite3,org_isite4;
706 long unsigned int org_sigma1,org_sigma2,org_sigma3,org_sigma4;
707 long unsigned int tmp_org_isite1,tmp_org_isite2,tmp_org_isite3,tmp_org_isite4;
708 long unsigned int tmp_org_sigma1,tmp_org_sigma2,tmp_org_sigma3,tmp_org_sigma4;
709 long unsigned int tmp_off=0;
710 long unsigned int tmp_off_2=0;
711 long unsigned int list1_off=0;
713 double complex tmp_V;
714 double complex dam_pr;
717 long unsigned int tmp_org=0;
732 if(
Rearray_Interactions(i, &org_isite1, &org_isite2, &org_isite3, &org_isite4, &org_sigma1, &org_sigma2, &org_sigma3, &org_sigma4, &tmp_V, X)!=0){
733 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf \n",tmp_org_isite1-1, tmp_org_sigma1, tmp_org_isite2-1, tmp_org_sigma2, tmp_org_isite3-1,tmp_org_sigma3, tmp_org_isite4-1, tmp_org_sigma4,0.0,0.0);
745 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf \n",tmp_org_isite1-1, tmp_org_sigma1, tmp_org_isite2-1, tmp_org_sigma2, tmp_org_isite3-1,tmp_org_sigma3, tmp_org_isite4-1, tmp_org_sigma4,0.0,0.0);
751 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
754 else if(org_sigma1 != org_sigma2 && org_sigma3 != org_sigma4){
762 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
765 else if(org_sigma1 != org_sigma2 && org_sigma3 != org_sigma4){
773 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
774 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j, num1) firstprivate(i_max,X,org_isite1, org_sigma1,org_isite3, org_sigma3, tmp_V) shared(vec,list_1) 775 for(j=1;j<=i_max;j++){
780 dam_pr += tmp_V*conj(vec[j])*vec[j];
785 else if(org_sigma1 != org_sigma2 && org_sigma3 != org_sigma4){
786 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j, num1) firstprivate(i_max,X, org_isite1, org_isite3, org_sigma1, org_sigma2, org_sigma3, org_sigma4, tmp_off, tmp_off_2, list1_off, myrank, tmp_V) shared(vec, list_1) 787 for(j=1;j<=i_max;j++){
794 dam_pr += tmp_V * conj(vec[list1_off]) * vec[j];
805 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf \n",tmp_org_isite1-1, tmp_org_sigma1, tmp_org_isite2-1, tmp_org_sigma2, tmp_org_isite3-1, tmp_org_sigma3, tmp_org_isite4-1, tmp_org_sigma4, creal(dam_pr),cimag(dam_pr));
841 long unsigned int i,j;
842 long unsigned int org_isite1,org_isite2,org_isite3,org_isite4;
843 long unsigned int org_sigma1,org_sigma2,org_sigma3,org_sigma4;
844 long unsigned int tmp_org_isite1,tmp_org_isite2,tmp_org_isite3,tmp_org_isite4;
845 long unsigned int tmp_org_sigma1,tmp_org_sigma2,tmp_org_sigma3,tmp_org_sigma4;
846 long unsigned int isA_up, isB_up;
847 long unsigned int tmp_off=0;
848 double complex tmp_V;
849 double complex dam_pr;
863 if(
Rearray_Interactions(i, &org_isite1, &org_isite2, &org_isite3, &org_isite4, &org_sigma1, &org_sigma2, &org_sigma3, &org_sigma4, &tmp_V, X)!=0){
865 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf \n",tmp_org_isite1-1, tmp_org_sigma1, tmp_org_isite2-1, tmp_org_sigma2, tmp_org_isite3-1,tmp_org_sigma3, tmp_org_isite4-1, tmp_org_sigma4,0.0,0.0);
872 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
876 else if(org_isite1 ==org_isite3 && org_sigma1 ==org_sigma4 && org_sigma2 ==org_sigma3){
879 else if(org_sigma1 == org_sigma2 && org_sigma3 != org_sigma4){
882 else if(org_sigma1 != org_sigma2 && org_sigma3 == org_sigma4){
885 else if(org_sigma1 != org_sigma2 && org_sigma3 != org_sigma4){
890 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
894 else if(org_sigma1 == org_sigma2 && org_sigma3 != org_sigma4){
897 else if(org_sigma1 != org_sigma2 && org_sigma3 == org_sigma4){
900 else if(org_sigma1 != org_sigma2 && org_sigma3 != org_sigma4){
905 if(org_isite1==org_isite2 && org_isite3==org_isite4){
906 isA_up = X->
Def.
Tpow[org_isite2-1];
907 isB_up = X->
Def.
Tpow[org_isite4-1];
908 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
910 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isA_up,isB_up,org_sigma2,org_sigma4,tmp_off,tmp_V) shared(vec) 911 for(j=1;j<=i_max;j++){
914 }
else if(org_sigma1 == org_sigma2 && org_sigma3 != org_sigma4){
916 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isA_up,isB_up,org_sigma2,org_sigma4,tmp_off,tmp_V) shared(vec) 917 for(j=1;j<=i_max;j++){
920 }
else if(org_sigma1 != org_sigma2 && org_sigma3 == org_sigma4){
922 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isA_up,isB_up,org_sigma2,org_sigma4,tmp_off,tmp_V) shared(vec) 923 for(j=1;j<=i_max;j++){
926 }
else if(org_sigma1 != org_sigma2 && org_sigma3 != org_sigma4){
928 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j) firstprivate(i_max,X,isA_up,isB_up,org_sigma2,org_sigma4,tmp_off,tmp_V) shared(vec) 929 for(j=1;j<=i_max;j++){
936 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf \n",tmp_org_isite1-1, tmp_org_sigma1, tmp_org_isite2-1, tmp_org_sigma2, tmp_org_isite3-1, tmp_org_sigma3, tmp_org_isite4-1, tmp_org_sigma4,creal(dam_pr),cimag(dam_pr));
952 long unsigned int i,j;
953 long unsigned int org_isite1,org_isite2,org_isite3,org_isite4;
954 long unsigned int org_sigma1,org_sigma2,org_sigma3,org_sigma4;
955 long unsigned int tmp_org_isite1,tmp_org_isite2,tmp_org_isite3,tmp_org_isite4;
956 long unsigned int tmp_org_sigma1,tmp_org_sigma2,tmp_org_sigma3,tmp_org_sigma4;
957 long unsigned int tmp_off=0;
958 long unsigned int tmp_off_2=0;
960 double complex tmp_V;
961 double complex dam_pr;
978 if(
Rearray_Interactions(i, &org_isite1, &org_isite2, &org_isite3, &org_isite4, &org_sigma1, &org_sigma2, &org_sigma3, &org_sigma4, &tmp_V, X)!=0){
980 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf \n",tmp_org_isite1-1, tmp_org_sigma1, tmp_org_isite2-1, tmp_org_sigma2, tmp_org_isite3-1,tmp_org_sigma3, tmp_org_isite4-1, tmp_org_sigma4,0.0,0.0);
985 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
988 else if(org_sigma1 == org_sigma2 && org_sigma3 != org_sigma4){
991 else if(org_sigma1 != org_sigma2 && org_sigma3 == org_sigma4){
994 else if(org_sigma1 != org_sigma2 && org_sigma3 != org_sigma4){
999 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
1002 else if(org_sigma1 == org_sigma2 && org_sigma3 != org_sigma4){
1005 else if(org_sigma1 != org_sigma2 && org_sigma3 == org_sigma4){
1008 else if(org_sigma1 != org_sigma2 && org_sigma3 != org_sigma4){
1013 if(org_sigma1==org_sigma2 && org_sigma3==org_sigma4 ){
1014 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j, num1) firstprivate(i_max,X,org_isite1, org_sigma1,org_isite3, org_sigma3, tmp_V) shared(vec) 1015 for(j=1;j<=i_max;j++){
1020 dam_pr += tmp_V*conj(vec[j])*vec[j];
1024 }
else if(org_sigma1 == org_sigma2 && org_sigma3 != org_sigma4){
1025 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j, num1) firstprivate(i_max,X, org_isite1, org_isite3, org_sigma1,org_sigma3,org_sigma4, tmp_off, tmp_V) shared(vec) 1026 for(j=1;j<=i_max;j++){
1031 dam_pr += tmp_V*conj(vec[tmp_off+1])*vec[j];
1035 }
else if(org_sigma1 != org_sigma2 && org_sigma3 == org_sigma4){
1036 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j, num1) firstprivate(i_max,X, org_isite1, org_isite3, org_sigma1,org_sigma2, org_sigma3, tmp_off, tmp_V) shared(vec) 1037 for(j=1;j<=i_max;j++){
1042 dam_pr += tmp_V*conj(vec[tmp_off+1])*vec[j];
1046 }
else if(org_sigma1 != org_sigma2 && org_sigma3 != org_sigma4){
1047 #pragma omp parallel for default(none) reduction(+:dam_pr) private(j, num1) firstprivate(i_max,X, org_isite1, org_isite3, org_sigma1, org_sigma2, org_sigma3, org_sigma4, tmp_off, tmp_off_2, tmp_V) shared(vec) 1048 for(j=1;j<=i_max;j++){
1053 dam_pr += tmp_V*conj(vec[tmp_off_2+1])*vec[j];
1061 fprintf(*_fp,
" %4ld %4ld %4ld %4ld %4ld %4ld %4ld %4ld %.10lf %.10lf \n",tmp_org_isite1-1, tmp_org_sigma1, tmp_org_isite2-1, tmp_org_sigma2, tmp_org_isite3-1, tmp_org_sigma3, tmp_org_isite4-1, tmp_org_sigma4, creal(dam_pr),cimag(dam_pr));
int irand
Input keyword TargetTPQRand ???
struct DefineList Def
Definision of system (Hamiltonian) etc.
long unsigned int B_spin
Mask used in the bit oeration.
int expec_cisajscktaltdc(struct BindStruct *X, double complex *vec)
Parent function to calculate two-body green's functions.
int St
0 or 1, but it affects nothing.
double complex X_child_CisAitCjuAjv_GeneralSpin_MPIsingle(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term in the canonical general spin system when one of these sites is in the inter process re...
double complex X_GC_child_CisAisCjuAju_spin_MPIdouble(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
CisAisCjuAjv term in Spin model + GC When both site1 and site2 are in the inter process region...
const char * cLogLanczosExpecTwoBodyGStart
double complex X_GC_child_CisAitCjuAjv_GeneralSpin_MPIsingle(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term in the grandcanonical general spin system when one of these site is in the inter proces...
int iFlgSzConserved
Flag whether Sz is conserved.
double complex X_GC_child_CisAisCjuAjv_GeneralSpin_MPIdouble(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
term in Spin model. When both site1 and site3 are in the inter process region.
int CheckPE(int org_isite, struct BindStruct *X)
Check whether this site is in the inter process region or not.
double complex SumMPI_dc(double complex norm)
MPI wrapper function to obtain sum of Double complex across processes.
unsigned long int idim_max
The dimension of the Hilbert space of this process.
double complex X_GC_child_CisAis_spin_MPIdouble(int org_isite1, int org_ispin1, double complex tmp_trans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Hopping term in Spin + GC When both site1 and site2 are in the inter process region.
double complex GC_child_CisAitCiuAiu_spin_element(long unsigned int j, long unsigned int org_sigma2, long unsigned int org_sigma4, long unsigned int isA_up, long unsigned int isB_up, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off)
Compute term of grandcanonical spsin system.
double complex GC_child_CisAisCitAiu_spin_element(long unsigned int j, long unsigned int org_sigma2, long unsigned int org_sigma4, long unsigned int isA_up, long unsigned int isB_up, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off)
Compute term of grandcanonical spsin system.
long unsigned int is4_spin
Mask used in the bit oeration.
const char * cTPQExpecTwoBodyGFinish
const char * cTEExpecTwoBodyGFinish
int X_child_exchange_spin_element(long unsigned int j, struct BindStruct *X, long unsigned int isA_up, long unsigned int isB_up, long unsigned int sigmaA, long unsigned int sigmaB, long unsigned int *tmp_off)
Compute index of final wavefunction associated to spin-exchange term.
double complex X_GC_child_CisAitCjuAju_GeneralSpin_MPIsingle(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term in the grandcanonical general spin system when one of these site is in the inter proces...
double complex X_GC_child_CisAitCiuAiv_spin_MPIsingle(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Exchange and Pairlifting term in Spin model + GC When only site2 is in the inter process region...
long unsigned int isB_spin
Mask used in the bit oeration.
int child_general_int_GetInfo(int iInterAll, struct BindStruct *X, long unsigned int isite1, long unsigned int isite2, long unsigned int isite3, long unsigned int isite4, long unsigned int sigma1, long unsigned int sigma2, long unsigned int sigma3, long unsigned int sigma4, double complex tmp_V)
Compute mask for bit operation of general interaction term.
double complex X_child_CisAisCjuAju_GeneralSpin_MPIsingle(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term in the canonical general spin system when one of these sites is in the inter process re...
const char * cFileName2BGreen_TPQ
double complex X_GC_child_CisAisCjtAku_Hubbard_MPI(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, int org_isite4, int org_ispin4, double complex tmp_V, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term of grandcanonical Hubbard system.
double complex child_CisAjtCkuAku_element(long unsigned int j, long unsigned int isite1, long unsigned int isite2, long unsigned int isite3, long unsigned int Asum, long unsigned int Adiff, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off)
Compute term of canonical Hubbard system.
int X_SpinGC_CisAis(long unsigned int j, struct BindStruct *X, long unsigned int is1_spin, long unsigned int sigma1)
Compute the grandcanonical spin state with bit mask is1_spin.
struct LargeList Large
Variables for Matrix-Vector product.
double complex X_child_CisAisCjuAju_GeneralSpin_MPIdouble(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term in the canonical general spin system when both sites are in the inter process region...
long unsigned int is1_spin
Mask used in the bit oeration.
int ConvertToList1GeneralSpin(const long unsigned int org_ibit, const long unsigned int ihlfbit, long unsigned int *_ilist1Comp)
function of converting component to list_1
double complex X_child_CisAisCjtAku_Hubbard_MPI(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, int org_isite4, int org_ispin4, double complex tmp_V, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term of canonical Hubbard system.
int ** CisAjtCkuAlvDC
[DefineList::NCisAjtCkuAlvDC][4] Indices of two-body correlation function. malloc in setmem_def()...
int childfopenMPI(const char *_cPathChild, const char *_cmode, FILE **_fp)
Only the root process open file in output/ directory.
double complex GC_child_CisAitCiuAiv_spin_element(long unsigned int j, long unsigned int org_sigma2, long unsigned int org_sigma4, long unsigned int isA_up, long unsigned int isB_up, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off_2)
Compute term of grandcanonical spsin system.
struct PhysList Phys
Physical quantities.
int X_Spin_CisAis(long unsigned int j, struct BindStruct *X, long unsigned int is1_spin, long unsigned int sigma1)
Compute the spin state with bit mask is1_spin.
int expec_cisajscktalt_SpinGeneral(struct BindStruct *X, double complex *vec, FILE **_fp)
Child function to calculate two-body green's functions for General Spin model.
double complex X_child_CisAisCjtAjt_Hubbard_MPI(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, double complex tmp_V, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term of canonical Hubbard system.
double complex X_child_CisAitCjuAjv_GeneralSpin_MPIdouble(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term in the canonical general spin system when both sites are in the inter process region...
int mode
multiply or expectation value.
int Rearray_Interactions(int i, long unsigned int *org_isite1, long unsigned int *org_isite2, long unsigned int *org_isite3, long unsigned int *org_isite4, long unsigned int *org_sigma1, long unsigned int *org_sigma2, long unsigned int *org_sigma3, long unsigned int *org_sigma4, double complex *tmp_V, struct BindStruct *X)
Rearray interactions.
double complex X_GC_child_CisAisCjuAju_GeneralSpin_MPIdouble(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term in the grandcanonical general spin system when both site is in the inter process region...
double complex X_GC_child_CisAisCjuAju_spin_MPIsingle(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
CisAisCjuAjv term in Spin model + GC When both site1 and site2 are in the inter process region...
double complex X_GC_child_CisAitCjuAjv_GeneralSpin_MPIdouble(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term in the grandcanonical general spin system when both site is in the inter process region...
int expec_cisajscktalt_SpinGC(struct BindStruct *X, double complex *vec, FILE **_fp)
Parent function to calculate two-body green's functions for Spin GC model.
double complex X_GC_child_CisAitCjuAju_spin_MPIsingle(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
CisAisCjuAjv term in Spin model + GC When only site2 is in the inter process region.
double complex X_GC_child_CisAisCjuAjv_spin_MPIdouble(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
CisAisCjuAjv term in Spin model + GC When both site1 and site2 are in the inter process region...
long unsigned int is3_spin
Mask used in the bit oeration.
unsigned long int sdim
Dimension for Ogata-Lin ???
int GetLocal2Sz(const unsigned int isite, const long unsigned int org_bit, const long int *SiteToBit, const long unsigned int *Tpow)
get 2sz at a site for general spin
long unsigned int * OrgTpow
[2 * DefineList::NsiteMPI] malloc in setmem_def().
double complex X_GC_child_CisAisCjtAjt_Hubbard_MPI(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, double complex tmp_V, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term of grandcanonical Hubbard system.
long unsigned int A_spin
Mask used in the bit oeration.
unsigned int Nsite
Number of sites in the INTRA process region.
double complex GC_child_CisAisCisAis_spin_element(long unsigned int j, long unsigned int isA_up, long unsigned int isB_up, long unsigned int org_sigma2, long unsigned int org_sigma4, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X)
Compute term of grandcanonical spsin system.
const char * cLogCGExpecTwoBodyGFinish
const char * cLanczosExpecTwoBodyGFinish
long unsigned int * Tpow
[2 * DefineList::NsiteMPI] malloc in setmem_def().
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.
double complex X_child_CisAjtCkuAlv_Hubbard_MPI(int org_isite1, int org_ispin1, int org_isite2, int org_ispin2, int org_isite3, int org_ispin3, int org_isite4, int org_ispin4, double complex tmp_V, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term of canonical Hubbard system.
const char * cTEExpecTwoBodyGStart
double complex X_child_CisAjtCkuAku_Hubbard_MPI(int org_isite1, int org_ispin1, int org_isite2, int org_ispin2, int org_isite3, int org_ispin3, double complex tmp_V, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term of canonical Hubbard system.
long int i_max
Length of eigenvector.
const char * cLogLanczosExpecTwoBodyGFinish
double complex GC_child_CisAisCisAis_element(long unsigned int j, long unsigned int isite1, long unsigned int isite3, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off)
Compute term of grandcanonical Hubbard system.
double complex child_CisAisCisAis_spin_element(long unsigned int j, long unsigned int isA_up, long unsigned int isB_up, long unsigned int org_sigma2, long unsigned int org_sigma4, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X)
Compute term of canonical spsin system.
int expec_cisajscktalt_HubbardGC(struct BindStruct *X, double complex *vec, FILE **_fp)
Child function to calculate two-body green's functions for Hubbard GC model.
int expec_cisajscktalt_SpinHalf(struct BindStruct *X, double complex *vec, FILE **_fp)
Child function to calculate two-body green's functions for 1/2 Spin model.
const char * cLanczosExpecTwoBodyGStart
double complex X_GC_child_CisAjtCkuAku_Hubbard_MPI(int org_isite1, int org_ispin1, int org_isite2, int org_ispin2, int org_isite3, int org_ispin3, double complex tmp_V, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term of grandcanonical Hubbard system.
int iFlgGeneralSpin
Flag for the general (Sz/=1/2) spin.
const char * cCGExpecTwoBodyGFinish
long unsigned int * list_1
const char * cFileName2BGreen_CG
unsigned int NCisAjtCkuAlvDC
Number of indices of two-body correlation function.
long unsigned int is2_spin
Mask used in the bit oeration.
double complex child_CisAisCisAis_element(long unsigned int j, long unsigned int isite1, long unsigned int isite3, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off)
Compute term of canonical Hubbard system.
const char * cFileName2BGreen_Lanczos
long int * SiteToBit
[DefineList::NsiteMPI] Similar to DefineList::Tpow. For general spin.
int istep
Index of TPQ step ???
const char * cCGExpecTwoBodyGStart
const char * cFileNameTimeKeep
const char * cTPQExpecTwoBodyGStart
int BitCheckGeneral(const long unsigned int org_bit, const unsigned int org_isite, const unsigned int target_ispin, const long int *SiteToBit, const long unsigned int *Tpow)
bit check function for general spin
const char * cFileName2BGreen_TE
int expec_cisajscktalt_SpinGCHalf(struct BindStruct *X, double complex *vec, FILE **_fp)
Child function to calculate two-body green's functions for 1/2 Spin GC model.
double complex X_GC_child_CisAitCjuAju_GeneralSpin_MPIdouble(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
term in Spin model. When both site1 and site3 are in the inter process region.
long unsigned int isA_spin
Mask used in the bit oeration.
double complex X_child_general_int_spin_MPIdouble(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Exchange term in Spin model When both site1 and site2 are in the inter process region.
double complex X_GC_child_CisAjtCkuAlv_Hubbard_MPI(int org_isite1, int org_ispin1, int org_isite2, int org_ispin2, int org_isite3, int org_ispin3, int org_isite4, int org_ispin4, double complex tmp_V, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term of grandcanonical Hubbard system.
int expec_cisajscktalt_SpinGCGeneral(struct BindStruct *X, double complex *vec, FILE **_fp)
Child function to calculate two-body green's functions for General Spin GC model. ...
double complex X_GC_child_CisAisCjuAjv_GeneralSpin_MPIsingle(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term in the grandcanonical general spin system when one of these site is in the inter proces...
int expec_cisajscktalt_Spin(struct BindStruct *X, double complex *vec, FILE **_fp)
Parent function to calculate two-body green's functions for Spin model.
double complex X_GC_child_CisAisCjuAjv_spin_MPIsingle(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
CisAisCjuAjv term in Spin model + GC When only site2 is in the inter process region.
double complex X_child_general_int_spin_MPIsingle(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
int iCalcModel
Switch for model. 0:Hubbard, 1:Spin, 2:Kondo, 3:HubbardGC, 4:SpinGC, 5:KondoGC, 6:HubbardNConserved.
int GetOffCompGeneralSpin(const long unsigned int org_ibit, const int org_isite, const int org_ispin, const int off_ispin, long unsigned int *_ioffComp, const long int *SiteToBit, const long unsigned int *Tpow)
function of getting off-diagonal component for general spin
const char * cFileName2BGreen_FullDiag
int myrank
Process ID, defined in InitializeMPI()
double complex X_GC_child_CisAitCiuAiv_spin_MPIdouble(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
term in Spin model + GC. When both site1 and site2 are in the inter process region.
int eigen_num
Index of eigenstate used for the file name of the correlation function.
double complex GC_child_CisAisCjtAku_element(long unsigned int j, long unsigned int isite1, long unsigned int isite3, long unsigned int isite4, long unsigned int Bsum, long unsigned int Bdiff, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off)
Compute term of grandcanonical Hubbard system.
struct CheckList Check
Size of the Hilbert space.
double complex X_GC_child_CisAitCjuAju_spin_MPIdouble(int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
CisAisCjuAjv term in Spin model + GC When both site1 and site2 are in the inter process region...
char * CDataFileHead
Read from Calcmod in readdef.h. Header of output file such as Green's function.
int TimeKeeperWithStep(struct BindStruct *X, const char *cFileName, const char *cTimeKeeper_Message, const char *cWriteType, const int istep)
Functions for writing a time log.
double complex X_GC_child_CisAisCjuAju_GeneralSpin_MPIsingle(int org_isite1, int org_ispin1, int org_isite3, int org_ispin3, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1)
Compute term in the grandcanonical general spin system when one of these site is in the inter proces...
double complex GC_child_CisAjtCkuAku_element(long unsigned int j, long unsigned int isite1, long unsigned int isite2, long unsigned int isite3, long unsigned int Asum, long unsigned int Adiff, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off)
Compute term of grandcanonical Hubbard system.
double complex child_CisAjtCkuAlv_element(long unsigned int j, long unsigned int isite1, long unsigned int isite2, long unsigned int isite3, long unsigned int isite4, long unsigned int Asum, long unsigned int Adiff, long unsigned int Bsum, long unsigned int Bdiff, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off_2)
Compute term of canonical Hubbard system.
int expec_cisajscktalt_Hubbard(struct BindStruct *X, double complex *vec, FILE **_fp)
Child function to calculate two-body green's functions for Hubbard model.
double complex GC_child_CisAjtCkuAlv_element(long unsigned int j, long unsigned int isite1, long unsigned int isite2, long unsigned int isite3, long unsigned int isite4, long unsigned int Asum, long unsigned int Adiff, long unsigned int Bsum, long unsigned int Bdiff, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off_2)
Compute term of grandcanonical Hubbard system.
int TimeKeeperWithRandAndStep(struct BindStruct *X, const char *cFileName, const char *cTimeKeeper_Message, const char *cWriteType, const int irand, const int istep)
Functions for writing a time log.
int TimeKeeper(struct BindStruct *X, const char *cFileName, const char *cTimeKeeper_Message, const char *cWriteType)
Functions for writing a time log.
int iCalcType
Switch for calculation type. 0:Lanczos, 1:TPQCalc, 2:FullDiag.
FILE * stdoutMPI
File pointer to the standard output defined in InitializeMPI()
double complex child_CisAisCjtAku_element(long unsigned int j, long unsigned int isite1, long unsigned int isite3, long unsigned int isite4, long unsigned int Bsum, long unsigned int Bdiff, double complex tmp_V, double complex *tmp_v0, double complex *tmp_v1, struct BindStruct *X, long unsigned int *tmp_off)
Compute term of canonical Hubbard system.