Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/issp-center-dev/qlmpack
Browse files Browse the repository at this point in the history
…into develop
  • Loading branch information
k-yoshimi committed Jun 19, 2017
2 parents 548ba43 + 2842cfc commit cee4294
Show file tree
Hide file tree
Showing 7 changed files with 227 additions and 71 deletions.
8 changes: 0 additions & 8 deletions src/include/mltplyHubbard.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,6 @@ int mltplyHubbard(struct BindStruct *X, double complex *tmp_v0,double complex *t

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

double complex child_general_hopp_element
(
long unsigned int j,
double complex *tmp_v0,
double complex *tmp_v1,
struct BindStruct *X
);

double complex GC_child_general_hopp
(
double complex *tmp_v0,
Expand Down
19 changes: 0 additions & 19 deletions src/include/mltplyHubbardCore.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,6 @@

#include "Common.h"

double complex child_general_hopp_element
(
long unsigned int j,
double complex *tmp_v0,
double complex *tmp_v1,
struct BindStruct *X
);

double complex child_pairhopp_element
(
long unsigned int j,
Expand Down Expand Up @@ -184,17 +176,6 @@ double complex GC_child_CisAjtCkuAlv_element
);
//[e]Grand canonical

double complex CisAis
(
long unsigned int j,
double complex *tmp_v0,
double complex *tmp_v1,
struct BindStruct *X,
long unsigned int is1_spin,
double complex tmp_trans
);


double complex GC_CisAis
(
long unsigned int j,
Expand Down
7 changes: 0 additions & 7 deletions src/include/mltplySpin.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,4 @@ double complex GC_child_pairlift_spin
struct BindStruct *X
);

double complex child_pairlift_spin
(
double complex *tmp_v0,
double complex *tmp_v1,
struct BindStruct *X
);

#endif
34 changes: 0 additions & 34 deletions src/include/mltplySpinCore.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,6 @@ double complex GC_child_pairlift_spin_element
long unsigned int *tmp_off
);

double complex child_pairlift_spin_element
(
long unsigned int j,
double complex *tmp_v0,
double complex *tmp_v1,
struct BindStruct *X,
long unsigned int *tmp_off
);

double complex GC_child_exchange_spin_element
(
long unsigned int j,
Expand Down Expand Up @@ -80,21 +71,6 @@ double complex child_CisAisCisAis_spin_element
struct BindStruct *X
);

double complex child_CisAjsCjtAit_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,
long unsigned int *tmp_off
);


double complex child_CisAisCitAiu_spin_element
(
long unsigned int j,
Expand Down Expand Up @@ -246,16 +222,6 @@ long unsigned int is1_spin,
long unsigned int sigma1
);

int X_Spin_CisAjs(
long unsigned int j,
struct BindStruct *X,
long unsigned int is1_spin,
long unsigned int is2_spin,
long unsigned int sigma1,
long unsigned int *tmp_off
);


int X_SpinGC_CisAis(
long unsigned int j,
struct BindStruct *X,
Expand Down
42 changes: 39 additions & 3 deletions src/mltplyHubbard.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,8 @@
<tr>
<td>@f$c_{i s}^\dagger c_{j t}@f$</td>
<td>::CisAjt, ::X_CisAjt</td>
<td>::child_CisAjt_MPIsingle, ::child_CisAjt_MPIdouble, ::X_child_CisAjt_MPIsingle, ::X_child_CisAjt_MPIdouble</td>
<td>::child_CisAjt_MPIsingle, ::child_CisAjt_MPIdouble,
::X_child_CisAjt_MPIsingle, ::X_child_CisAjt_MPIdouble</td>
<td>::GC_CisAjt, ::X_GC_CisAjt</td>
<td>::GC_child_CisAjt_Hubbard_MPI, ::X_GC_child_CisAjt_Hubbard_MPI</td>
</tr>
Expand Down Expand Up @@ -91,16 +92,51 @@
<td>::GC_child_CisAjtCkuAku_element</td>
<td>::X_GC_child_CisAjtCkuAku_Hubbard_MPI</td>
</tr>
<tr>
<tr>
<td>@f$c_{i s}^\dagger c_{j t} c_{k u}^\dagger c_{l v}@f$</td>
<td>::child_CisAjtCkuAlv_element</td>
<td>::X_child_CisAjtCkuAlv_Hubbard_MPI</td>
<td>::GC_child_CisAjtCkuAlv_element</td>
<td>::X_GC_child_CisAjtCkuAlv_Hubbard_MPI</td>
</tr>
</table>
Other
<table>
<tr>
<td></td>
<td>Get info</td>
<td>Canonical</td>
<td>Grandcanonical</td>
</tr>
<tr>
<td>Exchange</td>
<td>::child_exchange_GetInfo</td>
<td>::child_exchange, ::child_exchange_element</td>
<td>::GC_child_exchange, ::GC_child_exchange_element</td>
</tr>
<tr>
<td>Pair hop</td>
<td>::child_pairhopp_GetInfo</td>
<td>::child_pairhopp, ::child_pairhopp_element</td>
<td>::GC_child_pairhopp, ::GC_child_pairhopp_element</td>
</tr>
<tr>
<td>General int.</td>
<td>::child_general_int_GetInfo</td>
<td>::child_general_int</td>
<td>::GC_child_general_int</td>
</tr>
<tr>
<td>General hop</td>
<td>::child_general_hopp_GetInfo</td>
<td>::child_general_hopp, ::child_general_hopp_MPIsingle,
::child_general_hopp_MPIdouble</td>
<td>::GC_child_general_hopp, ::GC_child_general_hopp_MPIsingle,
::GC_child_general_hopp_MPIdouble</td>
</tr>
</table>
*/
#include <bitcalc.h>
#include "mltplyCommon.h"
Expand Down
46 changes: 46 additions & 0 deletions src/mltplyMPISpinCore.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,52 @@
/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
/**@file
@brief Functions for spin Hamiltonian + MPI (Core)
General two body term:
<table>
<tr>
<td></td>
<td>1/2 spin</td>
<td>1/2 spin</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>MPI single</td>
<td>MPI double</td>
<td>MPI single</td>
<td>MPI double</td>
</tr>
<tr>
<td>@f$c_{is}^\dagger c_{is} c_{ju}^\dagger c_{ju}@f$</td>
<td>::GC_child_CisAisCjuAju_spin_MPIsingle, ::X_GC_child_CisAisCjuAjv_spin_MPIsingle</td>
<td>::GC_child_CisAisCjuAju_spin_MPIdouble, ::X_GC_child_CisAisCjuAjv_spin_MPIdouble</td>
<td>::X_child_CisAisCjuAju_GeneralSpin_MPIsingle, ::X_GC_child_CisAisCjuAjv_GeneralSpin_MPIsingle</td>
<td>::X_child_CisAisCjuAju_GeneralSpin_MPIsingle, ::X_GC_child_CisAisCjuAjv_GeneralSpin_MPIsingle</td>
</tr>
<tr>
<td>@f$c_{is}^\dagger c_{is} c_{ju}^\dagger c_{jv}@f$</td>
<td>::GC_child_CisAisCjuAjv_spin_MPIsingle, ::X_GC_child_CisAisCjuAjv_spin_MPIsingle</td>
<td>::GC_child_CisAisCjuAjv_spin_MPIdouble, ::X_GC_child_CisAisCjuAjv_spin_MPIdouble</td>
<td>::X_child_CisAisCjuAjv_GeneralSpin_MPIsingle, ::X_GC_child_CisAisCjuAjv_GeneralSpin_MPIsingle</td>
<td>::X_child_CisAisCjuAjv_GeneralSpin_MPIsingle, ::X_GC_child_CisAisCjuAjv_GeneralSpin_MPIsingle</td>
</tr>
<tr>
<td>@f$c_{is}^\dagger c_{it} c_{ju}^\dagger c_{ju}@f$</td>
<td>::GC_child_CisAitCjuAju_spin_MPIsingle, ::X_GC_child_CisAisCjuAjv_spin_MPIsingle</td>
<td>::GC_child_CisAitCjuAju_spin_MPIdouble, ::X_GC_child_CisAisCjuAjv_spin_MPIdouble</td>
<td>::X_child_CisAitCjuAju_GeneralSpin_MPIsingle, ::X_GC_child_CisAitCjuAju_GeneralSpin_MPIsingle</td>
<td>::X_child_CisAitCjuAju_GeneralSpin_MPIsingle, ::X_GC_child_CisAitCjuAju_GeneralSpin_MPIsingle</td>
</tr>
<tr>
<td>@f$c_{is}^\dagger c_{it} c_{ju}^\dagger c_{jv}@f$</td>
<td>::GC_child_CisAitCjuAjv_spin_MPIsingle, ::X_GC_child_CisAisCjuAjv_spin_MPIsingle</td>
<td>::GC_child_CisAitCjuAjv_spin_MPIdouble, ::X_GC_child_CisAisCjuAjv_spin_MPIdouble</td>
<td>::X_child_CisAitCjuAjv_GeneralSpin_MPIsingle, ::X_GC_child_CisAitCjuAjv_GeneralSpin_MPIsingle</td>
<td>::X_child_CisAitCjuAjv_GeneralSpin_MPIsingle, ::X_GC_child_CisAitCjuAjv_GeneralSpin_MPIsingle</td>
</tr>
</table>
*/
#ifdef MPI
#include "mpi.h"
Expand Down
142 changes: 142 additions & 0 deletions src/mltplySpin.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,148 @@
/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
/**@file
@brief Functions for spin Hamiltonian
- mltplySpin() : Main routine of spin Hamiltonian (canonical)
- mltplyHalfSpin() : 1/2 spin
- mltplyGeneralSpin() : general spin
- mltplySpinGC() : Main routine of spin Hamiltonian (grandcanonical)
- mltplyHalfSpinGC() : 1/2 spin
- mltplyGeneralSpinGC() : general spin
- mltplySpinGCBoost() :
Hub routines
<table>
<tr>
<td></td>
<td>Get info</td>
<td>Canonical</td>
<td>Grandcanonical</td>
</tr>
<tr>
<td>Exchange</td>
<td>::child_exchange_spin_GetInfo</td>
<td>::child_exchange_spin, ::child_exchange_spin_element</td>
<td>::GC_child_exchange_spin, ::GC_child_exchange_spin_element</td>
</tr>
<tr>
<td>Pair lift</td>
<td>::child_pairlift_spin_GetInfo</td>
<td></td>
<td>::GC_child_pairlift_spin, ::GC_child_pairlift_spin_element</td>
</tr>
<tr>
<td>General int.</td>
<td>::child_general_int_spin_GetInfo</td>
<td>::child_general_int_spin, ::child_general_int_spin_MPIsingle
::X_child_general_int_spin_MPIsingle, ::child_general_int_spin_MPIdouble,
::X_child_general_int_spin_MPIdouble</td>
<td>::GC_child_general_int_spin, ::GC_child_general_int_spin_MPIsingle,
::GC_child_general_int_spin_MPIdouble</td>
</tr>
<tr>
<td>General int for 1/2 spin</td>
<td>::child_general_int_spin_GetInfo</td>
<td>::child_general_int_spin, ::child_general_int_spin_MPIsingle
::X_child_general_int_spin_MPIsingle, ::child_general_int_spin_MPIdouble,
::X_child_general_int_spin_MPIdouble</td>
<td>::GC_child_general_int_spin, ::GC_child_general_int_spin_MPIsingle,
::GC_child_general_int_spin_MPIdouble</td>
</tr>
<tr>
<td>General int for general spin</td>
<td></td>
<td>::child_general_int_GeneralSpin_MPIsingle,
::child_general_int_GeneralSpin_MPIdouble</td>
<td>::GC_child_general_int_GeneralSpin_MPIsingle,
::GC_child_general_int_GeneralSpin_MPIdouble</td>
</tr>
</table>
General on-site term
<table>
<tr>
<td></td>
<td>1/2 spin</td>
<td>1/2 spin</td>
<td>1/2 spin</td>
<td>1/2 spin</td>
<td>General spin</td>
<td>General spin</td>
</tr>
<tr>
<td></td>
<td>Canonical</td>
<td>Canonical</td>
<td>Grand canonical</td>
<td>Grand canonical</td>
<td>Canonical</td>
<td>Grand canonical</td>
</tr>
<tr>
<td></td>
<td>In process</td>
<td>Across process</td>
<td>In process</td>
<td>Across process</td>
<td>Across process</td>
<td>Across process</td>
</tr>
<tr>
<td>@f$c_{i s}^\dagger c_{i s}@f$</td>
<td>::X_Spin_CisAis</td>
<td>::X_child_CisAis_spin_MPIdouble</td>
<td>::X_SpinGC_CisAis</td>
<td>::X_GC_child_CisAis_spin_MPIdouble</td>
<td>::X_child_CisAis_GeneralSpin_MPIdouble</td>
<td>::X_GC_child_CisAis_GeneralSpin_MPIdouble</td>
</tr>
<tr>
<td>@f$c_{i s}^\dagger c_{i t}@f$</td>
<td>::X_Spin_CisAit</td>
<td>::X_child_CisAit_spin_MPIdouble</td>
<td>::X_SpinGC_CisAit</td>
<td>::X_GC_child_CisAit_spin_MPIdouble</td>
<td>::X_child_CisAit_GeneralSpin_MPIdouble</td>
<td>::X_GC_child_CisAit_GeneralSpin_MPIdouble</td>
</tr>
<tr>
<td>@f$c_{i s}^\dagger c_{i s} c_{i s}^\dagger c_{i s}@f$</td>
<td>::child_CisAisCisAis_spin_element</td>
<td></td>
<td>::GC_child_CisAisCisAis_spin_element</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>@f$c_{i s}^\dagger c_{i s} c_{i t}^\dagger c_{i u}@f$</td>
<td></td>
<td></td>
<td>::GC_child_CisAisCitAiu_spin_element</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>@f$c_{i s}^\dagger c_{i t} c_{i u}^\dagger c_{i u}@f$</td>
<td></td>
<td></td>
<td>::GC_child_CisAitCiuAiu_spin_element</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>@f$c_{i s}^\dagger c_{i t} c_{i u}^\dagger c_{i v}@f$</td>
<td></td>
<td></td>
<td>::GC_child_CisAitCiuAiv_spin_element</td>
<td>::GC_child_CisAitCiuAiv_spin_MPIsingle, ::X_GC_child_CisAitCiuAiv_spin_MPIsingle,
::GC_child_CisAitCiuAiv_spin_MPIdouble, ::X_GC_child_CisAitCiuAiv_spin_MPIdouble</td>
<td></td>
<td></td>
</tr>
</table>
*/
#include <bitcalc.h>
#include "mfmemory.h"
Expand Down

0 comments on commit cee4294

Please sign in to comment.