Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to simply calculate the correlation function using HPhi #167

Open
shuailiu199966 opened this issue Jun 6, 2024 · 5 comments
Open

How to simply calculate the correlation function using HPhi #167

shuailiu199966 opened this issue Jun 6, 2024 · 5 comments

Comments

@shuailiu199966
Copy link

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
Copy link
Contributor

tmisawa commented Jun 7, 2024

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
Copy link
Author

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
Copy link
Contributor

tmisawa commented Jun 7, 2024

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
Copy link
Author

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
Copy link
Contributor

tmisawa commented Jun 11, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants