| HΦ
    3.1.0
    | 
Generating Hilbert spaces. More...
#include <bitcalc.h>#include "mfmemory.h"#include "FileIO.h"#include "sz.h"#include "wrapperMPI.h"#include "xsetmem.h"Go to the source code of this file.
| Functions | |
| int | child_omp_sz_Kondo_hacker (long unsigned int ib, long unsigned int ihfbit, struct BindStruct *X, long unsigned int *list_1_, long unsigned int *list_2_1_, long unsigned int *list_2_2_, long unsigned int *list_jb_) | 
| calculating restricted Hilbert space for Kondo-GC systems  More... | |
| int | sz (struct BindStruct *X, long unsigned int *list_1_, long unsigned int *list_2_1_, long unsigned int *list_2_2_) | 
| generating Hilbert space  More... | |
| long int | Binomial (int n, int k, long int **comb, int Nsite) | 
| int | child_omp_sz (long unsigned int ib, long unsigned int ihfbit, struct BindStruct *X, long unsigned int *list_1_, long unsigned int *list_2_1_, long unsigned int *list_2_2_, long unsigned int *list_jb_) | 
| calculating restricted Hilbert space for Hubbard systems  More... | |
| int | child_omp_sz_hacker (long unsigned int ib, long unsigned int ihfbit, struct BindStruct *X, long unsigned int *list_1_, long unsigned int *list_2_1_, long unsigned int *list_2_2_, long unsigned int *list_jb_) | 
| efficient version of calculating restricted Hilbert space for Hubbard systems using snoob details of snoob is found in S.H. Warren, Hacker$B!G(Bs Delight, second ed., Addison-Wesley, ISBN: 0321842685, 2012.  More... | |
| int | child_omp_sz_Kondo (long unsigned int ib, long unsigned int ihfbit, struct BindStruct *X, long unsigned int *list_1_, long unsigned int *list_2_1_, long unsigned int *list_2_2_, long unsigned int *list_jb_) | 
| calculating restricted Hilbert space for Kondo systems  More... | |
| int | child_omp_sz_KondoGC (long unsigned int ib, long unsigned int ihfbit, struct BindStruct *X, long unsigned int *list_1_, long unsigned int *list_2_1_, long unsigned int *list_2_2_, long unsigned int *list_jb_) | 
| int | child_omp_sz_spin (long unsigned int ib, long unsigned int ihfbit, unsigned int N, struct BindStruct *X, long unsigned int *list_1_, long unsigned int *list_2_1_, long unsigned int *list_2_2_, long unsigned int *list_jb_) | 
| calculating restricted Hilbert space for spin-1/2 systems  More... | |
| int | child_omp_sz_spin_hacker (long unsigned int ib, long unsigned int ihfbit, unsigned int N, struct BindStruct *X, long unsigned int *list_1_, long unsigned int *list_2_1_, long unsigned int *list_2_2_, long unsigned int *list_jb_) | 
| efficient version of calculating restricted Hilbert space for spin-1/2 systems details of snoob is found in S.H. Warren, Hacker$B!G(Bs Delight, second ed., Addison-Wesley, ISBN: 0321842685, 2012.  More... | |
| int | child_omp_sz_GeneralSpin (long unsigned int ib, long unsigned int ihfbit, struct BindStruct *X, long unsigned int *list_1_, long unsigned int *list_2_1_, long unsigned int *list_2_2_, long int *list_2_1_Sz_, long int *list_2_2_Sz_, long unsigned int *list_jb_) | 
| calculating restricted Hilbert space for general spin systems (S>1/2)  More... | |
| int | Read_sz (struct BindStruct *X, const long unsigned int irght, const long unsigned int ilft, const long unsigned int ihfbit, long unsigned int *i_max) | 
| reading the list of the restricted Hilbert space  More... | |
Generating Hilbert spaces.
calculating binomial coefficients
| [in] | n | n for \(_nC_k = \frac{n!}{(n-k)!k!}\) | 
| [in] | k | k for \(_nC_k = \frac{n!}{(n-k)!k!}\) | 
| [out] | comb | binomial coefficients \(_nC_k\) | 
| [in] | Nsite | # of sites | 
Definition in file sz.c.
| long int Binomial | ( | int | n, | 
| int | k, | ||
| long int ** | comb, | ||
| int | Nsite | ||
| ) | 
| int child_omp_sz | ( | long unsigned int | ib, | 
| long unsigned int | ihfbit, | ||
| struct BindStruct * | X, | ||
| long unsigned int * | list_1_, | ||
| long unsigned int * | list_2_1_, | ||
| long unsigned int * | list_2_2_, | ||
| long unsigned int * | list_jb_ | ||
| ) | 
calculating restricted Hilbert space for Hubbard systems
| [in] | ib | upper half bit of i | 
| [in] | ihfbit | 2^(Ns/2) | 
| [in] | X | |
| [out] | list_1_ | list_1_[icnt] = i : i is divided into ia and ib (i=ib*ihfbit+ia) | 
| [out] | list_2_1_ | list_2_1_[ib] = jb | 
| [out] | list_2_2_ | list_2_2_[ia] = ja : icnt=jb+ja | 
| [in] | list_jb_ | list_jb_[ib] = jb | 
| [in] | ib | |
| [in] | ihfbit | |
| [in] | X | |
| [out] | list_1_ | |
| [out] | list_2_1_ | |
| [out] | list_2_2_ | |
| [in] | list_jb_ | 
Definition at line 816 of file sz.c.
References X.
Referenced by sz().
| int child_omp_sz_GeneralSpin | ( | long unsigned int | ib, | 
| long unsigned int | ihfbit, | ||
| struct BindStruct * | X, | ||
| long unsigned int * | list_1_, | ||
| long unsigned int * | list_2_1_, | ||
| long unsigned int * | list_2_2_, | ||
| long int * | list_2_1_Sz_, | ||
| long int * | list_2_2_Sz_, | ||
| long unsigned int * | list_jb_ | ||
| ) | 
calculating restricted Hilbert space for general spin systems (S>1/2)
| [in] | ib | upper half bit of i | 
| [in] | ihfbit | 2^(Ns/2) | 
| [in] | X | |
| [out] | list_1_ | list_1_[icnt] = i : i is divided into ia and ib (i=ib*ihfbit+ia) | 
| [out] | list_2_1_ | list_2_1_[ib] = jb | 
| [out] | list_2_2_ | list_2_2_[ia] = ja : icnt=jb+ja | 
| [out] | list_2_1_Sz_ | |
| [out] | list_2_2_Sz_ | |
| [in] | list_jb_ | list_jb_[ib] = jb | 
Definition at line 1483 of file sz.c.
References X.
Referenced by sz().
| int child_omp_sz_hacker | ( | long unsigned int | ib, | 
| long unsigned int | ihfbit, | ||
| struct BindStruct * | X, | ||
| long unsigned int * | list_1_, | ||
| long unsigned int * | list_2_1_, | ||
| long unsigned int * | list_2_2_, | ||
| long unsigned int * | list_jb_ | ||
| ) | 
efficient version of calculating restricted Hilbert space for Hubbard systems using snoob details of snoob is found in S.H. Warren, Hacker$B!G(Bs Delight, second ed., Addison-Wesley, ISBN: 0321842685, 2012.
| [in] | ib | upper half bit of i | 
| [in] | ihfbit | 2^(Ns/2) | 
| [in] | X | |
| [out] | list_1_ | list_1_[icnt] = i : i is divided into ia and ib (i=ib*ihfbit+ia) | 
| [out] | list_2_1_ | list_2_1_[ib] = jb | 
| [out] | list_2_2_ | list_2_2_[ia] = ja : icnt=jb+ja | 
| [in] | list_jb_ | list_jb_[ib] = jb | 
Definition at line 912 of file sz.c.
Referenced by sz().
| int child_omp_sz_Kondo | ( | long unsigned int | ib, | 
| long unsigned int | ihfbit, | ||
| struct BindStruct * | X, | ||
| long unsigned int * | list_1_, | ||
| long unsigned int * | list_2_1_, | ||
| long unsigned int * | list_2_2_, | ||
| long unsigned int * | list_jb_ | ||
| ) | 
calculating restricted Hilbert space for Kondo systems
| [in] | ib | upper half bit of i | 
| [in] | ihfbit | 2^(Ns/2) | 
| [in] | X | |
| [out] | list_1_ | list_1_[icnt] = i : i is divided into ia and ib (i=ib*ihfbit+ia) | 
| [out] | list_2_1_ | list_2_1_[ib] = jb | 
| [out] | list_2_2_ | list_2_2_[ia] = ja : icnt=jb+ja | 
| [in] | list_jb_ | list_jb_[ib] = jb | 
Definition at line 1029 of file sz.c.
Referenced by sz().
| int child_omp_sz_Kondo_hacker | ( | long unsigned int | ib, | 
| long unsigned int | ihfbit, | ||
| struct BindStruct * | X, | ||
| long unsigned int * | list_1_, | ||
| long unsigned int * | list_2_1_, | ||
| long unsigned int * | list_2_2_, | ||
| long unsigned int * | list_jb_ | ||
| ) | 
calculating restricted Hilbert space for Kondo-GC systems
| [in] | ib | upper half bit of i | 
| [in] | ihfbit | 2^(Ns/2) | 
| [in] | X | |
| [out] | list_1_ | list_1_[icnt] = i : i is divided into ia and ib (i=ib*ihfbit+ia) | 
| [out] | list_2_1_ | list_2_1_[ib] = jb | 
| [out] | list_2_2_ | list_2_2_[ia] = ja : icnt=jb+ja | 
| [in] | list_jb_ | list_jb_[ib] = jb | 
Definition at line 1141 of file sz.c.
References ITINERANT, snoob(), and X.
Referenced by sz().
| int child_omp_sz_KondoGC | ( | long unsigned int | ib, | 
| long unsigned int | ihfbit, | ||
| struct BindStruct * | X, | ||
| long unsigned int * | list_1_, | ||
| long unsigned int * | list_2_1_, | ||
| long unsigned int * | list_2_2_, | ||
| long unsigned int * | list_jb_ | ||
| ) | 
| int child_omp_sz_spin | ( | long unsigned int | ib, | 
| long unsigned int | ihfbit, | ||
| unsigned int | N, | ||
| struct BindStruct * | X, | ||
| long unsigned int * | list_1_, | ||
| long unsigned int * | list_2_1_, | ||
| long unsigned int * | list_2_2_, | ||
| long unsigned int * | list_jb_ | ||
| ) | 
calculating restricted Hilbert space for spin-1/2 systems
| [in] | ib | upper half bit of i | 
| [in] | ihfbit | 2^(Ns/2) | 
| [in] | X | |
| [in] | N | ??? | 
| [out] | list_1_ | list_1_[icnt] = i : i is divided into ia and ib (i=ib*ihfbit+ia) | 
| [out] | list_2_1_ | list_2_1_[ib] = jb | 
| [out] | list_2_2_ | list_2_2_[ia] = ja : icnt=jb+ja | 
| [in] | list_jb_ | list_jb_[ib] = jb | 
Definition at line 1350 of file sz.c.
References X.
Referenced by sz().
| int child_omp_sz_spin_hacker | ( | long unsigned int | ib, | 
| long unsigned int | ihfbit, | ||
| unsigned int | N, | ||
| struct BindStruct * | X, | ||
| long unsigned int * | list_1_, | ||
| long unsigned int * | list_2_1_, | ||
| long unsigned int * | list_2_2_, | ||
| long unsigned int * | list_jb_ | ||
| ) | 
efficient version of calculating restricted Hilbert space for spin-1/2 systems details of snoob is found in S.H. Warren, Hacker$B!G(Bs Delight, second ed., Addison-Wesley, ISBN: 0321842685, 2012.
| [in] | ib | upper half bit of i | 
| [in] | ihfbit | 2^(Ns/2) | 
| [in] | X | |
| [in] | N | ??? | 
| [out] | list_1_ | list_1_[icnt] = i : i is divided into ia and ib (i=ib*ihfbit+ia) | 
| [out] | list_2_1_ | list_2_1_[ib] = jb | 
| [out] | list_2_2_ | list_2_2_[ia] = ja : icnt=jb+ja | 
| [in] | list_jb_ | list_jb_[ib] = jb | 
Definition at line 1414 of file sz.c.
Referenced by sz().
| int Read_sz | ( | struct BindStruct * | X, | 
| const long unsigned int | irght, | ||
| const long unsigned int | ilft, | ||
| const long unsigned int | ihfbit, | ||
| long unsigned int * | i_max | ||
| ) | 
reading the list of the restricted Hilbert space
| [in] | X | |
| [in] | irght | |
| [in] | ilft | |
| [in] | ihfbit | |
| [in] | i_max | 
Definition at line 1528 of file sz.c.
References cErrSz_NoFile, cErrSz_NoFile_Show, cFileNameErrorSz, cFileNameListModel, cFileNameSzTimeKeep, cFileNameTimeKeep, childfopenMPI(), cReadSzEnd, cReadSzStart, D_FileNameMax, exitMPI(), fgetsMPI(), list_1, list_2_1, list_2_2, TimeKeeper(), and X.
Referenced by sz().
| int sz | ( | struct BindStruct * | X, | 
| long unsigned int * | list_1_, | ||
| long unsigned int * | list_2_1_, | ||
| long unsigned int * | list_2_2_ | ||
| ) | 
generating Hilbert space
| [in,out] | X | |
| [out] | list_1_ | list_1[icnt] = i (index of full Hilbert space) : icnt = index in the restricted Hilbert space | 
| [out] | list_2_1_ | icnt=list_2_1[]+list_2_2[] | 
| [out] | list_2_2_ | 
Definition at line 63 of file sz.c.
References Binomial(), cErrSz, cErrSz_OutFile, cErrSz_ShowDim, cFileNameErrorSz, cFileNameSzTimeKeep, cFileNameTimeKeep, child_omp_sz(), child_omp_sz_GeneralSpin(), child_omp_sz_hacker(), child_omp_sz_Kondo(), child_omp_sz_Kondo_hacker(), child_omp_sz_KondoGC(), child_omp_sz_spin(), child_omp_sz_spin_hacker(), childfopenMPI(), cInitalSz, cOMPSzFinish, cOMPSzMid, cOMPSzStart, cProEndCalcSz, cProStartCalcSz, cStateLocSpin, cStateNupNdown, D_FileNameMax, exitMPI(), FALSE, GetLocal2Sz(), GetSplitBitByModel(), ITINERANT, Read_sz(), snoob(), stdoutMPI, TimeKeeper(), TRUE, and X.
Referenced by main(), and MakeExcitedList().