5.3. Finite-temperature calculations by the TPQ method

Sugiura and Shimizu showed that it is possible to calculate the finite-temperature properties from a few wavefunctions (in the thermodynamic limit, only one wave function is necessary) [1], [2] . The wavefunction is called the thermal pure quantum (TPQ) state. Because the TPQ state can be generated by operating the Hamiltonian to the random initial wavefunction, we directly use the routine Lanczos method for the TPQ calculations. The TPQ state is given by

(5.9)\[|\Phi(\beta)\rangle\equiv\exp(-\frac{\beta\hat{\mathcal H}}{2})|\Phi_{\rm rand}\rangle.\]

Here, \(\beta\) represents inverse temperature and \(|\Phi_{\rm rand}\rangle\) is a random initial vector. It is shown that it is possible to calculate physical quantities at inverse temperature \(\beta\) as expectation values with respect to \(|\Phi(\beta)\rangle\).

5.3.1. Details of implementation

Construction of the micro canonical TPQ (mTPQ) state

Here, we explain how to construct the micro canonical TPQ (mTPQ) state [1], which offers the simplest method for calculating finite-temperature properties.

Let \(|\Phi_{\rm rand}\rangle\) be a random initial vector. By operating \((l-\hat{\mathcal H }/N_{s})^{k}\)(\(l\) is constant and \(N_{s}\) represents the number of sites) to \(|\Phi_{\rm rand}\rangle\), we obtain the \(k\)th TPQ states as

(5.10)\[|\Phi_{k}\rangle \equiv \frac{(l-\hat{\mathcal H }/N_{s})|\Phi_{k-1}\rangle}{|(l-\hat{\mathcal H }/N_{s})|\Phi_{k-1}\rangle}.\]

From \(|\Phi_{k}\rangle\), we estimate the corresponding inverse temperature \(\beta_{k}\) as

(5.11)\[\beta_{k}\sim \frac{2k/N_{s}}{l-u_{k}}, u_{k} = \langle \Phi_{k}|\hat{\mathcal H }|\Phi_{k}\rangle/N_{s},\]

where \(u_{k}\) is the internal energy. The arbitrary local physical properties at \(\beta_{k}\) are also estimated as

(5.12)\[\langle \hat{A}\rangle_{\beta_{k}} = \langle \Phi_{k}|\hat{A}|\Phi_{k}\rangle.\]

In a finite-size system, error is caused by the choice of the initial random vector. To estimate the average value and error of the physical properties, we perform some independent calculations by changing \(|\Phi_{\rm rand}\rangle\). Since the temperature

Construction of the canonical TPQ (cTPQ) state

Here, we explain how to construct the canonical TPQ (cTPQ) state [2], which is another way to construct the TPQ state. In the cTPQ method, \(\exp[-\beta\hat{\mathcal H}/2]\) is approximated as follows:

(5.13)\[\begin{split}&\exp(-\frac{\beta\hat{\mathcal H}}{2})|\Phi_{\rm rand}\rangle\sim|\Phi_{k}\rangle = U(\Delta\tau)^{k}|\Phi_{\rm rand}\rangle\\ &U(\Delta\tau)=\sum_{n=0}^{n_{\rm max}}\frac{1}{n!}(-\frac{\Delta\tau}{2}\hat{\mathcal H})^{n}\\ &\beta_{k}=k\Delta \tau\end{split}\]

As in the mTPQ method, physical quantities are calculated as

(5.14)\[\langle \hat{A}\rangle_{\beta_{k}} = \frac{\langle\Phi_{k}|\hat{A}|\Phi_{k}\rangle}{\langle\Phi_{k}|\Phi_{k}\rangle}.\]

Initial vector

For the TPQ method, the initial vector is given by using a random generator, i.e., the coefficients of all the components for the initial vector are given by random numbers. The seed is calculated as

(5.15)\[123432+(n_{\rm run}+1)\times|r_s|+k_{\rm Thread}+N_{\rm Thread} \times k_{\rm Process},\]

where \(r_s\) is the number given by an input file and \(n_{\rm run}\) is the number of runs. \(r_s\) and the maximum value of \(n_{\rm run}\) are defined by initial_iv and NumAve in an input file for Standard mode or a ModPara file for Expert mode, respectively. Random numbers are generated by using SIMD-oriented Fast Mersenne Twister (dSFMT) [3] . We can select the type of initial vector as a real number or complex number by using InitialVecType in a ModPara file. \(k_{\rm Thread}, N_{\rm Thread},\) and \(k_{\rm Process}\) indicate the thread ID, number of threads, process ID, respectively; the initial vector depends both on initial_iv and the number of parallelisms.