Introduction to HΦ ‒A numerical solver
for quantum lattice models
三澤貴宏

東京大学物性研究所計算物質科学研究センター
計算物質科学人材育成コンソーシアム(PCoMS) PI

Outline0. What can we do by HΦ ?
1. How to get HΦ
2. How to use Standard mode
3. How to use Expert mode

@東北大学
2016/12/01

4. Applications of HΦ
5. Short introduction to mVMC
http://ma.cms-initiative.jp/ja/listapps/hphi

Developers of HΦ
M. Kawamura

T. Misawa K. Yoshimi

Y. Yamaji

S. TodoN. Kawashima

Basic properties of HΦ
What can we do by HΦ?

For Hubbard model, spin-S Heisenberg model,
Kondo-lattice model- Full diagonalization- Ground state calculations by Lanczos method- Finite-temperature calculations by thermal
pure quantum (TPQ) states- Dynamical properties (optical conductivity ..)models
Hubbard (itinerant) ~ 4N

empty

Heisenberg (localized) ~ 2N

Kondo=itinerant+localized

J

empty

empty

３つの異なる模型を扱えるように整備(Heisenbergはspin-Sも対応)

Full diagonalization
Matrix representation of Hamiltonian(real space basis) → Full diagonalization for the matrix

Hij = hi|Ĥ|ji|ii real-space basis

dim. of matrix＝ # of real-space bases=exponentially large
ex. spin1/2 system: Sz=0

Ns CNs /2- Ns=16: dim.=12800, required memory (~dim.2) ~ 1 GB
- Ns=32: dim.~6 108 , required memory (~dim.2) ~ 3 EB!

Lanczos method
By multiplying the Hamiltonian to initial vector,
we can obtain the ground state (power method)h

Hn x0 = E0n a0 e0 +X ✓ E i ◆n
i6=0

E0

ai ei

i

A few (at least two) vectors are necessary→
We can treat larger system size than full
diagonalization
ex. spin 1/2 system: Sz=0
- Ns=16: dim. =12800,required memory (~dim.) ~0.1 MB- Ns=32: dim. ~6 108,required memory (~dim.) ~5 GB !
- Ns=36: dim. ~9 109,required memory (~dim.) ~72 GB !

Meaning of name & logo
- Multiplying H to Φ (HΦ)- This cat means wave function in two ways
cat is a symbol of superposition.. (Schrödingerʼs cat)

wake

Φ=

sleep

+

Finite-temperature calculations by TPQ-Conventional finite-temperature cal.:ensemble average is necessary→ Full diag. is necessary
It is shown that thermal pure quantum state (TPQ)
states enable us to calculate the physical properties atfinite temperatures w/o ensemble average[Sugiura-Shimizu, PRL 2012,2013]→ Cost of finite-tempeature calculations~ Lanczos method！
pioneering works：
Quantum-transfer MC method (Imada-Takahashi, 1986),
Finite-temperature Lanczos (Jaklic-Prelovsek,1994),
Hams-Raedt (2000)

Sugiura-Shimizu method [mTPQ state]
S. Sugiura and A. Shimizu,
PRL 2012 & 2013

Procedure| 0 i : random vector| ki ⌘(l|(l

Ĥ/Ns )| k 1 i

Ĥ/Ns )| k 1 i|l:constant larger the
maximum eigenvaluesuk ⇠ h k |Ĥ| k i/Ns

2k/Ns
, hÂi k ⇠ h k |Â| k ik ⇠(l uk )All the finite temperature properties can be calculated
by using one thermal pure quantum [TPQ] state.

Drastic reduction of numerical cost
Heisenberg model, 32 sites, Sz=0

Full diagonalization:
Dimension of Hamiltonian ~ 108×108
Memory ~ 3E Byte → Almost impossible.
TPQ method:
Only two vectors are required:dimension of vector ~ 108×108
Memory ~ 10 G Byte
→ Possible even in lab’s cluster machine !

Basic properties of HΦ
What can we do by HΦ?

For Hubbard model, spin-S Heisenberg model,
Kondo-lattice model- Full diagonalization- Ground state calculations by Lanczos method- Finite-temperature calculations by thermal
pure quantum (TPQ) states- Dynamical properties (optical conductivity ..)maximum system sizes@ ISSP system B (sekirei)- spin 1/2: ~ 40 sites (Sz conserved)- Hubbard model: ~ 20sites (# of particles & Sz conserved)

Letʼs get HΦ !

How to find HΦ

http://ma.cms-initiative.jp/en/application-list/hphi/hphi

search by “HPhi” → You can find our homepage inthe first page (maybe, the first or second candidate)
GitHub → https://github.com/QLMS/HPhi

How to compile HΦ
ex. linux + gcc-mac
tar xzvf HPhi-release-1.2.tar.gz
cd HPhi-release-1.2
bash HPhiconfig.sh gcc-mac
make HPhi

For details,$ bash HPhiconfig.sh
Usage:./HPhiconfig.sh system_namesystem_name should be chosen from below:
sekirei : ISSP system-B
maki : ISSP system-C
intel : Intel compiler + Linux PC
mpicc-intel : Intel compiler + Linux PC + mpicc
gcc : GCC + Linux
gcc-mac : GCC + Mac

Letʼs start HΦ !
(Standard mode)

How to use HΦ: Standard mode I (Lanczos)
Only StdFace.def is necessary (< 10 lines) !
L=4model = “Spin”
method = “Lanczos”
lattice = “square lattice”
J
= 1.0
2Sz
=0
HPhi -s StdFace.def

ex. 4 4 2d Heisenberg model,
GS by Lanczos method

MethodLanczos ̶ ground state
TPQ ̶ finite-temperature
FullDiag ̶ full-diagonalization./ouput : results are output
Important files./output/zvo̲energy.dat→ energy./output/zvo̲Lanczos̲Step.dat → convergence./output/zvo̲cisajs.dat→ one-body Green func.
./output/zvo̲cisajscktalt.dat→ two-body Green func.

How to use HΦ: Standard mode II./output/zvo̲energy.dat$ cat output/zvo_energy.dat
Energy -11.2284832084288109
Doublon 0.0000000000000000
Sz
0.0000000000000000

ex. 4by4, 2d Heisenberg model,
GS calculations by Lanczos

GS energy./output/zvo̲Lanczos̲Step.dat$ tail output/zvo_Lanczos_Step.dat
stp=28 -11.2284832084 -9.5176841765 -8.7981539671 -8.5328120558
stp=30 -11.2284832084 -9.5176875029 -8.8254961060 -8.7872255591
stp=32 -11.2284832084 -9.5176879460 -8.8776934418 -8.7939798590
stp=34 -11.2284832084 -9.5176879812 -8.8852955092 -8.7943260103
stp=36 -11.2284832084 -9.5176879838 -8.8863380562 -8.7943736678
stp=38 -11.2284832084 -9.5176879839 -8.8864307327 -8.7943782609
stp=40 -11.2284832084 -9.5176879839 -8.8864405361 -8.7943787937
stp=42 -11.2284832084 -9.5176879839 -8.8864422628 -8.7943788984
stp=44 -11.2284832084 -9.5176879839 -8.8864424018 -8.7943789077
stp=46 -11.2284832084 -9.5176879839 -8.8864424075 -8.7943789081

convergence process by Lanczos method

How to use HΦ: Standard mode III†
hci cj⌧ i./output/zvo̲cisajs.dat$ head output/zvo_cisajs.dat
000
0 0.5000000000 0.0000000000
010hc†0# c0# i†hc
1 0.5000000000 0.0000000000
0" c0" i./output/zvo̲cisajscktalt.dat$ head output/zvo_cisajscktalt.dat
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1

0 0.5000000000 0.0000000000
1 0.0000000000 0.0000000000
0 0.1330366332 0.0000000000
1 0.3669633668 0.0000000000

hc†0# c0# c†0# c0# ihc†0# c0# c†0" c0" ihc†0# c0# c†1# c1# i
hc†0# c0# c†1" c1" i

ex. onsite・nn-site correlation func.

How to use HΦ: Standard mode IV
HPhi/samples/Standard/
StdFace.def for
Hubbard model, Heisenberg model, Kitaev model,
Kondo-lattice model

By changing StdFace.def slightly, you can easily
perform the calculations for different models.
Cautions：- Do not input too large system size
(upper limit@laptop: spin 1/2→24 sites, Hubbard model
12 sites)- Lanczos method is unstable for too small size(dim. > 1000)-TPQ method does no work well for small size(dim. > 1000)

Expert mode !

How to use HΦ: What is Expert mode ?
HPhi -s StdFace.def
Standard mode: Necessary input
files are automatically generated
Files for Hamiltonian (three files)
zInterAll.def,zTrans.def, zlocspn.def
Files for basic parameters (two files)
modpara.def,calcmod.def
Files for correlations functions (two files)
greenone.def, greentwo.def+ list of input files: namelist.def
Expert mode: preparing the following files by yourself

How to use HΦ: What is Expert mode ?
Expert mode: preparing the following files by yourself
Files for Hamiltonian (three files)
zInterAll.def,zTrans.def, zlocspn.def
Files for basic parameters (two files)
modpara.def,calcmod.def
Files for correlations functions (two files)
greenone.def, greentwo.def
execute following command
HPhi -e namelist.def

How to use HΦ: zInterall.def
Examples of input files for HamiltonianX

H+ =i,j,k,lX

Iijkl 1 2 3 4 c†i 1 cj 2 c†k 3 cl 4

1, 2, 3, 4

# of interactions
real

i

σ1

j

σ2

k

σ3

l

imaginary

σ4

You can specify arbitrary two-body interactions→ You can treat any lattice structures

.7

CoulombIntra 指定ファイル

How to use HΦ: Expert mode

オンサイトクーロン相互作用をハミルトニアンに付け加えます (S = 1/2 の系.11 Exchange 指定ファイル
使用可能、0.2 では MPI非対応)。付け加える項は以下で与えられます
Simplever.
versionof zInterall.def!
Exchange カップリングをハミルトニアンに付け加えます(S = 1/2 の
H+ = )。電子系の場合にはUi ni↑ ni↓(4- CoulombIntra
用可能、ver. 0.2 では MPI 非対応i=================================
!
†
†
†
Ex †
NCoulombintra H+
2にファイル例を記載します。
=
J
(c
c
c
c
+
c
c
c
ij
i↑ j↑ j↓ i↓i↓ j↓ j↑ ci↑ )✓=================================
i,j===========Exchange=====================================================================
NCoulombIntra
60
4.0
付け加えられ、スピン系の場合には
14.0======================✏========i_0LocSpn_1IteElc !
======
+ −
− +
Ex
H+
=
J
(S
S
+
S
-Exchangeij
iji Sj )======================
i,j
0 =================================
4.000000
2
1 NExchange
4.000000+ −− +=================================
付け加えられます。スピン系の
(S
S
+
S
i
j
i Sj ) を電子系の演算子で書
2 ===========Exchange==============
4.000000†† =================================
†
†
c
c
c
+
c
c
c
3
4.000000i↑ j↑ j↓ 0i↓ 1 0.5
i↓ j↓ j↑ ci↑ ) となることに注意して下さい。以下にファイル
2 0.5
ます。4 14.000000
Easy to input interactions✓ 5 4.000000✒======================✑

Applications of HΦ!

Comparison of three different methods
Comparison of FullDiag, TPQ, Lanczos method
Hubbard model, L=8, U/t=8, half filling, Sz=0
2.5
2

0.25

TPQ
FullDiag
Lanczos

0.2

D/Ns

E/Ns

1.5
1
0.5

0.15
0.1
0.05

0
-0.5
10-2

TPQ
FullDiag
Lanczos

10-1

10 0
T/t

10

1

10

2

0
10-2

10-1

10 0
T/t

101

10 2

TPQ method works well !

Studies using HPhi
1. Finite-temperature crossover phenomenon in the S=1/2 antiferromagnetic
Heisenberg model on the kagome lattice
Tokuro Shimokawa, Hikaru Kawamura (arXiv:1607.06205)
2. Finite-Temperature Signatures of Spin Liquids in Frustrated Hubbard Model
Takahiro Misawa, Youhei Yamaji (arXiv:1608.09006)
3. Four-body correlation embedded in antisymmetrized geminal power wave
function
Airi Kawasaki, Osamu Sugino (arXiv:1609.01438)
4. Liquid-Liquid Transition in Kitaev Magnets Driven by Spin Fractionalization
Joji Nasu, Yasuyuki Kato, Junki Yoshitake, Yoshitomo Kamiya, Yukitoshi
Motome (arXiv:1610.07343)

既に、4本の論文がHPhiを使用！

HPhiの使い方
0. 汎用性を優先して、速度・サイズなどは犠牲にしている部分がある→対角化(Lanczos法)での世界最大の計算は（現段階では)無理

1. spin 1/2 36 sites, Hubbard 18 sites程度までの有限温度計算
は比較的すぐできる。とくに、エントロピーが低温まで残る
フラスレート系が得意 [論文 1(kagome),2(t-t’ Hubbard)]。
2. 平均場計算などで「面白い」ことがおきることを確認→HPhiでその結果を確認する[論文4(extended Kitaev model)]3. 新手法開発した際の精度確認[論文3(extended geminal wave functions)]~20 site Hubbard model
4. 新奇物質に対する現実的な有効模型の妥当性の確認,物性予測(基底状態、有限温度、動的物理量)[Na2IrO3, Yamaji et al.]

Frustrated t-t’ Hubbard model
Lattice geometry

Schematic phase diagram
spin liquid ?
stripe (π,0)
Neel (π,π)

tt’Previous studies
PIRG: Mizusaki and Imada, PRB 2004

0

~0.75

~1.0

t’ /t

VMC: L. Tocchio et al., PRB(R) 2008

NB: Spin liquid is also reported in J1- J2 Heisenberg model

Spin liquid may appear at intermediate region

Input file
W = 4
L = 4
model = "FermionHubbard"
method = "TPQ"
lattice = "Tetragonal"t = 1.0t' = 0.75
U = 10.0
nelec = 16
2Sz = 0
たった、これだけ！そのまま並列計算も可能

Signature of spin liquid [U/t=10]
entropyspecific heat
0.6

1.0

t’/t=0.50t’/t=0.75t’/t=1.00

C/Ns

Snorm

0.4

0.8

t’/t=0.50t’/t=0.75t’/t=1.00

0.6
0.4

0.2

0.2
0 -2
10

10

-1

10

T/t

0

1

10

10

2

0.0
10 -2

10 -1

10 0

T/t

1

10

10 2

At t'/t~0.75 large entropy remains at low temperatures→ Signature of spin liquidAvailable system size in SC@ISSP
ISSP system B (sekirei)✓fat node: 1node (40 cores) memory/node = 1TB、
up to 2nodes → ~2TB
✓cpu node: 1node (24cores) memory/node=120GB,
up to 144nodes→~17TB

SC@ISSP:- It is very easy (cheap) to perform the calculations up to
spin 1/2 = 32 sites, Hubbard = 16 sites- It is possible (but expensive !) to perform the calculations
up to spin 1/2 40 sites, Hubbard 20 sites(state-of-the-art calculations 5-10 years ago)

Summary- Explained basic properties of HΦ:Full diagonalization, Lanzcos method, TPQ methodfor Heisenberg, Hubbard, Kondo, Kitaev model ….
- Explained how to use HΦ:Very easy to start calculations by using Standard mode
Easy to treat general Hamiltonians by using Expert mode
- Shown applications of HΦ:Found the finite-temperature signature of QSL int-t’ Hubbard model

If you have any questions,please join HPhi ML and ask questions

More about HPhi

http://qlms.github.io/HPhi/

More about HPhi
Summary

http://qlms.github.io/HPhi/

cf.. ハッカーの楽しみ

bit演算周りの工夫を掲載

More about HPhi
Summary
cf.. ハッカーの楽しみ

http://qlms.github.io/HPhi/

同じ個数の1のbitを持つ、次に大きい数の生成方法
unsigned long int snoob(unsigned long int x){
unsigned long int smallest, ripple, ones;
smallest = x &(-x);
ripple= x + smallest;ones= x ^ ripple;ones= (ones>>2)/smallest;
returnripple|ones;}

他にも、
1のbitの総数を数えるアルゴリズム、
1のbitの総数の偶奇を数えるアルゴリズム, …

many-variable variational Monte Carlo method

Ver0.1を公開
http://ma.cms-initiative.jp/ja/index/listapps/mvmc/mvmc
search by “mVMC materiapps”→ You can find our homepage in the first page

Developers of mVMC
M. Kawamura

K. Yoshimi

T. Kato Y. Motoyama

S. Morita

T. OhgoeM. Imada
K. Ido多変数変分モンテカルロ法 (mVMC)
D. Tahara and M. Imada, JPSJ (2008)
T. Misawa and M. Imada, PRB (2014)

多変数の変分パラメータ(~10000)を最適化→基底状態の高精度な波動関数を数値的に生成

手法の特徴・独自性
1.多数の変分パラメータ:✓空間・量子ゆらぎを取り込んだ高精度な計算✓複雑な相互作用をもつ第一原理有効模型にも適用可能
2. 汎用性：✓負符号問題なし。強相関系、多軌道系、フラストレーショ
ンのある系にも適用可能
X
X
Ic c c c✓「任意」の2体相互作用に対応 H+ =3. 拡張性:✓波動関数の系統的な改善→-平均場近似の結果の系統的な改良-厳密な数値計算手法に匹敵する精度に到達することも可能(✓SR法を利用した実時間発展・有限温度計算)
ijkl 1

i,j,k,l

1, 2, 3, 4

2

3

4

†
i 1 j

2

†
k 3 l 4

多変数変分モンテカルロ法の適用例[2009-]
1. Iron-based SC： [misawa,nakamura,miyake,hirayama,imada]
LaFeAsO,LaFePO,BaFe2As2,FeTe,FeSe
2. Doped Hubbard model： [misawa,imada]
Origin of SC in doped Hubbard model
3. Organic conductors: [shinaoka,misawa,nakamura,imada]κ-(BEDT-TTF)2Cu(NCS)2
4. Kondo lattice model: [misawa,yoshitake,motome]
CO around ¼ filling
5. Frustrated Kondo model:[nakamikawa,yamaji,udagawa,motome]
Partial Kondo singlet phase in triangular lattice
6. Spin liquids： [morita, kaneko, imada]J1-J2 Heisenberg model, frustrated Hubbard model
7. Topological insulators: [yamaji, kurita, imada]Kane-Mele-Hubbard model,Topological Mott ins., Kitaev model
8. Electron-phonon coupling system [ohgoe, imada]
9. real-time & imaginary-time evolution [takai, ido, imada]Ex. Hubbard model
H=

t

X

hi,ji,†(ci cj+ H.c.) + U

Xni" ni#i

W=4
L=4
Wsub = 2
Lsub = 2
model = "FermionHubbard"
lattice = "Tetragonal"t = 1.0
U = 4.0
nelec = 16

HPhiとほとんど同じインプットファイル！

Ex. Hubbard model

厳密対角化の結果をよく再現!→厳密対角化より大きなサイズの計算も可能 (100-1000 sites)

Enjoy HΦ & mVMC!