issp-center-dev / HPhi

Quantum Lattice Model Simulator Package
https://www.pasums.issp.u-tokyo.ac.jp/hphi/en/
GNU General Public License v3.0
82 stars 25 forks source link

How to simply calculate the correlation function using HPhi #167

Open shuailiu199966 opened 4 weeks ago

shuailiu199966 commented 4 weeks ago

Hello, I have a few questions that I need your help.

  1. In HPhi, how can I calculate the correlation functions and the static structure factors for 2-body or 6-body ?
  2. How can I add a specific direction of magnetic field, such as in the Kitaev model with a magnetic field in the [1,1,1] direction?
  3. HPhi generates two toolkits, where greenr2k is used to calculate the dynamic spin structure factor. What is cTPQ used for?
tmisawa commented 3 weeks ago

1.In HPhi, how can I calculate the correlation functions and the static structure factors for 2-body or 6-body ?

For the format of the input file for 2-body Green functions, please refer to the manual below.

http://issp-center-dev.github.io/HPhi/manual/master/en/html/filespecification/expertmode_en/TwoBodyG_file_en.html

The main part of the input file consists of the following line I sigma_I J sigma_J K sigma_K L sigma_L, where I J K L represent site indices and sigma_I sigma_J sigma_K sigma_L represent spin indices. This line corresponds to the following correlation function c_{I, sigma_I}^{\dagger}c_{J, sigma_J}c_{K, sigma_K}^{\dagger}c_{L, sigma_L}.

In a similar way, you can specify the 6-body Green functions by the following line A sigma_A B sigma_B C sigma_C D sigma_D E sigma_E ... L sigma_L.

  1. How can I add a specific direction of magnetic field, such as in the Kitaev model with a magnetic field in the [1,1,1] direction?

You can specify any directions of the magnetic field by using trans.def, see the following manual.

http://issp-center-dev.github.io/HPhi/manual/master/en/html/filespecification/expertmode_en/Trans_file_en.html

The magnetic field along [111] at site 0 can be specified as 0 0 0 1 -0.5 0.5 0 1 0 0 -0.5 -0.5 0 0 0 0 -0.5 0.0 0 1 0 1 +0.5 0.0 Here the magnetic field h is assumed to be h=1.0

3.HPhi generates two toolkits, where greenr2k is used to calculate the dynamic spin structure factor. What is cTPQ used for?

cTPQ can be used to convert the results obtained by the mTPQ method to the results of the cTPQ method. For details of this conversion, please refer to the following paper.

https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.111.010401

However, this tool is not maintained now, and I am not sure it works.

After ver. 3.5 of HPhi, the cTPQ method is implemented. Therefore, I recommend you use this mode if you want to perform the cTPQ calculations. For details of the implementation of the cTPQ method in HPhi, please see the following paper.

https://www.sciencedirect.com/science/article/pii/S001046552400016X

shuailiu199966 commented 3 weeks ago

In standard mode, I used full diagonalization, the CG, and Lanczos methods to compute the Kitaev model on a 12-site lattice. However, the values in the two-body Green's function output files are somewhat different. What could be the reason for this?

In the input files, only the "method" is different. In the output files, for the full_diag and CG methods, I selected the "cisajscktalt_eigen0" file.

for example: full_diag: 1 CG: 2 Lanczos: 3

tmisawa commented 3 weeks ago

The reason for the discrepancy is the degeneracy of the ground state. I have calculated the 12-site Kitaev cluster using the following input file

W = 2 L = 3 model = "SpinGC" method = "CG" lattice = "Honeycomb" J0x = -1.0 J1y = -1.0 J2z = -1.0 2S=1 exct = 8

I have found that the ground state has a 4-fold degeneracy.

i= 0 Energy= -2.450071 N= 12.000000 Sz= -0.000000 Doublon= 0.000000 i= 1 Energy= -2.450071 N= 12.000000 Sz= -0.000000 Doublon= 0.000000 i= 2 Energy= -2.450071 N= 12.000000 Sz= 0.000000 Doublon= 0.000000 i= 3 Energy= -2.450071 N= 12.000000 Sz= 0.000000 Doublon= 0.000000 i= 4 Energy= -2.342779 N= 12.000000 Sz= 0.000000 Doublon= 0.000000 i= 5 Energy= -2.342779 N= 12.000000 Sz= -0.000000 Doublon= 0.000000 i= 6 Energy= -2.342779 N= 12.000000 Sz= -0.000000 Doublon= 0.000000 i= 7 Energy= -2.342779 N= 12.000000 Sz= -0.000000 Doublon= 0.000000

In this case, the ground state can be constructed by arbitrary linear combinations of the 4 states. In general, by changing the combination, the correlation functions also change. This is the reason why the values of the correlation functions depend on the methods.

shuailiu199966 commented 3 weeks ago

Why do I calculate that the ground state energy of the 24 (w = 3,L = 4)lattice Kitaev model is -4.7729 instead of -19.0916? Is it because HPhi gives energy=total energy/L. and How should I draw its energy spectrum image

tmisawa commented 3 weeks ago

HPhi outputs the total energy. I guess the origin of the difference between -19.0916 and -4.7729 is the definition of the spin operator. Note that the spin operator such as Sz is defined as Sz=sigma_z/2 = {(1/2 ,0), (0,-1/2)} in HPhi. I think this is the reason why the energy is different by a factor of 4.

On the energy spectrum, you can specify by exct how many low-energy states you will obtain. In the above example, exct=8 and eight low-energy low-energy states are obtained.