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

Choosing different temperature step size for different temperature regimes (cTPQ) #149

Closed seuc closed 3 weeks ago

seuc commented 9 months ago

Hi,

Would it be possible to set a different step size when using cTPQ CalcType for different temperature regimes? At present in a single run of the cTPQ method, the step size is fixed by LargeValue. For instance, if LargeValue is 50, and LanczosMax is 2000 then we would do the TPQ calculation in steps of 0.02 throughout the temperature range (0.02-50). Is there a way to adjust the step size by LargeValue for different temperature ranges? Say in the case above, I wanted a step size of 0.02 at low temperatures (< 1) and 0.2 at hig temperatures (> 1). Maybe I would need to do restart calculations but I am slightly confused as to how to go about this. Any ideas are most welcome.

tmisawa commented 9 months ago

Would it be possible to set a different step size when using cTPQ CalcType for different temperature regimes?

Unfortunately, it is not possible to change the step size at different temperature regimes. As you mentioned, using the restart calculations is a simple way to change the step size.

It is also possible to change the step size by editing CalcByCanonicalTPQ.c (in particular, for loop in line 128 for (step_i = X->Bind.Def.istep; step_i<X->Bind.Def.Lanczos_max; step_i++){). However, this requires some understanding of the structure of the code. So, using restart calculations is recommended to change the step size.

seuc commented 9 months ago

I see. I will just run the same calculation with different step sizes, then.

Thank you.