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

実空間表示温度グリーン関数出力ファイルの係数が厳密対角化と一致しない。 #39

Open
Takuto36 opened this issue Mar 29, 2022 · 7 comments

Comments

@Takuto36
Copy link

Takuto36 commented Mar 29, 2022

実空間表示温度グリーン関数出力ファイルと厳密対角化して得られた結果を比較していたのですが、スピンの大きさSに依存して、係数が異なっています。
(is31 branchの環境を用いて計算しています。)
S= 1/2の場合には問題無いのですが、S=1の場合はおそらくアウトプットファイルを4倍した結果が厳密対角化の結果と一致しています。
S=1に関して、係数があっているか、確認いただけますでしょうか。
以下、具体的に計算した結果を載せさせていただきます。
【計算モデル(S=1)】
S=1、1次元反強磁性ハイゼンベルグ模型、サイト数4で、β(逆温度)=0.5,1、βの分割数は256です。
得られた実空間表示温度グリーン関数出力ファイル(ここでは相対座標をi=j、つまり<S_{i}^{+}(τ)S_{i}^{-}(0)>の出力ファイルを用いています。)
以下、厳密対角化の結果とDSQSSで得られた結果を4倍したものを載せます。(横軸はβです。)
image
image

S=1/2の場合や、SzSzのアウトプットファイルは係数は一致していました。
確認のほど、よろしくお願いいたします。

@takeokato719
Copy link

補足です:高温側のズレは多分サンプリングが足りないからだと思っています。

まず、本当に4倍ずれているかを確認していただきたいです。
本当であれば、マニュアルの説明と値が4倍ずれているので、コードを変えるか、マニュアルを修正していただきたいです。

@k-yoshimi
Copy link
Contributor

お問い合わせの件、承知しました。
S \neq 1/2の場合について、S+S-にかかるファクターがSに依存したものになっているか、と言うことで大丈夫でしょうか?
エネルギーやSzSzは合っているとのことですので、コード確認をします。
修正する場合にはS+S-が合わずにSzSzは合っているというのも不思議ですので、どちらかに統一するようにします。

@yomichi
S+S-の出力の箇所について確認をお願いできますか?

@yomichi
Copy link
Contributor

yomichi commented Apr 4, 2022

cf, ck について、S=1/2 (ハードコアボソン)以外への拡張はちゃんとできていないようです。報告ありがとうございました。
S=1 の場合は S+, S- の非ゼロ要素の値が定数(√2)なので、S=1/2 の場合のコードの定数倍ですみますが、 S>1 の場合にはそうではないので、ちゃんと拡張する場合はそもそも入力ファイルの書式の変更(追加)が必要ですね。
ずれている係数が2 (=√2 ^ 2) ではなくて4なのはちょっと良くわかりません……

@k-yoshimi
Copy link
Contributor

k-yoshimi commented Apr 18, 2022

@yomichi @Takuto36
ファクターの件ですが、1次元Heisenberg模型なので、
<SxSx> = <SySy> = <SzSz>
が成立するため、
<S+S-> + <S-S+> = 4 <SzSz>
が成立するかと思いますので、ここをチェックすることで確かめることができるかと思います。

@Takuto36
DSQSSの入力ファイルを本Issueにアップロードしてもらえるでしょうか?
また余力があれば厳密対角化で上の式が成立しているか、念のため確認していただけるでしょうか?

@Takuto36
Copy link
Author

Takuto36 commented Apr 19, 2022

@yomichi @k-yoshimi
①1D反強磁性ハイゼンベルグ、L=4、Periodicで厳密対角化での計算で、
<S+S->=<S-S+>=2×< SzSz >を確認しました。

【<S+S->=<S-S+>】
image

【<S+S->=2×< SzSz >】
image

②Inputファイルに関して。
is31の環境にて、<Sz_{i}Sz_{j}>のアウトプットを出力出来るようにコードを適宜書き換えコンパイルし(今回の問題になっている<S+S->関連のファイルはいじっていません。)

以下のstd.tomlからdla_preを用いて生成した「lattice.xml」「algorithm.xml」と
以下の相対座標ファイル「disp_L4_Thick1.xml」を自分で準備し。
最後に載せている「param.in」をdlaで実行しています。
(sfoutfile周りのコードを書き換えているため、<S+S->の計算の際はsfoutfileのインプットは空にしていただく必要があると思います。[元々のコードだと波数ファイルが必要で、今回のプロセスでは準備していない為。])

【std.toml】
[hamiltonian]
model = "spin"
M = 2
Jz = -1.0
Jxy = -1.0
[lattice]
lattice = "hypercubic"
dim = 1
L = [4]
bc = [true]
[parameter]
beta = 1
nset = 10
npre = 1000
ntherm = 2000
ndecor = 2000
nmcs = 2000
ntau = 256
nvermax = 100000
nsegmax = 100000
seed = 12132401

【disp_L4_Thick1.xml】(直で貼れなかった為、コードの写真を貼っておきます。)
image

【param.in】
algfile = algorithm.xml
beta = 1.0
cfoutfile = cf.dat
ckoutfile =
dispfile = disp_L4_Thick1.xml
latfile = lattice.xml
ndecor = 10000
nmcs = 10000
npre = 10000
nsegmax = 100000
nset = 1
ntau = 256
ntherm = 10000
nvermax = 100000
outfile = res.dat
seed = 12132401
sfoutfile = sf.dat
simulationtime = 0.0
wvfile =

よろしくお願いいたします。

@k-yoshimi
Copy link
Contributor

@Takuto36
詳細な報告ありがとうございます。
DSQSSで4倍ずれていることは間違いなさそうですので、ファクターの箇所を調査したうえマニュアルに追記しておきます。よろしくお願いします。

@Takuto36
Copy link
Author

@k-yoshimi
承知しました。対応いただきありがとうございます。

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

4 participants