issp-center-dev / TeNeS

Massively parallel tensor network solver
http://www.pasums.issp.u-tokyo.ac.jp/tenes/en
GNU General Public License v3.0
49 stars 11 forks source link

Correlation length from transfer matrix #36

Closed yomichi closed 3 years ago

yomichi commented 3 years ago

Now, correlation length (w.r.t. tensors) is calculated from the transfer matrix. Besides the correlation length (the second largest eigenvalue), you can get more eigenvalues as you want, and so the correction of the correlation length may be calculated (see PRX 8 031030 and PRX 8 041033 for details)

For example, correlation_length.dat for S=1/2 AFH square is shown as follows:

$ cat output/correlation_length.dat
#  $1: direction 0: +x, 1: +y
#  $2: y (dir=0) or x (dir=1) coorinates
#  $3: correlation length xi = 1/e_1
# $4-: eigenvalues e_i = -log|t_i/t_0|
#      where i > 0 and t_i is i-th largest eigenvalue of T

0 0 7.19213553469013944e-01 1.39040761283857428e+00 1.39163735134575428e+00 1.53522220522655517e+00
0 1 7.19303527237339035e-01 1.39023369430808219e+00 1.39041272589238130e+00 1.53457094348926959e+00
1 0 7.26232546918418653e-01 1.37696940772379772e+00 1.37720048798029371e+00 1.51923157420860955e+00
1 1 7.26095712518358916e-01 1.37722890076246740e+00 1.37801665593875122e+00 1.52016493301534239e+00

Parameters for calculating correlation length are controlled by the [correlation_length] section of the input files. I think that the default values work well for many cases.

[correlation_length] # the following shows the default values
# measure = true
# num_eigvals = 4
# maxdim_dense_eigensolver = 200
# arnoldi_maxdim = 50
# arnoldi_restartdim = 20
# arnoldi_maxiterations = 1
# arnoldi_rtol = 1.0e-10

If measure is false, the eigenvalues and the correlation length won't be calculated. num_eigvals is the number of eigenvalues to be calculated. When the dimension of the transfer matrix is greater than maxdim_dense_eigensolver, TeNeS will calculate the eigenvalues via the Arnoldi method. The remaining arnoldi_* are the hyper parameters of the implicit restart Arnoldi method.