H-waveによる三次元Hubbard模型の有限温度での磁気モーメント
Last Update:2023/09/25
・はじめに
H-waveは遍歴電子系を非制限Hartree-Fock法によって近似する計算ライブラリです。実空間/波数空間の両方に対応しており、量子モンテカルロ法などと比べた時、(1)負符号問題が発生しない(2)計算コストが軽く、高次元の問題を取り扱うことができる、などの利点があります。ここでは、量子モンテカルロ法などで扱うには難しい立方格子Half-filling Hubbard模型の磁化率の温度依存性を例にH-waveを紹介していきます。
・インストール
H-waveがお使いの環境にインストールするには以下のコマンドでできます。
git clone https://github.com/issp-center-dev/H-wave.git
cd ./H-wave
pip install .
・立方格子Half-filling Hubbard模型
立方格子Half-filling Hubbard模型の磁化率の温度依存性の計算に関しては既に(https://isspns-gitlab.issp.u-tokyo.ac.jp/hwave-dev/hwave-gallery/-/blob/main/samples/UHFk/finiteT/finiteT.py)サンプルファイルが用意されています。
まずは、立方格子Half-filling Hubbard模型の入力ファイルを用意します。
############### (Stan.in) model = "Hubbard" lattice = "orthorhombic" W = 4 L = 4 Height = 4 t = 1.0 U = 8.0 calcmode = "uhfk" exportall = 0 EPS = 10 ########################
以上の入力ファイルをh-waveで読み込ませるには以下のコマンドを実行します。
ln -s path_to_Stdface/build/src/uhf_dry.out .
./uhf_dry.out stan.in
続いて、磁気モーメントの温度依存性を計算するPythonファイルを実行します。ここでは既に用意されているサンプルコード(https://isspns-gitlab.issp.u-tokyo.ac.jp/hwave-dev/hwave-gallery/-/blob/main/samples/UHFk/finiteT/finiteT.py )を使用します。
python finiteT.py -u 4 -g 31 --max 1
python finiteT.py -u 8 -g 31 --max 3
python finiteT.py -u 12 -g 31 --max 5
python finiteT.py -u 24 -g 31 --max 7
得られた結果をプロットするには以下のコマンドを実行します。
gnuplot plot.plt
Uが大きくなるにつれて反強磁性への転移温度が高くなる振る舞いが確認できます。このように、厳密対角化やモンテカルロ法ではなかなか大変な高次元系もH-waveを使うことで高速に計算することができます。