Commit 8757cb9e by Fakher F. Assaad

1) Updated documentation such that the sign convention for perfect square term …

…is identical to that in the code.
2) Updated acknowledgment.tex.
3) Corrected bug in upgrade.f90 which  can lead to a wrong calculation of the phase. The bug showed up when the phase was not pinned to -1 or 1,
1 parent 2ad9f359
No preview for this file type
......@@ -3,11 +3,12 @@
% The ALF project documentation by the ALF contributors is licensed
% under a Creative Commons Attribution-ShareAlike 4.0 International License.
% For the licensing details of the documentation see license.CCBYSA.
% !TEX root = Doc.tex
% !TEX root = ALF-05.tex
%-------------------------------------------------------------------------------------
\section*{Acknowledgments}
%-------------------------------------------------------------------------------------
We are very grateful to S. Beyl, M. Hohenadler, F. Parisen Toldin, M. Raczkowski, J. Schwab, T. Sato, Z. Wang and M. Weber, for constant support during the development of this project. FFA would also like to thank T. Lang and Z.Y. Meng for developments of the auxiliary field code as well as T. Grover.
MB thanks the the Bavarian Competence Network for Technical and Scientific High Performance Computing (KONWIHR) for financial support. FG and JH thank the SFB-1170 for financial support under projects Z03 and C01. FFA thanks the DFG-funded FOR1807 and FOR1346 for partial financial support.
Part of the optimization of the code was carried during the Porting and Tuning Workshop 2016 offered by the Forschungszentrum J\"ulich.
Calculations to extensively test this package were carried out on SuperMUC at the Leibniz Supercomputing Centre and on JURECA \cite{Jureca16} at the J\"ulich Supercomputing Centre (JSC). We thank those institutions for generous computer allocations.
......@@ -137,14 +137,14 @@ To make contact with the general expression (\ref{eqn:exponent_mat}) we set $g=-
In case of the hopping matrix, the type variable $\texttt{Op\_T\%type}$ is neglected by the code.
All in all, the corresponding array of structure variables is \texttt{Op\_T(M$_T$,N$_{fl}$)}.
\item For the interaction Hamiltonian (\ref{eqn:general_ham_v}), which is of perfect-square type, we have to set the exponentiated matrices $e^{ \sqrt{ \Delta \tau U_k} \eta_{k\tau} {\bm V}^{(ks)} }$:
\item For the interaction Hamiltonian (\ref{eqn:general_ham_v}), which is of perfect-square type, we have to set the exponentiated matrices $e^{ \sqrt{ - \Delta \tau U_k} \eta_{k\tau} {\bm V}^{(ks)} }$:
In this case, ${\mathbf X} = \mathbf{V}^{(ks)}$. A single variable \texttt{Op\_V} describes the operator matrix:
\begin{equation}
\left[ \left( \sum_{x,y}^{N_{\mathrm{dim}}} \hat{c}^{\dagger}_x V_{x,y}^{(ks)} \hat{c}^{\phantom{\dagger}}_{y} \right) - \alpha_{ks} \right] \;,
\left[ \left( \sum_{x,y}^{N_{\mathrm{dim}}} \hat{c}^{\dagger}_x V_{x,y}^{(ks)} \hat{c}^{\phantom{\dagger}}_{y} \right) + \alpha_{ks} \right] \;,
\end{equation}
where $k=[1, M_{V}]$ and $s=[1, N_{\mathrm{fl}}]$.
To make contact with the general expression (\ref{eqn:exponent_mat}), we set $\alpha = -\alpha_{ks}$ and $g = \sqrt{\Delta \tau U_k}$.
To make contact with the general expression (\ref{eqn:exponent_mat}), we set $\alpha = \alpha_{ks}$ and $g = \sqrt{-\Delta \tau U_k}$.
The discrete Hubbard-Stratonovich decomposition which is used for the perfect-square interaction, is selected by setting the type variable to $\texttt{Op\_V\%type}=2$.
All in all, the required structure variables \texttt{Op\_V} are defined using the array \texttt{Op\_V(M$_V$,N$_{fl}$)}.
......
......@@ -23,7 +23,6 @@ The class of solvable models includes Hamiltonians $\hat{\mathcal{H}}$ that hav
\label{eqn:general_ham_t}\\
\hat{\mathcal{H}}_{V}
&=&
-
\sum\limits_{k=1}^{M_V}U_{k}
\left\{
\sum\limits_{\sigma=1}^{N_{\mathrm{col}}}
......@@ -33,9 +32,9 @@ The class of solvable models includes Hamiltonians $\hat{\mathcal{H}}$ that hav
\sum\limits_{x,y}^{N_{\mathrm{dim}}}
\hat{c}^{\dagger}_{x \sigma s}V_{xy}^{(k s)}\hat{c}^{\phantom\dagger}_{y \sigma s}
\right)
-\alpha_{k s}
+\alpha_{k s}
\right]
\right\}^{2} \equiv -
\right\}^{2} \equiv
\sum\limits_{k=1}^{M_V}U_{k} \left(\hat{V}^{(k)} \right)^2
\label{eqn:general_ham_v}\\
\hat{\mathcal{H}}_{I} & = &
......@@ -108,40 +107,40 @@ With the above, the partition function of the model (\ref{eqn:general_ham}) can
\begin{eqnarray}\label{eqn:partition_1}
Z &=& \Tr{\left(e^{-\beta \hat{\mathcal{H}} }\right)}\nonumber\\
&=& \Tr{ \left[ e^{-\Delta \tau \hat{\mathcal{H}}_{0,I}} \prod_{k=1}^{M_T} e^{-\Delta \tau \hat{T}^{(k)}}
\prod_{k=1}^{M_V} e^{ \Delta \tau U_k \left( \hat{V}^{(k)} \right)^2} \prod_{k=1}^{M_I} e^{ -\Delta \tau \hat{\sigma}_{k} \hat{I}^{(k)}}
\prod_{k=1}^{M_V} e^{ - \Delta \tau U_k \left( \hat{V}^{(k)} \right)^2} \prod_{k=1}^{M_I} e^{ -\Delta \tau \hat{\sigma}_{k} \hat{I}^{(k)}}
\right]^{L_{\text{Trotter}}}} + \mathcal{O}(\Delta\tau^{2})\nonumber \\
&=&
\sum_{C} \left( \prod_{k=1}^{M_V} \prod_{\tau=1}^{L_{\mathrm{Trotter}}} \gamma_{k,\tau} \right) e^{-S_{0,I} \left( \left\{ s_{i,\tau} \right\} \right) }\times \nonumber\\
&\quad&
\Trf{ \left\{ \prod_{\tau=1}^{L_{\mathrm{Trotter}}} \left[ \prod_{k=1}^{M_T} e^{-\Delta \tau \hat{T}^{(k)}}
\prod_{k=1}^{M_V} e^{ \sqrt{ \Delta \tau U_k} \eta_{k,\tau} \hat{V}^{(k)} } \prod_{k=1}^{M_I} e^{ -\Delta \tau s_{k,\tau} \hat{I}^{(k)}} \right]\right\} }+ \mathcal{O}(\Delta\tau^{2})\;.
\prod_{k=1}^{M_V} e^{ \sqrt{ -\Delta \tau U_k} \eta_{k,\tau} \hat{V}^{(k)} } \prod_{k=1}^{M_I} e^{ -\Delta \tau s_{k,\tau} \hat{I}^{(k)}} \right]\right\} }+ \mathcal{O}(\Delta\tau^{2})\;.
\end{eqnarray}
In the above, the trace $\mathrm{Tr} $ runs over the Ising spins as well as over the fermionic degrees of freedom, and $ \mathrm{Tr}_{\mathrm{F}} $ only over the fermionic Fock space.
$S_{0,I} \left( \left\{ s_{i,\tau} \right\} \right) $ is the action corresponding to the Ising Hamiltonian, and is only dependent on the Ising spins so that it can be pulled out of the fermionic trace.
At this point, and since for a given configuration $C$ we are dealing with a free propagation, we can integrate out the fermions to obtain a determinant:
\begin{eqnarray}
&\quad&\Trf{ \left\{ \prod_{\tau=1}^{L_{\mathrm{Trotter}}} \left[ \prod_{k=1}^{M_T} e^{-\Delta \tau \hat{T}^{(k)}}
\prod_{k=1}^{M_V} e^{ \sqrt{ \Delta \tau U_k} \eta_{k,\tau} \hat{V}^{(k)} } \prod_{k=1}^{M_I} e^{ -\Delta \tau s_{k,\tau} \hat{I}^{(k)}} \right] \right\}} = \nonumber\\
&\quad& \quad\prod\limits_{s=1}^{N_{\mathrm{fl}}} \left[ e^{- \sum\limits_{k=1}^{M_V} \sum\limits_{\tau = 1}^{L_{\mathrm{Trotter}}}\sqrt{\Delta \tau U_k} \alpha_{k,s} \eta_{k,\tau} }
\prod_{k=1}^{M_V} e^{ \sqrt{ - \Delta \tau U_k} \eta_{k,\tau} \hat{V}^{(k)} } \prod_{k=1}^{M_I} e^{ -\Delta \tau s_{k,\tau} \hat{I}^{(k)}} \right] \right\}} = \nonumber\\
&\quad& \quad\prod\limits_{s=1}^{N_{\mathrm{fl}}} \left[ e^{\sum\limits_{k=1}^{M_V} \sum\limits_{\tau = 1}^{L_{\mathrm{Trotter}}}\sqrt{-\Delta \tau U_k} \alpha_{k,s} \eta_{k,\tau} }
\right]^{N_{\mathrm{col}}}\times
\nonumber\\
&\quad&\quad \prod\limits_{s=1}^{N_{\mathrm{fl}}}
\left[
\det\left( 1 +
\prod_{\tau=1}^{L_{\mathrm{Trotter}}} \prod_{k=1}^{M_T} e^{-\Delta \tau {\bf T}^{(ks)}}
\prod_{k=1}^{M_V} e^{ \sqrt{ \Delta \tau U_k} \eta_{k,\tau} {\bm V}^{(ks)} } \prod_{k=1}^{M_I} e^{ -\Delta \tau s_{k,\tau} {\bm I}^{(ks)}}
\prod_{k=1}^{M_V} e^{ \sqrt{ -\Delta \tau U_k} \eta_{k,\tau} {\bm V}^{(ks)} } \prod_{k=1}^{M_I} e^{ -\Delta \tau s_{k,\tau} {\bm I}^{(ks)}}
\right) \right]^{N_{\mathrm{col}}}\;,
\end{eqnarray}
where the matrices ${\bf T}^{(ks)}$, ${\bf V}^{(ks)}$, and ${\bf I}^{(ks)}$ define the Hamiltonian [Eq.~(\ref{eqn:general_ham}) - (\ref{eqn:general_ham_i})].
All in all, the partition function is given by:
\begin{eqnarray}\label{eqn:partition_2}
Z &=& \sum_{C} e^{-S_{0,I} \left( \left\{ s_{i,\tau} \right\} \right) } \left( \prod_{k=1}^{M_V} \prod_{\tau=1}^{L_{\mathrm{Trotter}}} \gamma_{k,\tau} \right)
e^{- N_{\mathrm{col}}\sum\limits_{s=1}^{N_{\mathrm{fl}}} \sum\limits_{k=1}^{M_V} \sum\limits_{\tau = 1}^{L_{\mathrm{Trotter}}}\sqrt{\Delta \tau U_k} \alpha_{k,s} \eta_{k,\tau} }
e^{ N_{\mathrm{col}}\sum\limits_{s=1}^{N_{\mathrm{fl}}} \sum\limits_{k=1}^{M_V} \sum\limits_{\tau = 1}^{L_{\mathrm{Trotter}}}\sqrt{-\Delta \tau U_k} \alpha_{k,s} \eta_{k,\tau} }
\times \nonumber \\
&\quad&
\prod_{s=1}^{N_{\mathrm{fl}}}\left[\det\left( 1 +
\prod_{\tau=1}^{L_{\mathrm{Trotter}}} \prod_{k=1}^{M_T} e^{-\Delta \tau {\bm T}^{(ks)}}
\prod_{k=1}^{M_V} e^{ \sqrt{ \Delta \tau U_k} \eta_{k,\tau} {\bm V}^{(ks)} } \prod_{k=1}^{M_I} e^{ -\Delta \tau s_{k,\tau} {\bm I}^{(ks)}}
\prod_{k=1}^{M_V} e^{ \sqrt{ -\Delta \tau U_k} \eta_{k,\tau} {\bm V}^{(ks)} } \prod_{k=1}^{M_I} e^{ -\Delta \tau s_{k,\tau} {\bm I}^{(ks)}}
\right) \right]^{N_{\mathrm{col}}} \nonumber \\
& \equiv& \sum_{C} e^{-S(C) }\;.
\end{eqnarray}
......
......@@ -115,7 +115,7 @@
Log = .false.
if ( Weight > ranf_wrap() ) Then
Log = .true.
Phase = Phase * Ratiotot/weight
Phase = Phase * Ratiotot/sqrt(Ratiotot*conjg(Ratiotot))
!Write(6,*) 'Accepted : ', Ratiotot
Do nf = 1,N_FL
......
......@@ -25,7 +25,7 @@ Edit **set_env.sh** to provide compiler information and flags as well as loca
**Examples** This directory provides a set of short example runs.
**Documentation** We have included in the file ALF-05.pdf an extensive documentation,
**Documentation** We have included in the file ALF-05.pdf an extensive documentation.
## TESTING ##
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!