HΦ Documentation
Release 3.5.0

University of Tokyo

Sep 29, 2021

CONTENTS

1

What is ℋΦ?
1.1 What is ℋΦ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1
License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2
Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Operating environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
1
2
2
2
4

2

How to use ℋΦ
2.1 Prerequisite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Directory structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Basic usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Standard mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Expert mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.3
Creating input files for Expert mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.4
Setting the process number for MPI/hybrid parallelization . . . . . . . . . . . . . . . . . . .
2.4.5
Printing version ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5
5
5
7
7
7
8
9
9
10

3

Tutorial
3.1 Quick guide to Standard mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1
Heisenberg model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2
Other tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Quick guide to Expert mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1
File list for input files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2
Files for basic parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3
Files for constructing Hamiltonian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.4
Setting output components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.5
Running . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Fourier transformation of correlation functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11
11
11
17
17
18
18
20
21
22
22

4

File specification
4.1 Input files for Standard mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1
Parameters for the type of calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2
Parameters for the lattice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3
Parameters for conserved quantities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.4
Parameters for the Hamiltonian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.5
Parameters for the numerical condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.6
Parameters for the dynamical Green’s function . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.7
Parameters for time-evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Input files for Expert mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23
23
24
26
32
33
38
41
42
43

i

4.3

ii

4.2.1
List file for the input files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2
CalcMod file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3
ModPara file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4
LocSpin file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.5
Trans file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.6InterAll file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.7
CoulombIntra file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.8
CoulombInter file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.9
Hund file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.10 PairHop file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.11 Exchange file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.12 Ising file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.13 PairLift file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.14 OneBodyG file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.15 TwoBodyG file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.16 SingleExcitation file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.17 PairExcitation file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.18 SpectrumVec File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.19 OneBodyTE File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.20 TwoBodyTE File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1
CHECK_Chemi.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2
CHECK_InterAll.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.3
CHECK_CoulombIntra.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.4
CHECK_Hund.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.5
CHECK_INTER_U.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.6
CHECK_Memory.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.7
WarningOnTransfer.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.8
CalcTimer.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.9
TimeKeeper.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.10 sz_TimeKeeper.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.11 Time_CG_EigenVector.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.12 energy.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.13 Lanczos_Step.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.14 Time_TPQ_Step.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.15 Norm_rand.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.16 SS_rand.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.17 Flct_rand.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.18 Time_TE_Step.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.19 Norm.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.20 SS.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.21 Flct.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.22 Eigenvalue.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.23 phys.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.24 ham.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.25 cisajs.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.26 cisajscktalt.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.27 eigenvec.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.28 tmpvec.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.29 DynamicalGreen.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.30 recalcvec.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.31 TMcomponents.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.32 eigenvec.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.33 residual.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44
46
50
55
57
59
61
63
65
67
69
71
73
75
77
79
81
83
84
86
88
88
89
90
91
92
93
94
95
96
97
98
99
100
102
103
104
106
108
109
110
112
114
115
116
118
120
122
123
124
125
126
127
128

4.4

Error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

5Algorithm
5.1 Lanczos method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1
Details of Lanczos method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2
Inverse iteration method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.3
Details of implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Full Diagonalization method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2
Finite-temperature calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Finite-temperature calculations by the TPQ method . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1
Details of implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Dynamical Green’s function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Real time evolution method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6 Bogoliubov representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

131
131
131
132
132
133
133
133
134
134
135
135
136

6

Acknowledgement

137

A HPhi/mVMC Fourier-Transformation utility
A.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.1.1 Prerequisite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.1.2 Supported quantities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.1 Run HPhi/vmc.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.2 Fourier transformation of correlation functions . . . . . . . . . . . . . . . . . . . . . . . .
A.2.3 Display correlation functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 File format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3.1 Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3.2 One- and Two-body correlation function in the site representation . . . . . . . . . . . . . .
A.3.3 Correlation functions on the k path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3.4 gnuplot script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3.5 FermiSurfer file to display the isosurface of the momentum distribution . . . . . . . . . . .
A.4 Behavior of greenr2k utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4.1 HPhi-Lanczos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4.2 HPhi-TPQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4.3 HPhi-Full diagonalization and LOBCG . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4.4 mVMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.5 Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

139
139
139
139
140
140
141
141
141
141
143
144
144
145
145
145
145
145
145
146

B Downfolding with Wannier functions
B.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.1.1 Prerequisite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2 Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2.1 SCF calculation of charge density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2.2 (Optional) Band structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2.3 Kohn-Sham orbitals for Wannier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2.4 Wannier function, dielectric function, effective interaction . . . . . . . . . . . . . . . . . .
B.2.5 Quantum lattice mode for HPhi/mVMC . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.3 Input parameters for Standard mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4 File format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.1 Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.2 Hopping, Coulomb, exchange integrals, charge densities . . . . . . . . . . . . . . . . . . .
B.5 Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

147
147
148
148
148
149
151
152
153
154
157
157
157
158

iii

iv

CHAPTERONE

WHAT IS ℋΦ?

1.1 What is ℋΦ?
Comparison between experimental observation and theoretical analysis is a crucial step in condensed-matter physics
research. The temperature dependence of specific heat and magnetic susceptibility, for example, has been studied
to extract the nature of low energy excitations of and magnetic interactions between electrons, respectively, throughcomparison with theories such as Landau’s Fermi liquid theory and the Curie-Weiss law.
For the flexible and quantitative comparison of theoretical and experimental data, the exact diagonalization approach1 is
one of the most reliable numerical tools that requires no approximation or inspiration of genius. For the last few decades,
a numerical diagonalization package for quantum spin Hamiltonians, TITPACK, developed by Prof. Hidetoshi Nishimori of Tokyo Institute of Technology, has been widely used in the condensed-matter physics community. Nevertheless,limited computational resources have hindered the ability of non-expert users to apply the package to quantum systems
with a large number of electrons or spins.
In contrast, the recent and rapid development of a parallel computing infrastructure has opened up new avenues foruser-friendly larger scale diagonalizations up to 18-site Hubbard clusters or 36 𝑆 = 1/2 quantum spins. In addition,
recent advances in quantum statistical mechanics2345 allow the finite temperature properties of quantum many-bodysystems to be calculated at computational costs similar to those of the calculations of ground state properties, which
also allows theoretical results for the temperature dependence of, for example, specific heat and magnetic susceptibility,
to be compared with experimental results quantitatively6 . To utilize the parallel computing infrastructure with narrow bandwidth and distributed-memory architectures, efficient, user-friendly, and highly parallelized diagonalization
packages are highly desirable.
ℋΦ, a flexible diagonalization package for solving quantum lattice Hamiltonians, has been developed as a descendantof the pioneering package TITPACK. The Lanczos method for calculations of the ground state and a few excited states
properties, as well as finite temperature calculations based on thermal pure quantum states? , are implemented in theℋΦ package, with an easy-to-use and flexible user interface. By using ℋΦ, you can analyze a wide range of quantum
lattice Hamiltonians including simple Hubbard and Heisenberg models, multi-band extensions of the Hubbard model,
exchange couplings that break the SU(2) symmetry of quantum spins, such as Dzyaloshinskii-Moriya and Kitaev interactions, and Kondo lattice models describing itinerant electrons coupled with quantum spins. ℋΦ calculates a varietyof physical quantities, such as internal energy at zero temperature or finite temperatures, temperature dependence ofspecific heat, and charge/spin structure factors. A broad spectrum of users including experimental scientists is cordiallywelcome.
1 E. Dagotto, Rev. Mod. Phys. 66, 763-840 (1994).

2 M. Imada, M. Takahashi, Journal of the Physical Society of Japan 55, 3354-3361 (1986).
3 J. Jaklič, P. Prelovšek, Phys. Rev. B 49, 5065-5068 (1994).

4 A. Hams, H. De Raedt, Phys. Rev. E 62, 4365-4377 (2000).

5 S. Sugiura, A. Shimizu, Phys. Rev. Lett. 108, 240401 (2012).

6 Y. Yamaji, Y. Nomura, M. Kurita, R. Arita, M. Imada, Phys. Rev. Lett. 113, 107201 (2014).

1

HΦ Documentation, Release 3.5.0

1.1.1 License
The distribution of the program package and the source codes for ℋΦ follow GNU General Public License version 3(GPL v3) or later. We hope that you cite the reference, Comp. Phys. Commun. 217 (2017) 180-192 , when you publish
the results using ℋΦ (hphi).

1.1.2 Copyright© 2015- The University of Tokyo. All rights reserved. This software was developed with the support of "Project foradvancement of software usability in materials science" of The Institute for Solid State Physics, The University ofTokyo.

1.1.3 Contributors
This software was developed by the following contributors.
• ver.3.4 (released on 2020/6/2)– Developers∗ Kota Ido(The Institute for Solid State Physics, The University of Tokyo)∗ Mitsuaki Kawamura(The Institute for Solid State Physics, The University of Tokyo)∗ Yuichi Motoyama(The Institute for Solid State Physics, The University of Tokyo)∗ Kazuyoshi Yoshimi(The Institute for Solid State Physics, The University of Tokyo)∗ Takahiro Misawa(Waseda Research Institute for Science and Engineering (RISE), Waseda University)∗ Youhei Yamaji(Department of Applied Physics, The University of Tokyo)∗ Synge Todo
(Department of Physics, The University of Tokyo)∗ Yusuke Konishi(Academeia Co., Ltd.)– Project coordinator∗ Naoki Kawashima(The Institute for Solid State Physics, The University of Tokyo)• ver.3.3 (released on 2019/7/19)• ver.3.2 (released on 2019/4/27)• ver.3.1 (released on 2018/9/3)• ver.3.0 (released on 2017/12/22)– Developers∗ Takahiro Misawa
2

Chapter 1. What is ℋΦ?

HΦ Documentation, Release 3.5.0(The Institute for Solid State Physics, The University of Tokyo)∗ Kazuyoshi Yoshimi(The Institute for Solid State Physics, The University of Tokyo)∗ Mitsuaki Kawamura(The Institute for Solid State Physics, The University of Tokyo)∗ Kota Ido(Department of Applied Physics, The University of Tokyo)∗ Youhei Yamaji(Department of Applied Physics, The University of Tokyo)∗ Synge Todo
(Department of Physics, The University of Tokyo)– Project coordinator∗ Naoki Kawashima(The Institute for Solid State Physics, The University of Tokyo)• ver.2.0 (released on 2017/4/11)• ver.1.2 (released on 2016/11/14)• ver.1.1 (released on 2016/5/13)• ver.1.0 (released on 2016/4/5)– Developers∗ Takahiro Misawa(Department of Applied Physics, The University of Tokyo)∗ Kazuyoshi Yoshimi(The Institute for Solid State Physics, The University of Tokyo)∗ Mitsuaki Kawamura(The Institute for Solid State Physics, The University of Tokyo)∗ Youhei Yamaji(Department of Applied Physics, The University of Tokyo)∗ Synge Todo
(Department of Physics, The University of Tokyo)– Project coordinator∗ Naoki Kawashima(The Institute for Solid State Physics, The University of Tokyo)

1.1. What is ℋΦ?

3

HΦ Documentation, Release 3.5.0

1.2 Operating environmentℋΦ was tested on the following platforms• The supercomputer system-B "sekirei" and system-C "enaga" in ISSP
• Fujitsu FX-10• Linux PC + Intel compiler• Linux PC + GCC.
• Mac + GCC.

4

Chapter 1. What is ℋΦ?

CHAPTERTWO

HOW TO USE ℋΦ

2.1 PrerequisiteℋΦ requires the following packages:• C/fortran compiler (Intel, Fujitsu, GNU, etc. )• BLAS/LAPACK library (Intel MKL, Fujitsu, ATLAS, etc.)• MPI library (if you do not use MPI, this is not required).
Tip:
E.g. /Settings of Intel compiler
When you use the Intel compiler, you can easily use the scripts attached to the compiler.
In the case of the bash in the 64-bit OS, write the following in your ~/.bashrc:

source /opt/intel/bin/compilervars.sh intel64
orsource /opt/intel/bin/iccvars.sh intel64
source /opt/intel/mkl/bin/mklvars.shPlease read the manuals of your compiler/library for more information.

2.2 Installation
You can download ℋΦ at the following location.
https://github.com/QLMS/HPhi/releases
You can obtain the ℋΦ directory by typing$ tar xzvf HPhi-xxx.tar.gzℋΦ can be installed by using cmake.
Tip:
Before using cmake for sekirei, you must type5

HΦ Documentation, Release 3.5.0

module load cmakeℋΦ has been preinstalled on ISSP supercomputers.
If you want to use this preinstalled version, please typesource /home/issp/materiapps/hphi/hphivars.sh
We can compile ℋΦ as:
cd $HOME/build/hphi
cmake -DCONFIG=gcc $PathTohphi
make
To use ScaLAPACK library for full diagonalization, the cmake option -DUSE_SCALAPACK=ON is needed. Here, we
set a path to ℋΦ as $PathTohphi and to a build directory as $HOME/build/hphi. After compilation, src folder isconstructed below a $HOME/build/hphi folder and we obtain an executable HPhi in src/ directory. When no MPI
library exists in the system, an executable HPhi is automatically compiled without an MPI library.
In the above example, we compile ℋΦ by using a gcc compiler. We can select a compiler by using the following
options:• sekirei : ISSP system-B "sekirei"• sekirei_acc: ISSP system-B "sekirei" (for using MAGMA library)• fujitsu : Fujitsu compiler• intel : Intel compiler + Linux PC• gcc : GCC compiler + Linux PC.
An example of compiling ℋΦ by using the Intel compiler is shown as follows:
mkdir ./build
cd ./build
cmake -DCONFIG=intel ../make
After compilation, src folder is created below the build folder and an execute ℋΦ in the src folder. Please note that
we must delete the build folder and repeat the above operations when we change the compiler.
Tip:
CMake automatically trys to download StdFace package (https://github.com/issp-center-dev/StdFace, parser for
standard mode),but this may fail due to network problem (e.g., IP unreachable)
In such a case, please run sh src/StdFace/download.sh to download manually.
If you want to use StdFace downloaded into another directory,
pass -DSTDFACE_DIR=<path_to_stdface> to cmake command.

6

Chapter 2. How to use ℋΦ

HΦ Documentation, Release 3.5.0

2.3 Directory structure
When HPhi-xxx.tar.gz is unzipped, the following directory structure is composed.
|--CMakeLists.txt|--COPYING|--config/||--fujitsu.cmake||--gcc.cmake||--intel.cmake||--sekirei.cmake||--sekirei_acc.cmake|--doc/||--en/||--ja/||--fourier/||--userguide_en.pdf||--userguide_jp.pdf|--samples/|--src/||--*.c||--CMakeLists.txt||--include/*.h||--makefile_src||--StdFace/|--test/|--tool/

2.4 Basic usageℋΦ has two modes: Standard mode and Expert mode. Here, the basic flows of calculations of the Standard and expert
modes are shown.

2.4.1 Standard mode
The procedure of calculation through the standard mode is as follows:
1. Create a directory for a calculation scenarioFirst, you create a working directory for the calculation.
2. Create input files for Standard mode
In Standard mode, you can choose a model (the Heisenberg model, Hubbard model, etc.) anda lattice (the square lattice, triangular lattice, etc.) from those provided; you can specify someparameters (such as the first/second nearest neighbor hopping integrals and the on-site Coulomb
integral) for them. Finally, you have to specify the numerical method (such as the Lanczos
method) employed in this calculation. The input file format is described in How to use HPhi.
3. RunRun an executable HPhi in the terminal by setting option "-s" (or "--standard") and the nameof the input file written in the previous step.

2.3. Directory structure7

HΦ Documentation, Release 3.5.0• Serial/OpenMP parallel$ Path /HPhi -s Input_file_name• MPI parallel/ Hybrid parallel$ mpiexec -np number_of_processes Path /HPhi -s Input_file_name
When you use a queuing system in workstations or super computers, sometimes the number ofprocesses is specified as an argument for the job-submitting command. If you need more information, please refer to your system manuals. The number of processes depends on the target
system of the models. The details of setting the number of processes are shown in Creating
input files for Expert mode .
4. Watch calculation logs
Log files are outputted in the "output" folder, which is automatically created in the directory fora calculation scenario. The details of the output files are shown in Output files .
5. Results
If the calculation is completed normally, the result files are outputted in the "output" folder. The
details of the output files are shown in Output files
Tip:
The number of threads for OpenMP
If you specify the number of OpenMP threads for ℋΦ, you should set it as follows (in the case of 16 threads) before
running:
export OMP_NUM_THREADS=16

2.4.2 Expert mode
The calculation procedure for Expert mode is as follows.
1. Create a directory for a calculation scenarioFirst, you create a directory and give it the name of a calculation scenario (you can attach an arbitrary
name to a directory).
2. Create input files for Expert mode
For Expert mode, you should create input files for constructing Hamiltonian operators, calculation
conditions, and a list file for the filenames of the input files (see the file formats shown in Input files
for Expert mode).
Note:
A list file can be easily created by using Standard mode.
3. RunRun ℋΦ in the terminal by setting option "-e" (or "--expert") and the file name of a list file.
• Serial/OpenMP$ Path/HPhi -e Input_List_file\_name• MPI/Hybrid

8

Chapter 2. How to use ℋΦ

HΦ Documentation, Release 3.5.0$ mpiexec -np number_of_processes Path/HPhi -e
Input_List_file_name
A number of processes depend on a target of system for models. The details of
setting a number of processes are shown in Creating input files for Expert mode.
4. While runningLog files are outputted in the "output" folder which is automatically created in the directory for a
calculation scenario. The details of the output files are shown in Output files.
5. Results
If the calculation is finished normally, the result files are outputted in the "output" folder. The detailsof the output files are shown in Output files.

2.4.3 Creating input files for Expert modeThis mode is for creating input files for Expert mode. A set of input files created using this mode gives a model provided
in Standard mode. The usage is shown as follows.
1. Create an input file for Standard mode.
2. Setting an option "-sdry" and an input file (in this example, StdFace.def), run ℋΦ.
$ Path/HPhi -sdry StdFace.def
In this case, you should not use MPI parallelization (mpirun, mpiexec, etc.).
3. The following files are created as the input files for Expert mode in the current working directory.
calcmod.def
greenone.def

greentwo.def
modpara.def

namelist.def zTrans.def
zInterAll.def zlocspn.def

2.4.4 Setting the process number for MPI/hybrid parallelization
For using MPI/hybrid parallelization, the process number must be set as follows.
1. Standard mode
• Hubbard/Kondo model
When model in the input file for Standard mode is set as "Fermion Hubbard","Kondo Lattice", or "Fermion HubbardGC", the process number must be equal
to 4𝑛 .
• Spin model
When model in the input file for Standard mode is set as "Spin" or "SpinGC", theprocess number must be equal to (2𝑆 + 1)𝑛 , where 2S is set in the input file (thedefault value is 1).
2. Expert mode
• Hubbard/Kondo model
When the model is selected as the Fermion Hubbard model or Kondo model by setting
CalcModel in a CalcMod file, the process number must be equal to 4𝑛 . See CalcMod
file for details of the CalcModel file.
• Spin model
2.4. Basic usage9

HΦ Documentation, Release 3.5.0

When the model is selected as the spin model by setting CalcModel in a CalcMod
file, the process number is fixed by a LocSpin file. The process number must be equal
to the number calculated by multiplying the state number of the localized spin (2S +1)
in descending order by the site number. See LocSpin file for details of the LocSpin
file.
For example, when a LocSpin file is given as follows, the process number must be
equal to 2 = 1 + 1, 6 = 2 × (2 + 1), 24 = 6 × (3 + 1).
================================
NlocalSpin
3========================================i_0IteElc_2S ======================================
0
3
1
2
2
1

2.4.5 Printing version ID
By using the -v option as follows, you can check which version of ℋΦ you are using.
$ PATH/HPhi -v

10Chapter 2. How to use ℋΦ

CHAPTER

THREE

TUTORIAL

3.1 Quick guide to Standard mode
3.1.1 Heisenberg modelThis tutorial should be performed insamples/old/CG/Heisenberg/
The input file is provided as follows:
samples/old/CG/Heisenberg/stan.in
In this case, we treat the two-dimensional antiferromagnetic Heisenberg model that has a nearest neighbor spin coupling.
ℋ=𝐽

4
∑︁

(S𝑖𝑗 · S𝑖+1𝑗 + S𝑖𝑗 · S𝑖𝑗+1 ),

(3.1)

𝑖,𝑗=1

where we use the periodic boundary condition (S15 = S51 = S11 ).
The input file is as follows:model = "Spin"method = "CG"lattice = "square"
W = 4
L = 4
J = 1.0
2Sz = 0In this tutorial, J and the number of sites are set to 1 (arbitrary unit) and 16, respectively.

11

HΦ Documentation, Release 3.5.0

Log output
Log messages are outputted to the standard output. Log files for the calculation procedure are created in the "output"
directory which is automatically created. In this example, the following files are outputted.
CHECK_InterAll.dat
CHECK_Memory.dat
CHECK_Sdim.dat

Time_CG_EigenVector.dat
WarningOnTransfer.dat
zvo_TimeKeeper.dat

zvo_Lanczos_Step.dat
zvo_sz_TimeKeeper.dat

The details of the outputted files are shown in CHECK_Chemi.dat etc. We execute$ Path/HPhi -s stan.in
and obtain the following standard outputs (the compilation mode is MPI parallel/hybrid parallel),ammmmmmmmmmmmmmb,,
Welcome to the,@@` dmmb ===m,@@` d@@@@@@@@@@@@@@@@b Pm,@@@@@@
d@ d@@@ @@@ @@@@@@ @@@@b ~@a @@@@@@@@@@@@d@@@@@ ^^^ @@@@ m m @@@@, @@@@ @@@ @@ @@@@@@@@_@@@_@@@@mm mm@@@@| @@mmmmmmmmmm@@ @@@@@@P@
9@@@@@@@@@@@@@@@@@P@~ @@@@@@@@@@@@@@ @@@@@@@@~~9@@@@@@PPP~@P @@@@ @@@ @@ @@@~@@b@@@@@@@,@@~@@@@@@@@@@@@~@@@m,,@@@@@@@@@ ,m@~`@@@@@@~~9@@@@@@@@@ ~9@P~~~9@P
Version 2.0.3#####

Parallelization Info.

#####

OpenMP threads : 1
MPI PEs : 1######

Standard Intarface Mode STARTS######

Open Standard-Mode Inputfile stan.in
KEYWORD : model
KEYWORD : method
KEYWORD : lattice
KEYWORD : w
KEYWORD : l
KEYWORD : j
KEYWORD : 2sz#######

Parameter Summary| VALUE : Spin
| VALUE : CG
| VALUE : square| VALUE : 4| VALUE : 4| VALUE : 1.0| VALUE : 0#######@ Lattice Size & Shapea = 1.00000
Wlength = 1.00000
Llength = 1.00000##################DEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USED##################(continues on next page)

12

Chapter 3. TutorialHΦ Documentation, Release 3.5.0(continued from previous page)

Wx = 1.00000
Wy = 0.00000
Lx = 0.00000
Ly = 1.00000
phase0 = 0.00000
phase1 = 0.00000####################################DEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USED##########################################DEFAULT VALUE IS USED##############################DEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USED##############################DEFAULT VALUE IS USED######DEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USED########################################################################@ Super-Lattice setting
L = 4
W = 4
Height = 1
Number of Cell = 16
@ Hamiltonianh = 0.00000
Gamma = 0.00000
2S = 1
D = 0.00000
J0x = 1.00000
J0y = 1.00000
J0z = 1.00000
J1x = 1.00000
J1y = 1.00000
J1z = 1.00000@ Numerical conditions
LargeValue = 4.50000######

Print Expert input files######

locspn.def is written.
coulombinter.def is written.
hund.def is written.
exchange.def is written.
CDataFileHead = zvo######
Lanczos_max = 2000######
initial_iv = -1######
exct = 1######
LanczosEps = 14######
LanczosTarget = 2######
NumAve = 5######
ExpecInterval = 20######
NOmega = 200######
OmegaMax = 72.00000######
OmegaMin = -72.00000######
OmegaIm = 0.04000######
2Sz = 0
modpara.def is written.

(continues on next page)

3.1. Quick guide to Standard mode13

HΦ Documentation, Release 3.5.0(continued from previous page)@ Spectrum
SpectrumQW = 0.00000
SpectrumQL = 0.00000
SpectrumQH = 0.00000
SpectrumType = szsz
pair.def is written.

########################DEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USED########################

Restart = none
InitialVecType = c
EigenVecIO = none
CalcSpec = none
calcmod.def is written.

########################DEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USEDDEFAULT VALUE IS USED########################

ioutputmode = 1
greenone.def is written.
greentwo.def is written.
namelist.def is written.

######DEFAULT VALUE IS USED######@ CalcMod######

Input files are generated.

######

Read File 'namelist.def'.
Read File 'calcmod.def' for CalcMod.
Read File 'modpara.def' for ModPara.
Read File 'locspn.def' for LocSpin.
Read File 'coulombinter.def' for CoulombInter.
Read File 'hund.def' for Hund.
Read File 'exchange.def' for Exchange.
Read File 'greenone.def' for OneBodyG.
Read File 'greentwo.def' for TwoBodyG.
Read File 'pair.def' for PairExcitation.
######

Definition files are correct.

######

Read File 'locspn.def'.
Read File 'coulombinter.def'.
Read File 'hund.def'.
Read File 'exchange.def'.
Read File 'greenone.def'.
Read File 'greentwo.def'.
Read File 'pair.def'.
######

Indices and Parameters of Definition files(*.def) are complete.

######MAX DIMENSION idim_max=12870
APPROXIMATE REQUIRED MEMORY max_mem=0.001647 GB######MPI site separation summary######(continues on next page)

14

Chapter 3. TutorialHΦ Documentation, Release 3.5.0(continued from previous page)

INTRA process site
Site
Bit
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
10
2
11
2
12
2
13
2
14
2
15
2
INTER process site
Site
Bit
Process element info
Process
Dimension
0
12870

Nup
8

Ndown
8

Nelec
8

Total2Sz
0

State

Total dimension : 12870######LARGE ALLOCATE FINISH !

######Start: Calculate HilbertNum for fixed Sz.
End : Calculate HilbertNum for fixed Sz.
Start: Calculate diagaonal components of Hamiltonian.
End : Calculate diagaonal components of Hamiltonian.
######

Eigenvalue with LOBPCG#######

initial_mode=1 (random): iv = -1 i_max=12870 k_exct =1
Step
1
2
3
4

Residual-2-norm
2.44343e+00
2.76604e+00
2.61923e+00
2.57106e+00

Threshold1.00000e-07
1.87217e-07
4.19088e-07
5.97098e-07

Energy-5.27456e-01-1.87217e+00-4.19088e+00-5.97098e+00

40
41

7.39431e-06
4.15948e-06

1.12285e-06
1.12285e-06-1.12285e+01-1.12285e+01( snip )(continues on next page)

3.1. Quick guide to Standard mode15

HΦ Documentation, Release 3.5.0(continued from previous page)42
43

2.04898e-06
9.92048e-07######End: Calculate Lanczos EigenValue.

######End: Calculate Lanczos EigenVec.

i=1.12285e-06
1.12285e-06

0 Energy=-11.228483 N= 16.000000 Sz=-1.12285e+01-1.12285e+01############
0.000000 Doublon=

0.000000In the beginning of this run, files describing the details of the considered Hamiltonian (locspin.def, trans.def,
exchange.def, coulombintra.def, hund.def, namelist.def, calcmod.def, modpara.def) and files specifying the elements of the correlation functions that will be calculated(greenone.def, greentwo.def) are generated.
Outputs for calculation results
Locally Optimal Block Conjugate Gradient (LOBCG) method
When a calculation by the LOBCG method is finished normally, eigenenergies, one-body Green’s functions, and twobody Green’s functions are calculated and outputted to the files, respectively. In this sample, the following files are
outputted.
zvo_energy.dat
zvo_cisajscktalt_eigen_xx.dat

zvo_phys_Nup4_Ndown4.dat

where xx is the number of the eigenstate counting from 0.
Lanczos method
When a calculation by the Lanczos method is completed normally, eigenenergies, one-body Green’s functions, andtwo-body Green’s functions are calculated and outputted to the files, respectively. In this sample, the following files
are outputted.
zvo_energy.dat zvo_cisajs.dat
zvo_cisajscktalt.dat
For Standard mode, all pairs of ⟨𝑛𝑖𝜎 ⟩ are calculated as one-body Green’s functions and those of ⟨𝑛𝑖𝜎 𝑛𝑗𝜎′ ⟩ are calculated
as two-body Green’s functions on the basis of the definition files, greenone.def and greentwo.def. When the accuracy of the Lanczos vectors is sufficient, one-body and two-body Green’s functions are calculated by the eigenvectors
obtained by the Lanczos method. When the accuracy of the Lanczos vectors is not sufficient, a message "Accuracy ofLanczos vector is not enough" is outputted to the standard output and the one-body and two-body Green’s functions arecalculated by the eigenvectors obtained by CG method. The details of output files are shown in energy.dat , cisajs.dat, cisajscktalt.dat.

16

Chapter 3. TutorialHΦ Documentation, Release 3.5.0

TPQ method
When method="TPQ" is selected in an input file, a calculation by the TPQ method is started. After the calculation iscompleted normally, the following files are outputted, where %% is the number of runs and && is the number of steps
for the TPQ method.
Norm_rand%%.dat SS_rand%%.dat
zvo_cisajs_set%%step&&.dat
zvo_cisajscktalt_set%%step&&.dat
In Norm_rand%%.dat, basic information such as the inverse of temperature and the norm of the wave function before
normalization is outputted with a TPQ step for each number of runs. In SS_rand%%.dat, physical quantities such as
the inverse of temperature, energy, and expected value of the square of the Hamiltonian are outputted with a TPQ stepfor each number of runs. In zvo_cisajs_set%%step&&.dat and zvo_cisajscktalt_set%%step&&.dat, one-body and twobody Green’s functions are outputted for each number of a TPQ steps and runs. The details of these files are shown in
Norm_rand.dat, SS_rand.dat, cisajs.dat, cisajscktalt.dat.
Full diagonalization method
When method = "fulldiag" is selected in an input file, a calculation by the full diagonalization method is started.
After the calculation is completed normally, the following files are outputted, where xx is the number of the eigenstate
counting from 0.
Eigenvalue.dat zvo_cisajs_eigen_xx.dat
zvo_cisajscktalt_eigen_xx.dat zvo_phys_Nup4_Ndown4.dat
In Eigenvalue.dat, an eigennumber and an eigenvalue are outputted for each line.In zvo_cisajs_eigen_xx.dat andzvo_cisajscktalt_eigen_xx.dat,one-body Green’s functions and two-body Green’s functions are outputted for eacheigennumber. In zvo_phys_Nup4_Ndown4.dat, physical quantities, such as the expected values of energy and the
doublon are outputted. The details of these files are shown in Eigenvalue.dat - cisajscktalt.dat.

3.1.2 Other tutorials
There are many tutorials in samples. For more details, please see README.md at each directory or `the manual for
HPhi-tutorial<https://issp-center-dev.github.io/HPhi/manual/develop/tutorial/en/html/index.html>`_ .

3.2 Quick guide to Expert mode
For Expert mode, the following input files are needed.
1. A file list for input files
2. Files for basic parameters
3. Files for constructing Hamiltonian
4. Files for setting output components.
The process after calculation is the same as in Standard mode. In this section, we demonstrate Expert mode in the
directory where the tutorial at the previous section was performed.

3.2. Quick guide to Expert mode17

HΦ Documentation, Release 3.5.0

3.2.1 File list for input files
In namelist.def, the types of input files and filenames are defined as shown below. By writing the keyword and filenames
at each line, the types of files are distinguished. The details of namelist.def are shown in List file for the input files.
ModParaLocSpinCoulombInter
Hund
Exchange
OneBodyG
TwoBodyG
CalcMod
PairExcitation
SpectrumVec

modpara.def
locspn.def
coulombinter.def
hund.def
exchange.def
greenone.def
greentwo.def
calcmod.def
pair.def
zvo_eigenvec_0

3.2.2 Files for basic parameters
In this subsection, we show how to set a calculation mode, the parameters for the calculation, and the positions of thelocalized spins.
Setting a calculation mode
The calculation mode is set in a CalcMod file (in this sample file, calcmod.def). The contents of the files are as follows.
#CalcType = 0:Lanczos, 1:TPQCalc, 2:FullDiag, 3:CG, ...
#CalcModel = 0:Hubbard, 1:Spin, 2:Kondo, 3:HubbardGC, ...
#Restart = 0:None, 1:Save, 2:Restart&Save, 3:Restart#CalcSpec = 0:None, 1:Normal, 2:No H*Phi, 3:Save, ...
CalcType
3
CalcModel
1
ReStart0
CalcSpec0
CalcEigenVec0
InitialVecType0
InputEigenVec0
We select a calculation method in CalcType and a target model in CalcModel. In this sample, we set the Lanczos method
as a calculation method and the target model as the spin system (canonical ensemble). The details of a CalcMod file
are shown in CalcMod file.
Setting parameters for calculation
The parameters for the calculation are set in a ModPara file(in this sample, modpara.def). The contents of this file areas follows.
-------------------Model_Parameters0-------------------HPhi_Cal_Parameters-------------------(continues on next page)

18

Chapter 3. TutorialHΦ Documentation, Release 3.5.0(continued from previous page)

CDataFileHead zvo
CParaFileHead zqp-------------------Nsite
16
2Sz
0Lanczos_max
2000
initial_iv
-1
exct
1
LanczosEps
14
LanczosTarget 2
LargeValue
4.500000000000000e+00
NumAve5
ExpecInterval 20
NOmega200
OmegaMax
7.200000000000000e+01
OmegaMin-7.200000000000000e+01
OmegaOrg
0.0 0.0

4.000000000000000e-02
4.000000000000000e-02

In this file, we set the parameters for the calculation, such as the site number, the total number of conduction electrons,
the total 𝑆𝑧 and the number of Lanczos steps. The details of the ModPara file are shown in ModPara file.
Setting positions of localized spins
The positions 𝑆 of the localized spins are defined by a LocSpin file (in this sample, locspn.def). The contents of thefiles are as follows.
================================
NlocalSpin
16========================================i_0IteElc_1LocSpn ======================================
0
1
1
1
2
1
3
1
4
1
5
1
...
When CalcModel in a CalcMod file is set as the spin system, all the sites are automatically treated as localized spins.
The details of a LocSpin file are shown in LocSpin file.

3.2. Quick guide to Expert mode

19

HΦ Documentation, Release 3.5.0

3.2.3 Files for constructing Hamiltonian
After setting the basic parameters, we create input files for constructing the Hamiltonian. Since the calculations are
performed by using the representation of the fermion operators in ℋΦ, we must rewrite the spin operator. For example,
in the case of 𝑆 = 1/2, we rewrite the equation by using the relation
𝑆𝑖𝑧 = (𝑐†𝑖↑ 𝑐𝑖↑ − 𝑐†𝑖↓ 𝑐𝑖↓ )/2,
𝑆𝑖+ = 𝑐†𝑖↑ 𝑐𝑖↓ ,(3.2)

𝑆𝑖− = 𝑐†𝑖↓ 𝑐𝑖↑ .
Setting transfer integrals
In a Trans file (in this sample, zTrans.def), we set the transfer part of the Hamiltonian,∑︁ℋ+ = −
𝑡𝑖𝑗𝜎1 𝜎2 𝑐†𝑖𝜎1 𝑐𝑗𝜎2 .
𝑖𝑗𝜎1 𝜎2(3.3)

The contents of the files are as follows.
========================
NTransfer0================================i_j_s_tijs==============================
We can use this term when an electric magnetic field is added in the spin system. For example, when a magnetic field(1)
is added at a site 1 such as −0.5𝑆𝑧 for 𝑆 = 1/2, this term can be rewritten as −0.5/2(𝑐†1↑ 𝑐1↑ − 𝑐†1↓ 𝑐1↓ ). Thus, theinput file becomes as follows.
========================
NTransfer1================================i_j_s_tijs==============================
1 0 1 0 -0.25 0
1 1 1 1 0.25 0
The details for a Trans file are shown in Trans file.
Setting general two-body interactions
In an InterAll file (in this sample, zInterall.def), we set the general two-body interaction part of the Hamiltonian,
∑︁
∑︁
ℋ+ =
𝐼𝑖𝑗𝑘𝑙𝜎1 𝜎2 𝜎3 𝜎4 𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 .
(3.4)
𝑖,𝑗,𝑘,𝑙 𝜎1 ,𝜎2 ,𝜎3 ,𝜎4The contents of the files are as follows.
======================
NInterAll
96==============================zInterAll=====(continues on next page)

20

Chapter 3. TutorialHΦ Documentation, Release 3.5.0(continued from previous page)======================
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
...

1
1
1
1
1
1

0
1
0
1
1
0

1
1
1
1
1
1

0
1
0
1
0
1

0.500000-0.500000-0.500000
0.500000
1.000000
1.000000

0.000000
0.000000
0.000000
0.000000
0.000000
0.000000

Here, we explain the interaction between site 𝑖 and site 𝑗 in the case of 𝑆 = 1/2, for simplicity. Using fermion operators,
the interaction terms for the spin operators can be rewritten as𝑦𝑥𝑧ℋ𝑖,𝑖+1 = 𝐽(𝑆𝑖𝑥 𝑆𝑖+1
+ 𝑆𝑖𝑦 𝑆𝑖+1
+ 𝑆𝑖𝑧 𝑆𝑖+1
)
(︂
)︂
1 + −
1 − +
𝑧
=𝐽
𝑆𝑖 𝑆𝑖+1 + 𝑆𝑖 𝑆𝑖+1 + 𝑆𝑖𝑧 𝑆𝑖+1
2
2
]︂
[︂
1
1
1 †
𝑐𝑖↑ 𝑐𝑖↓ 𝑐†𝑖+1↓ 𝑐𝑖+1↑ + 𝑐†𝑖↓ 𝑐𝑖↑ 𝑐†𝑖+1↑ 𝑐𝑖+1↓ + (𝑐†𝑖↑ 𝑐𝑖↑ − 𝑐†𝑖↓ 𝑐𝑖↓ )(𝑐†𝑖+1↑ 𝑐𝑖+1↑ − 𝑐†𝑖+1↓ 𝑐𝑖+1↓ ) .
=𝐽
2
2
4
𝑧
Thus, the interaction 𝑆𝑖𝑧 𝑆𝑖+1
for 𝐽 = 2 can be written as

i
i
i
i

0
0
1
1

i
i
i
i

0
0
1
1

i+1
i+1
i+1
i+1

0
1
0
1

i+1
i+1
i+1
i+1

0
1
0
1

0.500000-0.500000-0.500000
0.500000

0.000000
0.000000
0.000000
0.000000in the format of an InterAll file. The other terms can be written as follows.
i
i

0
1

i
i

1
0

i+1
i+1

1
0

i+1
i+1

0
1

1.000000
1.000000

0.000000
0.000000

There are other file formats for constructing the Hamiltonian. The details of the input formats of two-body interactions
are shown in InterAll file - PairLift file.

3.2.4 Setting output components
In OneBodyG and TwoBodyG files, the indices of one-body and two-body Green’s functions are defined, respectively.
Setting indices of one-body Green’s functions
In a OneBodyG file (in this sample, greenone.def), the indices of ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ⟩ are defined. The contents of files are as
follows.
===============================
NCisAjs32======================================= Green functions =====================================
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
(continues on next page)3.2. Quick guide to Expert mode21

HΦ Documentation, Release 3.5.0(continued from previous page)

2
...

0

2

0

The details of the input formats of a OneBodyG file are shown in OneBodyG file.
Setting indices of two-body Green’s functions
In the TwoBodyG file (in this sample, greentwo.def), the indices of ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 ⟩ are defined. The contents ofthis file are as follows.
=============================================
NCisAjsCktAltDC
1024===================================================== Green functions for Sq AND Nq ===================================================
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
2
0
2
0
...
The details of the input formats of the TwoBodyG file are shown in TwoBodyG file.

3.2.5 Running
After creating all the input files above, we are ready to run a program. For Expert mode, we must set an option "-e"and a file name list (in this sample, namelist.def) as arguments to run ℋΦ.
$ Path/HPhi -e namelist.def
The process after the calculation is the same as that of Standard mode.

3.3 Fourier transformation of correlation functions
This package has a utility which performs the Fourier transformation of the correlation function and plots that function.
The manual of this utility is located in
doc/fourier/ja/_build/html/index.html
doc/fourier/ja/_build/latex/fourier.pdf
doc/fourier/en/_build/html/index.html
doc/fourier/en/_build/latex/fourier.pdf

22

Chapter 3. Tutorial

CHAPTER

FOUR

FILE SPECIFICATION

4.1 Input files for Standard mode
An example of an input file for the standard mode is as follows:
W = 2
L = 4
model = "spin"
method = "Lanczos"
lattice = "triangular lattice"//mu = 1.0// t = -1.0// t' = -0.5// U = 8.0//V = 4.0//V'=2.0
J = -1.0
J'=-0.5// nelec = 8
2Sz = 0

Basic rules for input files• In each line, there is a set of a keyword (before an “=”) and a parameter(after an “=”); they are separated by “=”.
• You can describe keywords in a random order.
• Empty lines and lines beginning with a “//”(comment outs) are skipped.
• Upper- and lowercase are not distinguished. Double quotes and blanks are ignored.
• There are three types of parameters.
1. Parameters that must be specified (if not, ℋΦ will stop with error messages),
2. Parameters that it is not necessary to specified (if not specified, default values are used),
3. Parameters that must not be specified (if specified, ℋΦ will stop with error messages).
An example of type 3 is the transfer 𝑡 parameter for the Heisenberg spin system. If you choose “model=spin”,
you should not specify “𝑡”.
We explain each keyword as follows.

23

HΦ Documentation, Release 3.5.0

4.1.1 Parameters for the type of calculation• modelType : String (choose from "Fermion Hubbard", "Spin", "Kondo Lattice", "Fermion HubbardGC","SpinGC", "Kondo LatticeGC", "SpinGCCMA")1
Description : The target model is specified with this parameter; the expressions above denote the canonicalensemble of the Fermion in the Hubbard model
∑︁
∑︁
∑︁
∑︁ †
𝑈 𝑛𝑖↑ 𝑛𝑖↓ +𝑉𝑖𝑗 𝑛𝑖 𝑛𝑗 ,𝑡𝑖𝑗 𝑐†𝑖𝜎 𝑐𝑗𝜎 +ℋ = −𝜇𝑐𝑖𝜎 𝑐𝑖𝜎 −
(4.1)
𝑖𝜎

𝑖

𝑖̸=𝑗,𝜎𝑖̸=𝑗

the canonical ensemble in the Spin model({𝛼, 𝛽} = {𝑥, 𝑦, 𝑧})∑︁∑︁∑︁
ℋ = −ℎ𝑆𝑖𝑧 − Γ𝑆𝑖𝑥 + 𝐷
𝑆𝑖𝑧 𝑆𝑖𝑧𝑖+∑︁𝐽𝑖𝑗𝛼 𝑆𝑖𝛼 𝑆𝑗𝛼 +

𝑖𝑗,𝛼

𝑖

𝑖

∑︁

𝐽𝑖𝑗𝛼𝛽 𝑆𝑖𝛼 𝑆𝑗𝛽 ,𝑖𝑗,𝛼̸=𝛽the canonical ensemble in the Kondo lattice model
}︁
∑︁ †
∑︁ †
𝐽 ∑︁ {︁ + †𝑆𝑖 𝑐𝑖↓ 𝑐𝑖↑ + 𝑆𝑖− 𝑐†𝑖↑ 𝑐𝑖↓ + 𝑆𝑖𝑧 (𝑛𝑖↑ − 𝑛𝑖↓ ) ,ℋ = −𝜇𝑐𝑖𝜎 𝑐𝑖𝜎 − 𝑡𝑐𝑖𝜎 𝑐𝑗𝜎 +
2 𝑖
𝑖𝜎

(4.2)

⟨𝑖𝑗⟩𝜎

the grand canonical ensemble of the Fermion in the Hubbard model [Eqn. (4.1) ], the grand canonical ensemble
in the Spin model [Eqn. (4.2) ], and the grand canonical ensemble in the Kondo lattice model [Eqn. (4.2) ],respectively.
When model="SpinGCCMA", by using a more efficient algorithm2 , ℋΦ calculates a system that is the same as"SpinGC". However, supported models and MPI processes are highly limited. See "Lattice" section.
• method
Type : String (choose from "Lanczos", "TPQ", "Full Diag", "CG", "Time Evolution")
Description : The calculation type is specified with this parameter; the above expressions above denote the single
eigenstate calculation by using the Lanczos method, at the finite-temperature by using the thermally pure quantum
state, the full diagonalization method, the multiple eigenstates calculation by using the LOBCG method34 , andthe simulation of real-time evolution, respectively.
The scheme employed for the spectrum calculation is also specified with this parameter. If "CG" is chosen, theshifted bi-conjugate gradient method5 together with the seed-switch technique6 is employed with the help of the𝐾𝜔 library7 .
• lattice
Type : String (choose from "Chain Lattice", "Square Lattice", "Triangular Lattice", "Honeycomb
Lattice", "Kagome", "Ladder")Description : The lattice shape is specified with this parameter; the expressions above denote the onedimensional chain lattice ( Fig. 4.1 (a)), the two-dimensional square lattice ( Fig. 4.1 (b)), the two-dimensional
triangular lattice ( Fig. 4.1 (c)), the two-dimensional anisotropic honeycomb lattice ( Fig. 4.2 ), the Kagome
Lattice( Fig. 4.3 ), and the ladder lattice ( Fig. 4.4 ) respectively.
1 GC=Grand Canonical

2 Y. Yamaji et. al., manuscript in preparation.

3 A.V.Knyazev, SIAM Journal on Scientific Computing 23, 517 (2001).

4 S.Yamada, T.Imamura, M.Machida, The Japan Society for Computational Engineering and Science 2006, 20060027 (2006).

5 A.Frommer, Computing 70, 87-109 (2003).

6 S.Yamamoto, T. Sogabe, T. Hoshi, S.-L. Zhang, T. Fujiwara, Journal of the Physical Society of Japan 77, 114713 (2008).
7 https://github.com/issp-center-dev/Komega.

24

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

In method="SpinGCCMA", only "Chain Lattice", "Honeycomb Lattice", "Kagome", and "Ladder" aresupported. The limits of 𝐿, 𝑊 , and the number of MPI processes (𝑁proc ) are as follows:– "Chain Lattice"
𝐿 = 8𝑛 (where 𝑛 is an integer number under the condition 𝑛 ≥ 1), 𝑁proc ≤ 2(𝐿 = 8), 𝑁proc ≤2𝐿/2−2 (𝐿 > 8).
– "Honeycomb Lattice"
𝑊 = 3, 𝐿 ≥ 2, 𝑁proc ≤ 2(𝐿 = 2), 𝑁proc ≤ 64(𝐿 > 2).
– "Kagome"𝑊 = 3, 𝐿 ≥ 2, 𝑁proc ≤ 1(𝐿 = 2), 𝑁proc ≤ 512(𝐿 > 2).
– "Ladder"
𝑊 = 2, 𝐿 = 2𝑛 (where 𝑛 is an integer number under the condition 𝑛 ≥ 4), 𝑁proc ≤ 2𝐿−4 .

4.1. Input files for Standard mode25

HΦ Documentation, Release 3.5.0

4.1.2 Parameters for the lattice
Chain [ Fig. 4.1 (a)]• L
Type : Integer
Description : The length of the chain is specified with this parameter.

Fig. 4.1: Schematic illustration of (a) one-dimensional chain lattice, (b) two-dimensional square lattice, and (c) twodimensional triangular lattice. They have 𝑡, 𝑉 , and 𝐽 as the nearest neighbor hopping, an offsite Coulomb integral, anda spin-coupling constant, respectively (magenta solid lines); they also have 𝑡′ , 𝑉 ′ , and 𝐽 ′ as the next nearest neighbor
hopping, offsite Coulomb integral, and spin-coupling constant, respectively (green dashed line).

26

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Fig. 4.2: Schematic illustration of the anisotropic honeycomb lattice. The first/second/third nearest neighbor hopping
integral, spin coupling, and offsite Coulomb integral depend on the bond direction.

4.1. Input files for Standard mode27

HΦ Documentation, Release 3.5.0

Fig. 4.3: Schematic illustration of the Kagome lattice.

28

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Fig. 4.4: Schematic illustration of the ladder lattice.

4.1. Input files for Standard mode29

HΦ Documentation, Release 3.5.0

Ladder ( Fig. 4.4 )• L
Type : Integer
Description : The length of the ladder is specified with this parameter.
• W
Type : Integer
Description : The number of the ladder is specified with this parameter.

Fig. 4.5: Shape of the numerical cell when 𝑎0 = (6, 2), 𝑎1 = (2, 4) in the triangular lattice. The region surrounded by𝑎0 (magenta dashed arrow) and 𝑎1 (green dashed arrow) becomes the cell to be calculated (20 sites).

Tetragonal lattice [ Fig. 4.1 (b)], triangular lattice [ Fig. 4.1 (c)], honeycomb lattice [ Fig. 4.2 ], Kagome lattice [ Fig.
4.3 ]In these lattices, we can specify the shape of the numerical cell by using the following two methods.
• W, LType : Integer
Description : The alignment of the original unit cells (dashed black lines in Fig. 4.1 - Fig. 4.3 ) is specified
with this parameter.
• a0W, a0L, a1W, a1L
Type : Integer
Description : We can specify two vectors (𝑎0 , 𝑎1 ) that surround the numerical cell (Fig. 4.5 ). These vectors
should be specified in the fractional coordinate.

30

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

If we use both these methods, ℋΦ stops. When model=SpinGCCMA, we can use only the former.
We can check the shape of the numerical cell by using a file lattice.gp which is written in Standard mode. This filecan be read by gnuplot as follows:$ gnuplot lattice.gp

4.1. Input files for Standard mode31

HΦ Documentation, Release 3.5.0

4.1.3 Parameters for conserved quantities• nelec
Type : Positive integer
Description : The number of valence electrons is specified with this parameter. When model = "Fermion
HubbardGC", "Spin", or "SpinGC", it should not be specified.
• 2Sz
Type : Integer
Description : The 𝑧 component of the twofold total spin is specified with this parameter. When model ="Fermion HubbardGC" or "SpinGC", it should not be specified.

32

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.1.4 Parameters for the Hamiltonian
A default value is 0 unless a specific value is written in the description. Table 4.1 shows the parameters for each models.
In the case of a complex type, a file format is “a real part, an imaginary part ” while in the case of a real type, only “areal part “.
Local terms• muType : Real
Description : It is available only for the Hubbard and Kondo lattice model. The chemical potential 𝜇 (including
the site potential) is specified with this parameter.
• U
Type : Real
Description : It is available only for the Hubbard and Kondo lattice model. The onsite Coulomb integral 𝑈 is
specified with this parameter.
• Jx, Jy, Jz, Jxy, Jyx, Jxz, Jzx, Jyz, Jzy
Type : Real
Description : It is available only for the Kondo lattice model. The spin-coupling constant between the valence
and the local electrons is specified with this parameter. If the exchange coupling J is specified in the input file,instead of Jx, Jy, Jz, the diagonal exchange couplings, Jx, Jy, Jz, are set as Jx = Jy = Jz = J. Whenboth the set of exchange couplings (Jx, Jy, Jz) and the exchange coupling J are specified in the input file, ℋΦwill stop.
• hType : Real
Description : The longitudinal magnetic field is specified with this parameter.
• Gamma, DType : Real
Description : (Spin model) The transverse magnetic field, and the single-site anisotropy parameter are specified with these parameters. The single-site anisotropy parameter is not available formodel=SpinGCCMA.
The non-local terms described below should be specified differently according to the lattice structure: For
lattice=Ladder, the non-local terms are specified differently from those for the lattice=Chain Lattice, Square
Lattice, Triangular Lattice, Honeycomb Lattice, Kagome. Below, the available parameters for each lattice areshown in Table 4.1 .

4.1. Input files for Standard mode33

HΦ Documentation, Release 3.5.0

Table 4.1: Interactions for each model defined in an input file. We candefine spin couplings as a matrix format.
Interactions
1D chain 2D square 2D triangular Honeycomb Kagome
J, t, V(simplified)
∘
∘
∘
∘
∘
J0, t0, V0
∘
∘
∘
∘
∘
J1, t1, V1∘∘∘∘
J2, t2, V2∘∘∘J’, t’, V’(simplified)
∘
∘
∘
∘
∘
J0’, t0’, V0’
∘
∘
∘
∘
∘
J1’, t1’, V1’∘∘∘∘
J2’, t2’, V2’∘∘∘
J”, t”, V”(simplified) ∘∘∘∘J0”, t0”, V0”∘∘∘∘
J1”, t1”, V1”∘∘∘
J2”, t2”, V2”∘∘-

Ladder∘∘∘∘∘-Non-local terms[ for Ladder ( Fig. 4.4 )]• t0, t1, t1', t2, t2'
Type : Complex
Description : (Hubbard and Kondo lattice model) Hopping integrals in the ladder lattice (see Fig. 4.4 ) are
specified with this parameter.
• V0, V1, V1', V2, V2'
Type : Real
Description : (Hubbard and Kondo lattice model) Offsite Coulomb integrals on the ladder lattice ( Fig. 4.2 ) are
specified with these parameters.
• J0x, J0y, J0z, J0xy, J0yx, J0xz, J0zx, J0yz, J0zy
• J1x, J1y, J1z, J1xy, J1yx, J1xz, J1zx, J1yz, J1zy
• J1'x, J1'y, J1'z, J1'xy, J1'yx, J1'xz, J1'zx, J1'yz, J1'zy• J2x, J2y, J2z, J2xy, J2yx, J2xz, J2zx, J2yz, J2zy
• J2'x, J2'y, J2'z, J2'xy, J2'yx, J2'xz, J2'zx, J2'yz, J2'zy.
Type : Real
Description : (Spin model) Spin-coupling constants in the ladder lattice (see Fig. 4.4 ) are specified with theseparameters. If the simplified parameter J0 is specified in the input file instead of the diagonal couplings, J0x,J0y, J0z, these diagonal couplings are set as J0x = J0y = J0z = J0. If both J0 and the set of the couplings(J0x, J0y, J0z) are specified, ℋΦ will stop. The above rules are also valid for the simplified parameters, J1, J1',
J2, and J2'.

34

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Non-local terms [other than Ladder ( Fig. 4.1 , Fig. 4.2 , Fig. 4.3 )]• t, t0, t1, t2
Type : Complex
Description : (Hubbard and Kondo lattice model) The nearest neighbor hoppings for each direction (see Fig. 4.1- Fig. 4.3 ) are specified with these parameters. If there is no bond dependence of the hoppings, the simplified
parameter t is available to specify t0, t1, and t2 as t0 = t1 = t2 = t. If both t and the set of the hoppings(t0, t1, t2) are specified, ℋΦ will stop.
• t', t0', t1', t2'
Type : Complex
Description : (Hubbard and Kondo lattice model) The second nearest neighbor hoppings for each direction (seeFig. 4.1 - Fig. 4.3 ) are specified with these parameter. If there is no bond dependence of the hoppings, thesimplified parameter t' is available to specify t0', t1', and t2' as t0' = t1' = t2' = t'. If both t' andthe set of the hoppings (t0', t1', t2') are specified, ℋΦ will stop.
• t'', t0'', t1'', t2''
Type : Complex
Description : (Hubbard and Kondo lattice model) The third nearest neighbor hoppings for each direction (seeFig. 4.1 - Fig. 4.3 ) are specified with these parameter. If there is no bond dependence of the hoppings, thesimplified parameter t'' is available to specify t0'', t1'', and t2'' as t0'' = t1'' = t2'' = t''. If
both t'' and the set of the hoppings (t0'', t1'', t2'') are specified, ℋΦ will stop.
• V, V0, V1, V2Type : Real
Description : (Hubbard and Kondo lattice model) The nearest neighbor offsite Coulomb integrals 𝑉 for eachdirection (see Fig. 4.1 - Fig. 4.3 ) are specified with these parameters. If there is no bond dependence of theoffsite Coulomb integrals, the simplified parameter V is available to specify V0, V1, and V2 as V0 = V1 = V2 =V. If both V and the set of the Coulomb integrals (V0, V1, V2) are specified, ℋΦ will stop.
• V', V0', V1', V2'
Type : Real
Description : (Hubbard and Kondo lattice model) The second nearest neighbor-offsite Coulomb integrals 𝑉 ′ foreach direction (see Fig. 4.1 - Fig. 4.3 ) are specified with this parameter. If there is no bond dependence of theoffsite Coulomb integrals, the simplified parameter V' is available to specify V0', V1', and V2' as V0' = V1'= V2' = V'. If both V' and the set of the Coulomb integrals (V0', V1', V2') are specified, ℋΦ will stop.
• V'', V0'', V1'', V2''Type : Real
Description : (Hubbard and Kondo lattice model) The third nearest neighbor-offsite Coulomb integrals 𝑉 ′ foreach direction (see Fig. 4.1 - Fig. 4.3 ) are specified with this parameter. If there is no bond dependence of theoffsite Coulomb integrals, the simplified parameter V'' is available to specify V0'', V1'', and V2'' as V0'' =V1'' = V2'' = V''. If both V'' and the set of the Coulomb integrals (V0'', V1'', V2'') are specified, ℋΦwill stop.
• J0x, J0y, J0z, J0xy, J0yx, J0xz, J0zx, J0yz, J0zy
• J1x, J1y, J1z, J1xy, J1yx, J1xz, J1zx, J1yz, J1zy
• J2x, J2y, J2z, J2xy, J2yx, J2xz, J2zx, J2yz, J2zy
Type : Real4.1. Input files for Standard mode

35

HΦ Documentation, Release 3.5.0

Description : (Spin model) The nearest neighbor exchange couplings for each direction are specified with theseparameters. If the simplified parameter J0 is specified, instead of J0x, J0y, J0z, the exchange couplings,
J0x, J0y, J0z, are set as J0x = J0y = J0z = J0. If both J0 and the set of the exchange couplings (J0x,J0y, J0z) are specified, ℋΦ will stop. The above rules are valid for J1 and J2.
If there is no bond dependence of the exchange couplings, the simplified parameters, Jx, Jy, Jz, Jxy, Jyx, Jxz,
Jzx, Jyz, Jzy, are available to specify the exchange couplings for every bond as J0x = J1x = J2x = Jx. If
any simplified parameter (Jx-Jzy) is specified in addition to its counterparts (J0x-J2zy), ℋΦ will stop. Below,
examples of parameter sets for nearest neighbor exchange couplings are shown.
– If there are no bond-dependent, and no anisotropic and offdiagonal exchange couplings (such as 𝐽𝑥𝑦 ), please
specify J in the input file.
– If there are no bond-dependent and offdiagonal exchange couplings but there are anisotropic couplings,
please specify the non-zero couplings in the diagonal parameters, Jx, Jy, Jz.
– If there are no bond-dependent exchange couplings but there are anisotropic and offdiagonal exchange
couplings, please specify the non-zero couplings in the nine parameters, Jx, Jy, Jz, Jxy, Jyz, Jxz,
Jyx, Jzy, Jzx.
– If there are no anisotropic and offdiagonal exchange couplings, but there are bond-dependent couplings,
please specify the non-zero couplings in the three parameters, J0, J1, J2.
– If there are no anisotropic exchange couplings, but are bond-dependent and offdiagonal couplings, please
specify the non-zero couplings in the nine parameters, J0x, J0y, J0z, J1x, J1y, J1z, J2x, J2y,
J2z.
– If there are bond-dependent, anisotropic, and offdiagonal exchange couplings, please specify the non-zero
couplings in the twenty-seven parameters from J0x to J2zy.
• J'x, J'y, J'z, J'xy, J'yx, J'xz, J'zx, J'yz, J'zy
• J0'x, J0'y, J0'z, J0'xy, J0'yx, J0'xz, J0'zx, J0'yz, J0'zy• J1'x, J1'y, J1'z, J1'xy, J1'yx, J1'xz, J1'zx, J1'yz, J1'zy• J2'x, J2'y, J2'z, J2'xy, J2'yx, J2'xz, J2'zx, J2'yz, J2'zy
Type : Real
Description : (Spin model) The second nearest neighbor exchange couplings are specified. However,for lattice = Honeycomb Lattice and lattice = Kagome with model=SpinGCCMA, the second nearest
neighbor exchange couplings are not available in the 𝑆𝑡𝑎𝑛𝑑𝑎𝑟𝑑 mode. If the simplified parameter J' is specified, instead of J'x, J'y, J'z, the exchange couplings are set as J'x = J'y = J'z = J'. If both J' andthe set of the couplings (J'x, J'y, J'z) are specified, ℋΦ will stop.
• J''x, J''y, J''z, J''xy, J''yx, J''xz, J''zx, J''yz, J''zy• J0''x, J0''y, J0''z, J0''xy, J0''yx, J0''xz, J0''zx, J0''yz, J0''zy• J1''x, J1''y, J1''z, J1''xy, J1''yx, J1''xz, J1''zx, J1''yz, J1''zy• J2''x, J2''y, J2''z, J2''xy, J2''yx, J2''xz, J2''zx, J2''yz, J2''zy
Type : Real
Description : (Spin model) The third nearest neighbor exchange couplings are specified. However, for lattice= Honeycomb Lattice and lattice = Kagome with model=SpinGCCMA, the third nearest neighbor exchange
couplings are not available in the 𝑆𝑡𝑎𝑛𝑑𝑎𝑟𝑑 mode. If the simplified parameter J'' is specified, instead of J''x,
J''y, J''z, the exchange couplings are set as J''x = J''y = J''z = J''. If both J'' and the set of thecouplings (J''x, J''y, J''z) are specified, ℋΦ will stop.
• phase0, phase1

36

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Type : Double (0.0 as defaults)
Description : We can specify the phase for the hopping through the cell boundary with these parameter (unit:
degree). These factors for the 𝑎0 direction and the 𝑎1 direction can be specified independently. For the onedimensional system, only phase0 can be used. For example, a fopping from 𝑖-th site to 𝑗-th site through the cellboundary with the positive direction becomes asexp(𝑖 × phase0 × 𝜋/180) × 𝑡𝑐†𝑗𝜎 𝑐𝑖𝜎 + exp(−𝑖 × phase0 × 𝜋/180) × 𝑡* 𝑐†𝑖𝜎 𝑐𝑗𝜎4.1. Input files for Standard mode

(4.3)

37

HΦ Documentation, Release 3.5.0

4.1.5 Parameters for the numerical condition• 2S
Type : Positive integer (1 as a default)
Description : The 2𝑆 at each site in the localized spin system is specified. (E.g. 1 for the 1/2 system)• Restart
Type : String (choose from "None", "Restart_out", "Restart_in", "Restart". "None" as a default)
Description : The condition of the restart is specified. "None" for omitting file IOs for the restart,"Restart_out" for starting calculation from scratch and generating a restart-file after the calculation finishes, "Restart_in" for starting calculation with the restart-file generated in the previous run, "Restart"for "Restart_out" + "Restart_in".
• Lanczos_max
Type : Positive integer (default value: 2000)
Description : The upper limit of the Lanczos/LOBCG/BiCG step and the number of steps for
TPQ/Time=evolution are specified with this parameter.
• initial_iv
Type : Integer (default value: -1)
Description : An initial vector is specified with this parameter.
– Lanczos method∗ For the canonical ensemble and initial_iv ≥ 0
The non-zero components of an initial vector are specified with this parameter.
∗ For the grand canonical ensemble or initial_iv < 0
The seed of the random generator is given by this parameter and the random vector is used as the initial
vector.
– TPQ method
The seed of the random generator is given by this parameter and the random vector is used as the initial
vector.
See Algorithm for details of setting an initial vector.
• exctType : Positive integer (default value: 1)
Description : The number of eigenvectors obtained from the ground energy by the Lanczos method are
specified.
When exct=2, the eigenvector of the first-excited state is obtained. When method="CG", the number of states tobe calculated is specified.
Note: The condition nvec >= exct must be satisfied.
• LanczosEps
Type : Positive integer (default value: 14)

38

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Description : The convergence criterion for the Lanczos method is specified with this parameter. If the difference between the old and the new target eigenvalue falls below 10−LanczosEps , the Lanczos step will finish. For
method="CG", we assume the calculation is converged when the 2-norm of the residual vector becomes smaller
than 10−LanczosEps/2 .
• LanczosTarget
Type : Positive integer (default value: 2)
Description : The target eigenenergy for the convergence criterion is specified. If it is set to 1, the target eigenenergy becomes the ground state.
• LargeValue
Type : Double (the default value is provided below)
Description : (Only for TPQ) 𝑙 as (𝑙 − ℋ/𝑁𝑠 ) is used in the mTPQ calculation. Usually, the largest eigenvalueof the Hamiltonian is used as 𝑙. Thus, the default value of 𝑙 is taken as the summation of the absolute valuesof each coefficient in the Hamiltonian divided by the number of sites. In the cTPQ calculation, LargeValue isused as ∆𝜏 = 1/𝐿𝑎𝑟𝑔𝑒𝑉 𝑎𝑙𝑢𝑒. The definition of ∆𝜏 is explained in Algorithm.
• NumAve
Type : Positive integer (default value: 5)
Description : (Only for TPQ) The number of independent runs for the TPQ method is specified with this parameter.
• ExpecInterval
Type : Positive integer (default value: 20)
Description : (Only for TPQ) The interval of calculating correlation functions in the TPQ iteration is specified.
Note: A small interval increases the time cost of calculations.
• OutputMode
Type : Choose from "none", "correlation", and "full" (correlation as default)
Description : Indices of correlation functions are specified with this keyword. "none" indicates correlation
functions will not be calculated. When outputmode="correlation", the correlation function supported by
the utility fourier is computed. For more details, see the document in doc/fourier/. If "full" is selected,⟨𝑐†𝑖𝜎 𝑐𝑗𝜎′ ⟩ is computed at all 𝑖, 𝑗, 𝜎, 𝜎 ′ , and ⟨𝑐†𝑖1 𝜎1 𝑐𝑖2 𝜎2 𝑐†𝑖3 𝜎3 𝑐𝑖4 𝜎4 ⟩ is computed at all 𝑖1 , 𝑖2 , 𝑖3 , 𝑖4 , 𝜎1 , 𝜎2 , 𝜎3 , 𝜎4 .
In a spin system, the indices are specified as those of the Bogoliubov representation (see Bogoliubov representation ).
• InitialVecType
Type : Character (choose from "C", "R". "C" as a default)
Description : The type of the initial eigenvector is specified. C for the complex number, and R for the real
number.
• EigenVecIO
Type : String (choose from "None", "Out", "In". "None" as a default)
Description : The I/O of the eigenvector is specified. "None" for omitting the IO of the eigenvector, "Out"for writing the eigenvector to a file, "In" for reading the eigenvector from a file and using it in the subsequentcalculation (such as the Green’s function).

4.1. Input files for Standard mode

39

HΦ Documentation, Release 3.5.0• HamIO
Type : String (choose from "None", "Out", "In". "None" as a default)
Description : (Only used in Full Diag mode)
The I/O of the Hamiltonian is specified.
None: not output Hamiltonian.
Out: output Hamiltonian.
Iut: Input Hamiltonian.
• OutputExcitedVec
Type : String (choose from "None" or "Out". "None" as a default)
Description : (Only used in the mode to calculate dynamical green’s functions)
The mode to output the excited vector is specified.
None: not output the excited vector.
Out: output the excited vector.

40

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.1.6 Parameters for the dynamical Green’s function• CalcSpec
Type : String(choose from "None", "Normal", "NoIteration", "Restart_out", "Restart_in","Restart", "None" as default.)
Description : The condition for the calculation of the dynamical Green’s function is specified.
"None" for omitting the calculation of the dynamical Green’s function. "Normal" for calculatingthat function from scratch, "NoIteration" for calculating that function with the same iteration in
the previous run (In this case, the Hamiltonian-vector product is not performed. Although the numerical cost is very small, the convergence is not guaranteed), "Restart_out" for calculating thatfunction from scratch and writing the restart-file at the end, "Restart_in" for starting the calculation
with the previously written restart-file, "Restart" for "Restart_out" + "Restart_in".
The scheme for the spectrum calculation is specified by using the parameter method. If method="CG"
is chosen, the shifted bi-conjugate gradient method1 together with the seed-switch technique2 is employed with the help of the 𝐾𝜔 library3 .
• SpectrumType
Type : String (choose from "SzSz", "S+S-", "Density", "up", "down". "SzSz" as default.)
Description : The type of the dynamical Green’s function to be computed is specified. "SzSz" for+𝑧𝑆q− ⟩, "Density" for ⟨𝑛−q 𝑛q ⟩, "up" for ⟨𝑐†q↑ 𝑐q↑ ⟩, "down" for ⟨𝑐†q↓ 𝑐q↓ ⟩.
𝑆q𝑧 ⟩, "S+S-" for ⟨𝑆−q
⟨𝑆−q
• SpectrumQW, SpectrumQL
Type : Double (default value: 0.0)
Description : The wave number (Fractional coordinate) of the dynamical Green’s function is specified. The
reciprocal lattice vector is computed from the direct lattice vector shown in Fig. 4.1 , Fig. 4.2 , Fig. 4.3 , Fig. 4.4.
• OmegaOrg
Type : Double (0.0 as default.)
Description : The origin value of the frequency.
• OmegaMin
Type : Double (-LargeValue times the number of sites as default.)
Description : The lower limit of the real part of the frequency measured from OmegaOrg.
• OmegaMax
Type : Double (LargeValue times the number of sites as default.)
Description : The upper limit of the real part of the frequency measured from OmegaOrg.
• OmegaIm
Type : Double (0.01*LargeValue as a default.)
Description : The imaginary part of the frequency.
• NOmega
Type : Positive integer (200 as a default.)
Description : The number of frequencies.
1 A. Frommer, Computing 70, 87-109 (2003).

2 S. Yamamoto, T. Sogabe, T. Hoshi, S.-L. Zhang, T. Fujiwara, Journal of the Physical Society of Japan 77, 114713 (2008).
3 https://github.com/issp-center-dev/Komega.

4.1. Input files for Standard mode41

HΦ Documentation, Release 3.5.0

4.1.7 Parameters for time-evolution• dt
Type : Positive Double(Default value : 0.1)
Description : The width of time steps.
• PumpType
Type : String (Chosen from "Quench", "Pulse Laser", "AC Laser", and "DC Laser".Default value :"Quench")∑︀
Description : The type of time-dependent Hamiltonian. For "Quench", two body operator 𝑈quench 𝑖 𝑛𝑖↑ 𝑛𝑖↓
is ∑︀
added. For "Pulse Laser", "AC Laser", and "DC Laser", the hopping term is modulated as− 𝑖𝑗𝜎 𝑡𝑖𝑗 exp[−A(𝑡) · (R𝑖 − R𝑗 )/(2𝜋)]𝑐†𝑖𝜎 𝑐𝑗𝜎 , where A(𝑡) is the vector potential which is defined as
A(𝑡) = A0 exp[−(𝑡 − 𝑡0 )2 /(2𝑡2dump )] cos[𝜔(𝑡 − 𝑡0 )], A(𝑡) = A0 sin[𝜔(𝑡 − 𝑡0 )], and A(𝑡) = A0 𝑡 for for"Pulse Laser", "AC Laser", and "DC Laser", respectively.
potential.dat file is written for displaying the vector potential and the electrical field at each time step.
• Uquench
Type : Double(Default value : 0.0)
Description : 𝑈quench• freqType : Double(Default value : 0.1)
Description : 𝜔• tshiftType : Double(Default value : 0.0)
Description : 𝑡0
• tdumpType : Double (Default value : 0.1)
Description : 𝑡dump• VecPotW, VecPotL
Type : Double (Default value : 0.0)
Description : The vector potential (fractional coordinate of the reciprocal space) at 𝑡 = 𝑡0 . The reciprocal lattice
vector is computed from the direct lattice vector shown in Fig. 4.1 , Fig. 4.2 , Fig. 4.3, Fig. 4.4 .

42

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2 Input files for Expert mode
In this section, the details of the input files for the expert mode are explained. The input files are categorized according
to the following four parts.
(1) List: This file is a list of the input file names with the keywords. Each keyword is fixed, but the file names can be
determined freely.
(2) Basic parameters:
The following input files give the basic parameters. The types of input files are determined by the keywords.
CalcMod: Set the parameters for the calculation modes.
ModPara: Set the parameters for the basic parameters, such as site number, electron number, and Lanczos step.
LocSpin: Set the location of the local spin (used only in the Kondo model).
(3) Hamiltonian:
The Hamiltonian for ℋΦ is denoted by the format of the interactions for the electron system. The types ofinteraction are determined by the following keywords.
Trans: The one-body part, 𝑐†𝑖𝜎1 𝑐𝑗𝜎2
InterAll: The general two-body interactions, 𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 .
We can set the interactions that are frequently used by the following keywords.
CoulombIntra: On-site Coulomb interactions, 𝑛𝑖↑ 𝑛𝑖↓ (𝑛𝑖𝜎 = 𝑐†𝑖𝜎 𝑐𝑖𝜎 )CoulombInter: Off-site Coulomb interactions, 𝑛𝑖 𝑛𝑗 (𝑛𝑖 = 𝑛𝑖↑ + 𝑛𝑖↓ )Hund: Hund couplings, 𝑛𝑖↑ 𝑛𝑗↑ + 𝑛𝑖↓ 𝑛𝑗↓
PairHop: Pair hopping couplings, 𝑐†𝑖↑ 𝑐𝑗↑ 𝑐†𝑖↓ 𝑐𝑗↓
Exchange: Exchange couplings, 𝑐†𝑖↑ 𝑐𝑗↑ 𝑐†𝑗↓ 𝑐𝑖↓
Ising: Ising interactions, 𝑆𝑖𝑧 𝑆𝑗𝑧
PairLift: PairLift couplings, 𝑐†𝑖↑ 𝑐𝑖↓ 𝑐†𝑗↑ 𝑐𝑗↓ .
(4) Output:
The target for the output is determined.
OneBodyG : One-body Green’s functions, ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ⟩TwoBodyG : Two-body Green’s functions, ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 ⟩.
List file for the input files

4.2. Input files for Expert mode43

HΦ Documentation, Release 3.5.0

4.2.1 List file for the input files
This file determines the input filenames, which are correlated with the keywords. The file format is as follows.
CalcMod calcmod.def
ModPara modpara.def
LocSpin zlocspn.def
Transztransfer.def
InterAll zinterall.def
OneBodyG zcisajs.def
TwoBodyG zcisajscktaltdc.def

File format[string01][string02]
Parameters• [string01]
Type : String
Description : Select a word from keywords.
• [string02]
Type : String
Description : An input filename that is correlated with the keywords.
Use rules• After setting keywords at [string01], the half-width state is needed for writing a filename. You can set the filename
freely.
• Keywords for input files are shown in Table 4.2• Essential keywords are “CalcMod”, “ModPara”, and “LocSpin”.
• Keywords can be set in random order.
• If the keywords or filenames are incorrect, the program is terminated.
• When the head of a line is "#”, the line is skipped.

44

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Keywords
CalcMod
ModParaLocSpinTrans
InterAll
CoulombIntra
CoulombInter
Hund
PairHop
Exchange
Ising
PairLift
OneBodyG
TwoBodyG
SingleExcitation
PairExcitation
SpectrumVec
OneBodyTE
TwoBodyTE

Table 4.2: List of the definition files
Details of corresponding files
Parameters for modes of calculation
Parameters for calculation
Configurations of the local spins for Hamiltonian
Transfer and chemical potential for HamiltonianTwo-body interactions for Hamiltonian
CoulombIntra interactions
CoulombInter interactions
Hund couplings
Pair hopping couplings
Exchange couplings
Ising interactions
Pair lift couplings
Output components for one-body Green’s functions ⟨𝑐†𝑖𝜎 𝑐𝑗𝜎 ⟩Output components for two-body Green’s functions ⟨𝑐†𝑖𝜎 𝑐𝑗𝜎 𝑐†𝑘𝜏 𝑐𝑙𝜏 ⟩Operators for generating a single excited state
Operators for generating a pair excited state
An input vector to calculate a restart vector
Time-dependent transfer integrals
Time-dependent two-body interactions

4.2. Input files for Expert mode45

HΦ Documentation, Release 3.5.0

4.2.2 CalcMod file
This file determines the parameters for the calculation method, model, and output mode. The file format is as follows.
CalcType
0
CalcModel
2
CalcEigenVec 0

File format[string01] [int01]
Parameters• [string01]
Type : String
Description : Select a word from keywords.
• [int01]
Type : Int
Description : A parameter that is correlated with a keyword.

Use rules• After setting the keywords at [string 01], a half-width blank is needed for setting a parameter.
• Keywords can be set in random order.
• If the keywords or filenames are incorrect, the program is terminated.
• The keywords “CalcType” and “CalcModel” are essential.
• When a head of line is "#”, the line is skipped.
Keywords and parameters
The parameters correlated with the keywords are as follows.
• CalcType
Type : Int
Description : Select the method for calculation from the following list:
0: Lanczos method
1: mTPQ method
2: Full diagonalization method
3: LOBCG for the ground state
4: Time-evolution
5: cTPQ method
46

Chapter 4. File specification

HΦ Documentation, Release 3.5.0• CalcModel
Type : Int
Description : Select the model from the following list:
0: Fermion Hubbard model (canonical ensemble: conservation of particles or conservation of particles and thecomponent of 𝑆𝑧 )1: Spin model (canonical ensemble: conservation of the component of 𝑆𝑧 )2: Kondo lattice model (canonical ensemble: conservation of particles, the component of 𝑆𝑧 )3: Fermion Hubbard model (grand canonical ensemble)
4: Spin model (grand canonical ensemble)
5: Kondo lattice model (grand canonical ensemble).
For the fermion Hubbard model, you can select the model under the conservation of the particles by setting NCondin the ModPara file. When you want to select the model under the conservation of particles and the componentof 𝑆𝑧 , set both NCond and 2Sz in the ModPara file.
• CalcEigenVec
Type : Int (default value: 0)
Description : Select the method to calculate the eigenvectors:
0: Lanczos+CG methods (when the convergence of eigenvectors is not sufficient for using the Lanczos method,
the CG method is applied to calculate eigenvectors).
1: Lanczos method.
• InitialVecType
Type : Int (default value: 0)
Description : Select the type of an initial vector (𝑣0):-1: Real part (Re[𝑣0]]) and imaginary part (Re[𝑣0]]) of the initial vector are give as the normally distributed
random numbers. Thus, the normalized initial vectors are uniformly distributed on the 𝑁H dimensional super
sphere (𝑁H is the dimension of the Hilbert space).
0: Complex type (Re[𝑣0] ∈ [−1 : 1], Im[𝑣0] ∈ [−1 : 1] ).
1: Real type (Re[𝑣0] ∈ [−1 : 1], Im[𝑣0] = 0).
• OutputEigenVec
Type : Int (default value: 0)
Description : Select the mode of outputting an eigenvector:
0: Not output an eigenvector
1: Output an eigenvector.
• InputEigenVec

4.2. Input files for Expert mode47

HΦ Documentation, Release 3.5.0

Type : Int (default value: 0)
Description : Select the mode of inputting an eigenvector:
0: Not input an eigenvector
1: Input an eigenvector.
• ReStart
Type : Int (default value: 0)
Description : Select the mode of inputting a restart vector:
0: Not restart calculation
1: Output a restart vector
2: Input a restart vector and output a new restart vector
3: Input a restart vector.
• CalcSpec
Type : Int (default value: 0)
Description : Select the mode of calculating dynamical Green’s functions:
0: Not calculate dynamical Green’s functions
1: (not restart) Input an initial vector and files for generating single excited or pair excited states
2: Input components of triangular diagonal matrix
3: Output both components of triangular diagonal matrix and a restart vector
4: Input both components of triangular diagonal matrix and a restart vector
5: Input and output both components of triangular diagonal matrix and a restart vector.
• OutputHam
Type : Int (default value: 0)
Description : Full Diag)Select the mode of outputting Hamiltonian:
0: not output Hamiltonian.
1: output Hamiltonian.
• InputHam
Type : Int (default value: 0)
Description : (Full Diag)Select the mode of inputting Hamiltonian:
0: not input Hamiltonian.
1: input Hamiltonian.

48

Chapter 4. File specification

HΦ Documentation, Release 3.5.0• OutputExcitedVec
Type : Int (default value: 0)
Description : Select the mode of outputting an excited vector:
0: Not output an eigenvector
1: Output an eigenvector.
• Scalapack
Type : Int (default value: 0)
Description : (Full Diag)Select to use ScaLAPACK library for full diagonalization:
0: not to use ScaLAPACK.
1: use ScaLAPACK.
• NGPUType : Int (default value: 2)
Description : (Full Diag)Select the number of GPU devices for full diagonalization:ℋΦ does not support to use GPU devices at multi-nodes.

4.2. Input files for Expert mode49

HΦ Documentation, Release 3.5.0

4.2.3 ModPara file
This file determines the parameters for calculation. The file format is as follows.

-------------------Model_Parameters0-------------------VMC_Cal_Parameters-------------------CDataFileHead zvo
CParaFileHead zqp-------------------Nsite
16
Ncond
16
2Sz
0
Lanczos_max
1000
initial_iv
12
exct
1
LanczosEps
14
LanczosTarget 2
LargeValue
12
NumAve5
ExpecInterval 20

File format• Lines 1-4: Header• Line 6: [string01] [string02]• Lines 7-8: Header• Lines 9- : [string01] [int01].
Parameters• [string01]
Type : String
Description : Select a word from keywords.
• [string02]
Type : String (a blank parameter is not allowed)
Description : Set a header for output files.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : A parameter that is correlated with a keyword.

50

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Use rules• From Line 9: After setting keywords at [string 01], a half-width blank is needed for setting a parameter• All the parameters are needed and the order for the parameters is fixed
Keywords and parameters
In the following, common parameters and parameters for each method are shown.
Common parameters• CDataFileHead
Type : String (a blank parameter is not allowed)
Description : A header for output files. For example, the output filename for one-body Green’s function becomes“xxx_Lanczos_cisajs.dat” (xxx are the characters set by CDataFileHead).
• NsiteType : Int (positive integer)
Description : The number of sites.
• NcondType : Int (positive integer)
Description : The number of conduction electrons (not used in grand canonical ensemble).
• 2Sz
Type : Int (positive integer)
Description : The total value of 2𝑆𝑧 (not used in grand canonical ensemble). For conservation of 𝑆𝑧 in the caseof CalcModel = 0 (fermion Hubbard model) or 2 (Kondo lattice model), set Ncond.
• initial_iv
Type : Int
Description : An initial vector is specified with this parameter.
– Lanczos method∗ For canonical ensemble and initial_iv ≥ 0
The non-zero components of an initial vector are specified with this parameter.
∗ For grand canonical ensemble or initial_iv < 0
The seed of the random generator is given by this parameter and the random vector is used as the initial
vector.
– TPQ method
The seed of the random generator is given by this parameter and the random vector is used as the initial
vector.
See Algorithm for details of setting an initial vector.

4.2. Input files for Expert mode51

HΦ Documentation, Release 3.5.0• CalcHS
Type : Int (positive integer)
Description : If CalcHS=1, an efficient algorithm for generating the restricted Hilbert space with the specified
quantum number is used (Details of algorithm is shown in http://www.pasums.issp.u-tokyo.ac.jp/wp-content/
themes/HPhi/media/develop/tips.pdf [in Japanese]). Default value is 1 and the efficient algorithm is used.
Lanczos method• Lanczos_max
Type : Int (positive integer)
Description : The maximum number of Lanczos steps in the calculation. When the convergence within thespecified accuracy is satisfied, the calculation is completed before a step reaches Lanczos_max. In the case ofrestart calculation, Lanczos_max must be larger than that of the previous calculation.
• exctType : Int (positive integer)
Description : An integer for setting the number of eigenvectors obtained from the ground energy by the Lanczos
method.
• LanczosEps
Type : Int (positive integer)
Description : An integer for judging the convergence of the Lanczos method. The convergence is determined bywhether the condition is satisfied that the relative error between an eigenvalue and an eigenvalue at the Lanczos
step of the one step before is less than 10−LanczosEps .
• LanczosTarget
Type : Int (positive integer)
Description : An integer giving the target of the eigenvalue for judging the convergence of the Lanczos method.
For example, the target becomes a ground state when LanczosTarget is equal to one, and a first excited state
when LanczosTarget is equal to two.
CG method• exctType : Int (positive integer)
Description : The number of eigenvectors is specified.
• Lanczos_max
Type : Int (positive integer)
Description : The maximum number of iteration steps in the calculation. When the convergence within thespecified accuracy is satisfied, the calculation is completed before a step reaches Lanczos_max. In the case ofrestart calculation, Lanczos_max must be larger than that of the previous calculation.
• LanczosEps
Type : Int (positive integer)
Description : For method="CG", the calculation finishes when the 2-norm of the residual vector becomes
smaller than 10−LanczosEps/2 .
52

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

TPQ (mTPQ/cTPQ) method• Lanczos_max
Type : Int (positive integer)
Description : The total number of TPQ steps is specified with this parameter. In the case of restart calculation,
Lanczos_max must be larger than that of the previous calculation.
• LargeValue
Type : Double
Description : An integer giving 𝑙 of 𝑙 − ℋ/𝑁𝑠 used in the mTPQ method. In the cTPQ method, 𝑙 is used as thewidth of the imaginary-time evolution, i.e., ∆𝜏 = 1/𝑙. See Algorithm for the details of the cTPQ method.
• NumAve
Type : Int
Description : An integer giving the number of independent runs for the TPQ method.
• ExpecInterval
Type : Int
Description : An integer giving the interval steps of calculating the correlation functions in the TPQ method.
Note: A small interval increases the time cost of calculations.
• ExpandCoef
Type : Int (positive integer)
Description : An integer giving the expansion order 𝑛max for cTPQ method;
(︂
)︂𝑛
𝑛∑︁
max
∆𝜏
1
−
ℋ .
𝑈 (∆𝜏 ) =
𝑛!
2
𝑛=0

(4.4)

See Algorithm for the details of the cTPQ method.
Calculating dynamical Green’s functions• OmegaOrg
Type : Complex
Description : The center value of the frequency. Specify the real and imaginary parts in that order separated bya space, and if there is no imaginary part, the real part of the frequency is only given.
• OmegaIm
Type : Double
Description : The imaginary part of the frequency. When OmegaOrg is defined in a modpara file, OmegaIm is
added to the imaginary value of OmegaOrg.
• OmegaMin
Type : Complex
Description : The lower limit of the frequency from OmegaOrg. Specify the real and imaginary parts in thatorder separated by a space, and if there is no imaginary part, the real part of the frequency is only given.
4.2. Input files for Expert mode53

HΦ Documentation, Release 3.5.0• OmegaMax
Type : Complex
Description : The upper limit of the frequency from OmegaOrg. Specify the real and imaginary parts in thatorder separated by a space, and if there is no imaginary part, a real part of the frequency is only given.
• NOmega
Type : Int
Description : The integer for defining the step size of the frequency ∆𝜔 = ( OmegaMax - OmegaMin )/𝑁𝜔 . The
frequency is given by 𝑧𝑛 = OmegaOrg+OmegaMin+∆𝜔 × 𝑛.
Real time evolution method• Lanczos_max
Type : Int (positive integer)
Description : The total number of real time evolution steps is specified with this parameter. In the case of restartcalculation, Lanczos_max must be larger than that of the previous calculation.
• ExpandCoef
Type : Int (positive integer)
Description : An integer giving the expansion order 𝑛 for real-time evolution method;exp (−𝑖ℋ∆𝑡) =

𝑁
∑︁
1

𝑛!
𝑖=0

𝑛

(4.5)

(−𝑖ℋ∆𝑡) .

• ExpecInterval
Type : Int (positive integer)
Description : An integer giving the interval steps of calculating the correlation functions.
Note: A small interval increases the time cost of calculations.
• OutputInterval
Type : Int (positive integer)
Description : An integer giving the interval steps of output the wave function.
The wave vector is output when OutputEigenVec=1 in CalcMod file.

54

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.4 LocSpin file
This file determines sites with localized spins. The file format is as follows.

================================
NlocalSpin
6========================================i_0LocSpn_1IteElc ======================================
0
1
1
0
2
1
3
0
4
1
5
0
6
1
7
0
8
1
9
0
10
1
11
0

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of localized spins. You can freely give a name to the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of localized spins.
• [int02]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02] < Nsite).
• [int03]
Type : Int (a blank parameter is not allowed)

4.2. Input files for Expert mode55

HΦ Documentation, Release 3.5.0

Description : An integer for selecting an electron state whether the electron state is a localized spin or anitinerant electron state:
0: Itinerant electron state 𝑛 >0: Localized spin state with 2𝑆 = 𝑛.

Use rules• Headers cannot be omitted.
• A program is terminated when [int01] is different from the total number of localized spins indicated by [int03].
• A program is terminated, when [int02] is different from the total number of sites.
• A program is terminated under the condition [int02] < 0 or Nsite <= [int02].

56

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.5 Trans file
This file determines the values of the transfer integrals 𝑡𝑖𝑗𝜎1 𝜎2 ,∑︁ℋ+ = −
𝑡𝑖𝑗𝜎1 𝜎2 𝑐†𝑖𝜎1 𝑐𝑗𝜎2 .
𝑖𝑗𝜎1 𝜎2(4.6)

An example of the file format is as follows.
========================
NTransfer24================================i_j_s_tijs==============================
0
0
2
0
2
0
0
0
0
1
2
1
2
1
0
1
2
0
4
0
4
0
2
0
2
1
4
1
4
1
2
1
4
0
6
0
6
0
4
0
4
1
6
1
6
1
4
1
6
0
8
0
8
0
6
0
...

1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000

0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [int04] [int05] [double01] [double02].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of transfer integrals. You can freely give a name to the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of transfer integrals.
• [int02], [int04]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int04] < Nsite ).
4.2. Input files for Expert mode57

HΦ Documentation, Release 3.5.0• [int03], [int05]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a spin index:
0: Up-spin
1: Down-spin.
• [double01]
Type : Double (a blank parameter is not allowed)
Description : A value for a real part of 𝑡𝑖𝑗𝜎1 𝜎2 .
• [double02]
Type : Double (a blank parameter is not allowed)
Description : A value for an imaginary part of 𝑡𝑖𝑗𝜎1 𝜎2 .
Use rules• Headers cannot be omitted.
• Since the Hamiltonian must be Hermitian, the relation 𝑡𝑖𝑗𝜎1 𝜎2 = 𝑡†𝑗𝑖𝜎2 𝜎1 must be satisfied. A program is terminated when this relation is broken.
• A program is terminated when the components of the on-site interactions are double counted.
• A program is terminated when [int01] is different from the total number of transfer integrals defined in this file.
• A program is terminated when [int02]-[int05] are outside the range of the defined values.

58

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.6 InterAll file
This file determines the values of generalized two-body interactions integrals 𝐼𝑖𝑗𝑘𝑙𝜎1 𝜎2 𝜎3 𝜎4 ,
∑︁
∑︁
ℋ+ =
𝐼𝑖𝑗𝑘𝑙𝜎1 𝜎2 𝜎3 𝜎4 𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 .
𝑖,𝑗,𝑘,𝑙 𝜎1 ,𝜎2 ,𝜎3 ,𝜎4(4.7)

For spin, the conditions 𝑖 = 𝑗 and 𝑘 = 𝑙 must be satisfied. An example of the file format is as follows.
======================
NInterAll
36==============================zInterAll===========================
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
2
0
2
1
3
2
1
2
0
3
2
0
2
0
3
2
0
2
0
3
2
1
2
1
3
2
1
2
1
3
4
0
4
1
5
4
1
4
0
5
4
0
4
0
5
4
0
4
0
5
4
1
4
1
5
4
1
4
1
5
...

1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
1
0
1

1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

0.50
0.50
0.25
-0.25
-0.25
0.25
0.50
0.50
0.25
-0.25
-0.25
0.25
0.50
0.50
0.25
-0.25
-0.25
0.25

0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [int04] [int05] [int06] [int07] [int08] [int09] [double01] [double02].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of generalized two-body interactions. You can freely give a nameto the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
4.2. Input files for Expert mode59

HΦ Documentation, Release 3.5.0

Description : An integer giving the total number of generalized two-body interactions.
• [int02], [int04], [int06], [int08]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int04], [int06], [int08] < Nsite).
• [int03], [int05], [int07], [int09]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a spin index:
0: Up-spin,
1: Down-spin.
• [double01]
Type : Double (a blank parameter is not allowed)
Description : A value for a real part of 𝐼𝑖𝑗𝑘𝑙𝜎1 𝜎2 𝜎3 𝜎4 .
• [double02]
Type : Double (a blank parameter is not allowed)
Description : A value for an imaginary part of 𝐼𝑖𝑗𝑘𝑙𝜎1 𝜎2 𝜎3 𝜎4 .
Use rules• Headers cannot be omitted.
†• Since the Hamiltonian must be Hermitian, the relation 𝐼𝑖𝑗𝑘𝑙𝜎1 𝜎2 𝜎3 𝜎4 = 𝐼𝑙𝑘𝑗𝑖𝜎must be satisfied. A
4 𝜎3 𝜎2 𝜎1
program is terminated when this relation is broken. It is noted that the term of the Hermitian conjugate for
𝐼𝑖𝑗𝑘𝑙𝜎1 𝜎2 𝜎3 𝜎4 𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 should be inputted as 𝐼𝑙𝑘𝑗𝑖𝜎4 𝜎3 𝜎2 𝜎1 𝑐†𝑙𝜎4 𝑐𝑘𝜎3 𝑐†𝑗𝜎2 𝑐𝑖𝜎1 .

• A program is terminated when the conditions 𝑖 = 𝑗 and 𝑘 = 𝑙 are not satisfied for the spin model.
• A program is terminated when the components of the on-site interactions are double counted.
• A program is terminated when [int01] is different from the total number of generalized two-body interactions
defined in this file.
• A program is terminated when [int02]-[int09] are outside the range of the defined values.

60

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.7 CoulombIntra file
This file determines the values of the on-site interactions 𝑈𝑖 (for 𝑆 = 1/2 system),∑︁ℋ+ =𝑈𝑖 𝑛𝑖↑ 𝑛𝑖↓ .
𝑖

(4.8)

An example of the file format is as follows.
======================
NCoulombIntra 6========================== CoulombIntra ==========================
0 4.000000
1 4.000000
2 4.000000
3 4.000000
4 4.000000
5 4.000000

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [double01].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of on-site interactions. You can freely give a name to the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of on-site interactions.
• [int02]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02] < Nsite).
• [double01]
Type : Double (a blank parameter is not allowed)
Description : A value for 𝑈𝑖 .

4.2. Input files for Expert mode61

HΦ Documentation, Release 3.5.0

Use rules• Headers cannot be omitted.
• A program is terminated when the components of on-site interactions are double counted.
• A program is terminated when [int01] is different from the total number of on-site interactions defined in thisfile.
• A program is terminated when [int02] is outside the range of the defined values.

62

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.8 CoulombInter file
This file determines the values of off-site interactions 𝑉𝑖𝑗 (for 𝑆 = 1/2 system),∑︁ℋ+ =𝑉𝑖𝑗 𝑛𝑖 𝑛𝑗 .
𝑖,𝑗

(4.9)

An example of the file format is as follows.
======================
NCoulombInter 6==============================CoulombInter ============================
0
1 1.00001
2 1.00002
3 1.00003
4 1.0000
4
5 1.0000
50 1.0000

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [double01].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of off-site interactions. You can freely give a name to the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of off-site interactions.
• [int02], [int03]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int03] < Nsite).
• [double01]
Type : Double (a blank parameter is not allowed)
Description : A value for 𝑉𝑖𝑗 .

4.2. Input files for Expert mode63

HΦ Documentation, Release 3.5.0

Use rules• Headers cannot be omitted.
• A program is terminated when the components of off-site interactions are double counted.
• A program is terminated when [int01] is different from the total number of off-site interactions defined in thisfile.
• A program is terminated when either [int02] or [int03] is outside the range of the defined values.

64

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.9 Hund file
HundThis file determines the values of Hund couplings 𝐽𝑖𝑗(for 𝑆 = 1/2 system),ℋ+ = −

∑︁

Hund
𝐽𝑖𝑗
(𝑛𝑖↑ 𝑛𝑗↑ + 𝑛𝑖↓ 𝑛𝑗↓ ).

𝑖,𝑗(4.10)An example of the file format is as follows.
======================
NHund 6==============================Hund ============================
0
1 -0.250000
1
2 -0.250000
2
3 -0.250000
3
4 -0.250000
45 -0.250000
50 -0.250000

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [double01].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of Hund couplings. You can freely give a name to the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of Hund couplings.
• [int02], [int03]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int03] < Nsite).
• [double01]
Type : Double (a blank parameter is not allowed)
Hund
Description : A value for 𝐽𝑖𝑗.

4.2. Input files for Expert mode65

HΦ Documentation, Release 3.5.0

Use rules• Headers cannot be omitted.
• A program is terminated when the components of the Hund couplings are double counted.
• A program is terminated when [int01] is different from the total number of Hund couplings defined in this file.
• A program is terminated when either [int02] or [int03] is outside the range of the defined values.

66

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.10 PairHop file
Pair(for 𝑆 = 1/2 system),This file determines the values of PairHop couplings 𝐽𝑖𝑗

ℋ+ =

∑︁

Pair †
𝐽𝑖𝑗(𝑐𝑖↑ 𝑐𝑗↑ 𝑐†𝑖↓ 𝑐𝑗↓ + ℎ.𝑐.).

𝑖,𝑗(4.11)An example of the file format is as follows.
======================
NPairhop 6==============================Pairhop ============================
0
1 0.50000
1
2 0.50000
2
3 0.50000
3
4 0.50000
45 0.50000
5
0 0.50000

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [double01].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of PairHop couplings. You can freely give a name to the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of PairHop couplings.
• [int02], [int03]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int03] < Nsite).
• [double01]
Type : Double (a blank parameter is not allowed)
Pair
Description : A value for 𝐽𝑖𝑗.

4.2. Input files for Expert mode67

HΦ Documentation, Release 3.5.0

Use rules• Headers cannot be omitted.
• A program is terminated when [int01] is different from the total number of the PairHop couplings defined in thisfile.
• A program is terminated when either [int02] or [int03] is outside the range of the defined values.

68

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.11 Exchange fileEx(for 𝑆 = 1/2 system). For the fermion electronic system,
This file determines the values of Exchange couplings 𝐽𝑖𝑗
the exchange terms are given as
∑︁
Ex †
ℋ+ =
𝐽𝑖𝑗
(𝑐𝑖↑ 𝑐𝑗↑ 𝑐†𝑗↓ 𝑐𝑖↓ + 𝑐†𝑖↓ 𝑐𝑗↓ 𝑐†𝑗↑ 𝑐𝑖↑ ),(4.12)
𝑖,𝑗while for the spin system, they are given as
ℋ+ =

∑︁

Ex
𝐽𝑖𝑗
(𝑆𝑖+ 𝑆𝑗− + 𝑆𝑖− 𝑆𝑗+ ).

𝑖,𝑗(4.13)

We note that (𝑆𝑖+ 𝑆𝑗− + 𝑆𝑖− 𝑆𝑗+ ) in the spin system is written by the operators for electrons as −(𝑐†𝑖↑ 𝑐𝑗↑ 𝑐†𝑗↓ 𝑐𝑖↓ +𝑐†𝑖↓ 𝑐𝑗↓ 𝑐†𝑗↑ 𝑐𝑖↑ ). An example of the file format is as follows.
======================
NExchange 6==============================Exchange ============================
0
1 0.50000
1
2 0.50000
2
3 0.50000
3
4 0.50000
45 0.50000
5
0 0.50000

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [double01].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of Exchange couplings. You can freely give a name to the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of Exchange couplings.
• [int02], [int03]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int03] < Nsite).

4.2. Input files for Expert mode69

HΦ Documentation, Release 3.5.0• [double01]
Type : Double (a blank parameter is not allowed)
Ex
Description : A value for 𝐽𝑖𝑗.

Use rules• Headers cannot be omitted.
• A program is terminated when the components of the exchange couplings are double counted.
• A program is terminated when [int01] is different from the total number of exchange couplings defined in thisfile.
• A program is terminated when either [int02] or [int03] is outside the range of the defined values.

70

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.12 Ising file𝑧This file determines the values of Ising interactions 𝐽𝑖𝑗(for 𝑆 = 1/2 system). For the fermion electronic system, theIsing terms are given as
∑︁
𝑧
ℋ+ =
𝐽𝑖𝑗
(𝑛𝑖↑ − 𝑛𝑖↓ )(𝑛𝑗↑ − 𝑛𝑗↓ ).
(4.14)
𝑖,𝑗

For the spin system, they are given as
ℋ+ =

∑︁

𝑧 𝑧 𝑧
𝐽𝑖𝑗
𝑆𝑖 𝑆𝑗 .

𝑖,𝑗

(4.15)An example of the file format is as follows.
======================
NIsing 6==============================Ising ============================
0
1 0.50000
1
2 0.50000
2
3 0.50000
3
4 0.50000
45 0.50000
5
0 0.50000

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [double01].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of Ising interactions. You can freely give a name to the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of Ising interactions.
• [int02], [int03]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int03] < Nsite).

4.2. Input files for Expert mode71

HΦ Documentation, Release 3.5.0• [double01]
Type : Double (a blank parameter is not allowed)z
Description : A value for 𝐽𝑖𝑗.

Use rules• Headers cannot be omitted.
• A program is terminated when the components of the Ising interactions are double counted.
• A program is terminated when [int01] is different from the total number of Ising interactions defined in this file.
• A program is terminated when either [int02] or [int03] is outside the range of the defined values.

72

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.13 PairLift file
PairLift
This file determines the values of PairLift couplings 𝐽𝑖𝑗(for 𝑆 = 1/2 system),

ℋ+ =

∑︁

PairLift †𝐽𝑖𝑗(𝑐𝑖↑ 𝑐𝑖↓ 𝑐†𝑗↑ 𝑐𝑗↓ + 𝑐†𝑖↓ 𝑐𝑖↑ 𝑐†𝑗↓ 𝑐𝑗↑ ).

𝑖,𝑗(4.16)An example of the file format is as follows.
======================
NPairLift 6==============================NPairLift ============================
0
1 0.50000
1
2 0.50000
2
3 0.50000
3
4 0.50000
45 0.50000
5
0 0.50000

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [double01] .
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of PairLift couplings. You can freely give a name to the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of PairLift couplings.
• [int02], [int03]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int03] < Nsite).
• [double01]
Type : Double (a blank parameter is not allowed)
PairLift
Description : A value for 𝐽𝑖𝑗.

4.2. Input files for Expert mode73

HΦ Documentation, Release 3.5.0

Use rules• Headers cannot be omitted.
• A program is terminated when the components of the PairLift couplings are double counted.
• A program is terminated when [int01] is different from the total number of PairLift couplings defined in this file.
• A program is terminated when either [int02] or [int03] is outside the range of the defined values.

74

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.14 OneBodyG file
This file determines the target components of the one-body Green’s function ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ⟩. An example of the file format
is as follows.
===============================
NCisAjs24======================================= Green functions =====================================
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
2
0
2
0
2
1
2
1
3
0
3
0
3
1
3
1
4
0
4
0
4
1
4
1
5
0
5
0
5
1
5
1
6
0
6
0
6
1
6
1
7
0
7
0
7
1
7
1
8
0
8
0
8
1
8
1
9
0
9
0
9
1
9
1
10
0
10
0
10
1
10
1
11
0
11
0
11
1
11
1

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [int04] [int05].

4.2. Input files for Expert mode75

HΦ Documentation, Release 3.5.0

Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of one-body Green’s functions. You can freely give a name to the
keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of one-body Green’s functions.
• [int02], [int04]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int04] < Nsite).
• [int03], [int05]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a spin index:
For Hubbard or Kondo system, the index can be selected from
0: Up-spin,
1: Down-spin.
For Spin system, the index can be selected from0, 1, · · · , 2𝑆 + 1 (corresponding to -𝑆 − 0.5, −𝑆 + 0.5, · · · 𝑆 + 0.5).

Use rules• Headers cannot be omitted.
• A program is terminated when the components of the one-body Green’s functions are double counted.
• A program is terminated when [int01] is different from the total number of one-body Green’s functions definedin this file.
• A program is terminated when [int02]-[int05] are outside the range of the defined values.

76

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.15 TwoBodyG file
This file determines the target components of the two-body Green’s function ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 ⟩. For the spin system,
the conditions 𝑖 = 𝑗 and 𝑘 = 𝑙 must be satisfied. An example of the file format is as follows.
=============================================
NCisAjsCktAltDC
576===================================================== Green functions for Sq AND Nq ===================================================
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
2
0
2
0
0
0
0
0
2
1
2
1
0
0
0
0
3
0
3
0
0
0
0
0
3
1
3
1
0
0
0
0
4
0
4
0
0
0
0
0
4
1
4
1
0
0
0
0
5
0
5
0
0
0
0
0
5
1
5
1
0
0
0
0
6
0
6
0
0
0
0
0
6
1
6
1
0
0
0
0
7
0
7
0
0
0
0
0
7
1
7
1
0
0
0
0
8
0
8
0
0
0
0
0
8
1
8
1
0
0
0
0
9
0
9
0
0
0
0
0
9
1
9
1
0
0
0
0
10
0
10
0
0
0
0
0
10
1
10
1
0
0
0
0
11
0
11
0
0
0
0
0
11
1
11
1
0
1
0
1
0
0
0
0
...

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [int04] [int05] [int06] [int07] [int08] [int09].

4.2. Input files for Expert mode77

HΦ Documentation, Release 3.5.0

Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of two-body Green’s functions. You can freely give a name to the
keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of two-body Green’s functions.
• [int02], [int04],[int06], [int08]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int04], [int06], [int08] < Nsite).
• [int03], [int05],[int07], [int09]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a spin index:
For Hubbard or Kondo system, the index can be selected from
0: Up-spin,
1: Down-spin.
For Spin system, the index can be selected from0, 1, · · · , 2𝑆 + 1 (corresponding to -𝑆 − 0.5, −𝑆 + 0.5, · · · 𝑆 + 0.5).

Use rules• Headers cannot be omitted.
• A program is terminated when the components of the two-body Green’s functions are double counted.
• A program is terminated when the conditions 𝑖 = 𝑗 and 𝑘 = 𝑙 are not satisfied for the spin model.
• A program is terminated when [int01] is different from the total number of two-body Green’s functions definedin this file.
• A program is terminated, when [int02]-[int09] are outside the range of the defined values.

78

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.16 SingleExcitation file
The operators to generate the single excited state 𝑐𝑖𝜎1 (𝑐†𝑖𝜎1 ) are defined. An example of the file format is as follows.
===============================
NSingle24======================================= Single Excitation =====================================
0
0
0
1.0
0.0
0
1
0
1.0
0.0
1
0
0
1.0
0.0
(continue...)
11
0
0
1.0
0.0
11
1
0
1.0
0.0

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [int04] [double01] [double02].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of single excitation operators. You can freely give a name to the
keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of total number of single excitation operators.
• [int02]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02] < Nsite).
• [int03]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a spin index:
For Hubbard or Kondo system, the index can be selected from
0: Up-spin,
1: Down-spin.
For Spin system, the index can be selected from0, 1, · · · , 2𝑆 + 1 (corresponding to -𝑆 − 0.5, −𝑆 + 0.5, · · · 𝑆 + 0.5).
4.2. Input files for Expert mode79

HΦ Documentation, Release 3.5.0• [int04]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a type of single excitation operators:
0: 𝑐𝑖𝜎1
1: 𝑐†𝑖𝜎1 .
• [double01], [double02]
Type : Double (a blank parameter is not allowed)
Description : [double01] gives the real part of 𝑐𝑖𝜎1 (𝑐†𝑖𝜎1 ), while [double02] gives the imaginary part of𝑐𝑖𝜎1 (𝑐†𝑖𝜎1 ).
Use rules• Headers cannot be omitted.
• A program is terminated when the components of the single excitation operators are double counted.
• A program is terminated when the conditions 𝑖 = 𝑗 and 𝑘 = 𝑙 are not satisfied for spin model.
• A program is terminated when [int01] is different from the total number of two-body Green’s functions definedin this file.
• A program is terminated, when [int02]-[int04] are outside the range of the defined values.

80

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.17 PairExcitation file
The operators to generate the pair excited state 𝑐𝑖𝜎1 𝑐†𝑗𝜎2 (𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ) are defined. The type of pair excitation operators(𝑐𝑖𝜎1 𝑐†𝑗𝜎2 or 𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ) must be same in the input file. In the 𝑆𝑧 conserved system, 𝜎1 must be equal to 𝜎2 . An exampleof the file format is as follows.
===============================
NPair
24======================================= Pair Excitation =====================================
0
0
0
0
0
1.0
0
1
0
1
0
1.0
1
0
1
0
0
1.0
(continue...)
11
0
11
0
0
1.0
11
1
11
1
0
1.0

0.0
0.0
0.0
0.0
0.0

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header• Lines 6-: [int02] [int03] [int04] [int05] [int06] [double01] [double02].
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of the pair excitation operators. You can freely give a name to the
keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of pair excitation operators.
• [int02], [int04]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int02], [int04] < Nsite).
• [int03], [int05]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a spin index:
For Hubbard or Kondo system, the index can be selected from
0: Up-spin,
1: Down-spin.
4.2. Input files for Expert mode81

HΦ Documentation, Release 3.5.0

For Spin system, the index can be selected from0, 1, · · · , 2𝑆 + 1 (corresponding to -𝑆 − 0.5, −𝑆 + 0.5, · · · 𝑆 + 0.5).
• [int06]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a type of pair excitation operators:
0: 𝑐𝑖𝜎1 𝑐†𝑗𝜎2
1: 𝑐†𝑖𝜎1 𝑐𝑗𝜎2 .
• [double01], [double02]
Type : Double (a blank parameter is not allowed)
Description : [double01] gives the real part of 𝑐𝑖𝜎1 𝑐†𝑗𝜎2 (𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ), while [double02] gives the imaginary part of𝑐𝑖𝜎1 𝑐†𝑗𝜎2 (𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ).
Use rules• Headers cannot be omitted.
• A program is terminated when the components of the pair excitation operators are double counted.
• A program is terminated when the conditions 𝑖 = 𝑗 and 𝑘 = 𝑙 are not satisfied for the spin model.
• A program is terminated when [int01] is different from the total number of two-body Green’s functions definedin this file.
• A program is terminated when [int02]-[int06] are outside the range of the defined values.

82

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.2.18 SpectrumVec File
The header of the input file for the initial vector to calculate the dynamical Green’s functions is defined. The file nameand the file format (binary type) are as follows.
File name• ##_rank_$$.dat## is the name of the head indicated by the key word SpectrumVec in the CalcMod file, and $$ is the number of therank.
File format• Line 1: [int01]• Line 2: [int02]• Lines 3 -: [double01] [double02].
Parameters• [int01]
Type : Int
Description : The total number of the targets of the Hilbert spaces.
• [int02]
Type : Int
Description : The number of Lanczos or TPQ steps.
• [double01], [double02]
Type : double
Description : The coefficient value of the input vector.
[double01] is a real part and [double02] is an imaginary part.

4.2. Input files for Expert mode83

HΦ Documentation, Release 3.5.0

4.2.19 OneBodyTE File
This file determines the values of the transfer integrals 𝑡𝑖𝑗𝜎1 𝜎2 (𝑡) at each time 𝑡,∑︁ℋ(𝑡)+ = −𝑡𝑖𝑗𝜎1 𝜎2 (𝑡)𝑐†𝑖𝜎1 𝑐𝑗𝜎2 .

(4.17)

𝑖𝑗𝜎1 𝜎2An example of the file format is as follows.
==================================
AllTimeStep100======================================= OneBody Time Evolution =======================================
0.0
4
0 0 1 01.0
0.0
1 0 0 01.0
0.0
0 1 1 11.0
0.0
1 1 0 1
1.0
0.0
0.2
4
(continue...)File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header
From line 6, time 𝑡 and total number of transfer integrals 𝑁 (𝑡) are first defined and next the transfer integrals 𝑡𝑖𝑗𝜎1 𝜎2 (𝑡)are defined.
• Line m: [double01] [int02]• Lines (m+1) - (m+1+[int02]): [int03] [int04] [int05] [int06] [double02] [double03]
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of transfer integrals. You can freely give a name to the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total time steps defined in this file.
• [double01]
Type : Double (a blank parameter is not allowed)
Description : Time 𝑡.

84

Chapter 4. File specification

HΦ Documentation, Release 3.5.0• [int02]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of transfer integrals at time 𝑡.
• [int03], [int05]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int03], [int05] < Nsite).
• [int04], [int06]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a spin index:
0: Up-spin
1: Down-spin.
• [double02], [double03]
Type : Double (a blank parameter is not allowed)
Description : A value for real and imaginary part of 𝑡𝑖𝑗𝜎1 𝜎2 (𝑡) at time 𝑡 is defined [double02] and [double03],
respectively.
Use rules• Headers cannot be omitted.
• A program is terminated when LanczosStep defined in ModPara is greater than [int02].
• A program is terminated when [int03]-[int06] are outside the range of the defined values.

4.2. Input files for Expert mode85

HΦ Documentation, Release 3.5.0

4.2.20 TwoBodyTE File
This file determines the values of the two-body interactions 𝐼𝑖𝜎1 𝑗𝜎2 𝑘𝜎3 𝑙𝜎4 (𝑡)𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 at each time 𝑡,ℋ(𝑡)+ =

∑︁𝐼𝑖𝜎1 𝑗𝜎2 𝑘𝜎3 𝑙𝜎4 (𝑡)𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 .

∑︁𝑖𝑗𝑘𝑙 𝜎1 𝜎2 𝜎3 𝜎4(4.18)An example of the file format is as follows.
==================================
AllTimeStep100======================================= TwoBody Time Evolution =======================================
0.0
3
0 1 0 1 0 0 0 0
1.0
1 0 1 0 0 0 0 0
1.0
1 0 1 0 2 0 2 0
1.0
0.2
3
(continue...)

0.0
0.0
0.0

File format• Line 1: Header• Line 2: [string01] [int01]• Lines 3-5: Header
From line 6, time 𝑡 and total number of transfer integrals 𝑁 (𝑡) are first defined and next the two-body interactions
𝐼𝑖𝜎1 𝑗𝜎2 𝑘𝜎3 𝑙𝜎4 (𝑡) are defined.
• Line m: [double01] [int02]• Lines (m+1) - (m+1+[int02]): [int03] [int04] [int05] [int06] [int07] [int08] [int09] [int10] [double02] [double03]
Parameters• [string01]
Type : String (a blank parameter is not allowed)
Description : A keyword for the total number of generalized two-body interactions. You can freely give a nameto the keyword.
• [int01]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total time steps defined in this file.
• [double01]
Type : Double (a blank parameter is not allowed)
Description : Time 𝑡.

86

Chapter 4. File specification

HΦ Documentation, Release 3.5.0• [int02]
Type : Int (a blank parameter is not allowed)
Description : An integer giving the total number of two-body interactions at time 𝑡.
• [int03], [int05], [int07], [int09]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a site index (0 <= [int03],[int05],[int07],[int09] < Nsite).
• [int04], [int06], [int08], [int10]
Type : Int (a blank parameter is not allowed)
Description : An integer giving a spin index:
0: Up-spin
1: Down-spin.
• [double02], [double03]
Type : Double (a blank parameter is not allowed)
Description : A value for real and imaginary part of 𝐼𝑖𝑗𝑘𝑙𝜎1 𝜎2 𝜎3 𝜎4 (𝑡) at time 𝑡 is defined [double02] and [double03], respectively.
Use rules• Headers cannot be omitted.
• A program is terminated when LanczosStep defined in ModPara is greater than [int02].
• A program is terminated when [int03]-[int10] are outside the range of the defined values.

4.2. Input files for Expert mode87

HΦ Documentation, Release 3.5.0

4.3 Output files
In this section, the details of the output files of the expert mode are explained.

4.3.1 CHECK_Chemi.dat
This file is outputted to check the input of chemical potential 𝜇𝑖𝜎 ,∑︁
𝜇𝑖𝜎 𝑐†𝑖𝜎 𝑐𝑖𝜎 .
𝑖,𝜎(4.19)An example of the file format is as follows.
i=0 spin=0 isite1=1 tmp_V=0.000000
i=1 spin=0 isite1=2 tmp_V=0.000000
i=2 spin=0 isite1=3 tmp_V=0.000000
i=3 spin=0 isite1=4 tmp_V=0.000000
i=4 spin=0 isite1=5 tmp_V=0.000000
i=5 spin=0 isite1=6 tmp_V=0.000000...

File format• i=[int01] spin=[int02] isite1=[int03] tmp_V=[double01]
Parameters• [int01]
Type : Int
Description : The counted number of inputting terms.
• [int02]
Type : Int
Description : An integer for showing the spin index of 𝜇𝑖𝜎 :0: Up-spin,
1: Down-spin.
• [int03]
Type : Int
Description : An integer for showing the site index of 𝜇𝑖𝜎 .
• [double01]
Type : Double
Description : A value for 𝜇𝑖𝜎 .

88

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.2 CHECK_InterAll.dat
This file is outputted to check the input of the diagonal components of general two-body interactions,∑︁
𝐼𝑖𝑖𝑗𝑗𝜎1 𝜎1 𝜎2 𝜎2 𝑐†𝑖𝜎1 𝑐𝑖𝜎1 𝑐†𝑖𝜎2 𝑐𝑖𝜎2 .
𝑖,𝑗,𝜎1 ,𝜎2(4.20)An example of the file format is as follows.
i=0 isite1=1 A_spin=0 isite2=2 B_spin=0 tmp_V=0.500000
i=1 isite1=1 A_spin=0 isite2=2 B_spin=1 tmp_V=-0.500000
i=2 isite1=1 A_spin=1 isite2=2 B_spin=0 tmp_V=-0.500000
i=3 isite1=1 A_spin=1 isite2=2 B_spin=1 tmp_V=0.500000
i=4 isite1=2 A_spin=0 isite2=3 B_spin=0 tmp_V=0.500000
i=5 isite1=2 A_spin=0 isite2=3 B_spin=1 tmp_V=-0.500000...

File format• i=[int01] isite1=[int02] A_spin=[int03] isite2=[int04] B_spin=[int05] tmp_V=[double01]
Parameters• [int01]
Type : Int
Description : The counted number of inputting terms.
• [int02], [int04]
Type : Int
Description : An integer for showing the site index of 𝐼𝑖𝑖𝑗𝑗𝜎1 𝜎1 𝜎2 𝜎2 .
[int02] and [int04] correspond to 𝑖 and 𝑗, respectively.
• [int03], [int05]
Type : Int
Description : An integer for showing the spin index of 𝐼𝑖𝑖𝑗𝑗𝜎1 𝜎1 𝜎2 𝜎2 :0: Up-spin
1: Down-spin.
[int03] and [int05] correspond to 𝜎1 and 𝜎2 , respectively.
• [double01]
Type : Double
Description : A value for 𝐼𝑖𝑖𝑗𝑗𝜎1 𝜎1 𝜎2 𝜎2 .

4.3. Output files

89

HΦ Documentation, Release 3.5.0

4.3.3 CHECK_CoulombIntra.dat
This file is outputted to check the input of the on-site interactions 𝑈𝑖 ,∑︁
𝑈𝑖 𝑛𝑖↑ 𝑛𝑖↓ .
𝑖(4.21)An example of the file format is as follows.
i=0 isite1=1 tmp_V=4.000000
i=1 isite1=2 tmp_V=4.000000
i=2 isite1=3 tmp_V=4.000000
i=3 isite1=4 tmp_V=4.000000
i=4 isite1=5 tmp_V=4.000000
i=5 isite1=6 tmp_V=4.000000

File format• i=[int01] isite1=[int02] tmp_V=[double01]
Parameters• [int01]
Type : Int
Description : The counted number of inputting terms.
• [int02]
Type : Int
Description : An integer for showing the site index of 𝑈𝑖 .
• [double01]
Type : Double
Description : A value for 𝑈𝑖 .

90

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.4 CHECK_Hund.dat
HundThis file is outputted to check the input of the Hund couplings 𝐽𝑖𝑗
,

−

∑︁

Hund
𝐽𝑖𝑗
(𝑛𝑖↑ 𝑛𝑗↑ + 𝑛𝑖↓ 𝑛𝑗↓ ).

𝑖,𝑗(4.22)An example of the file format is as follows.
i=0 isite1=1 isite2=2 tmp_V=0.250000
i=1 isite1=2 isite2=3 tmp_V=0.250000
i=2 isite1=3 isite2=4 tmp_V=0.250000
i=3 isite1=4 isite2=5 tmp_V=0.250000
i=4 isite1=5 isite2=6 tmp_V=0.250000
i=5 isite1=6 isite2=1 tmp_V=0.250000

File format• i=[int01] isite1=[int02] isite2=[int03] tmp_V=[double01]
Parameters• [int01]
Type : Int
Description : The counted number of inputting terms.
• [int02], [int03]
Type : Int
Hund
Description : An integer for showing the site index of 𝐽𝑖𝑗.
[int02] and [int03] correspond to 𝑖 and 𝑗, respectively.

• [double01]
Type : Double
Hund
Description : A value for 𝐽𝑖𝑗.

4.3. Output files

91

HΦ Documentation, Release 3.5.0

4.3.5 CHECK_INTER_U.dat
This file is outputted to check the input of the diagonal components of the off-site interactions 𝑉𝑖𝑗 ,∑︁
𝑉𝑖𝑗 𝑛𝑖 𝑛𝑗
𝑖,𝑗(4.23)An example of the file format is as follows.
i=0 isite1=1 isite2=2 tmp_V=-0.125000
i=1 isite1=2 isite2=3 tmp_V=-0.125000
i=2 isite1=3 isite2=4 tmp_V=-0.125000
i=3 isite1=4 isite2=5 tmp_V=-0.125000
i=4 isite1=5 isite2=6 tmp_V=-0.125000
i=5 isite1=6 isite2=1 tmp_V=-0.125000

File format• i=[int01] isite1=[int02] isite2=[int03] tmp_V=[double01]
Parameters• [int01]
Type : Int
Description : The counted number of inputting terms.
• [int02], [int03]
Type : Int
Description : An integer giving the site index of 𝑉𝑖𝑗 .
[int02] and [int03] correspond to 𝑖 and 𝑗, respectively.
• [double01]
Type : Double
Description : A value for 𝑉𝑖𝑗 .

92

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.6 CHECK_Memory.dat
This file shows the size of the memory used in the calculation. An example of the file format is as follows.
MAX DIMENSION idim_max=400
REQUIRED MEMORY max_mem=0.000019 GB

File format• MAX DIMENSION idim_max=[int01]• REQUIRED MEMORY max_mem =[double01] GB
Parameters• [int01]
Type : Int
Description : An integer to show the total numbers of the Hilbert space under a calculation.
• [double01]
Type : Double
Description : The size of memory to store the Hilbert space in a calculation (GB unit).

4.3. Output files

93

HΦ Documentation, Release 3.5.0

4.3.7 WarningOnTransfer.dat
This file shows the double counted components of transfer integrals. An example of the file format is as follows.
double conuntings in transfers: i=0 j=2 spni 0 spnj 0
double conuntings in transfers: i=2 j=0 spni 0 spnj 0
double conuntings in transfers: i=0 j=2 spni 1 spnj 1
double conuntings in transfers: i=2 j=0 spni 1 spnj 1File format• Double countings in transfers: i=[int01] j=[int02] spni [int03] spnj [int04]
Parameters• [int01], [int02]
Type : Int
Description : The integer of the site number where the transfer integrals are double counted.
• [int03], [int04]
Type : Int
Description : The integer of the spin index of a transfer integral:
0: Up-spin
1: Down-spin.

94

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.8 CalcTimer.dat
The name of the calculation process, the process number, and the calculation process time are outputted in order at
each line in the CalcTime.dat file. An example of the file format for the TPQ method is as follows.

Allszdiagonalcalc
CalcByTPQ
FirstMultiply
rand
in FirstMultiply
mltply in FirstMultiply
expec_energy_flct
calc flctuation in expec_energy_flct
mltply in expec_energy_flct
expec_onebody
expec_twobody
Multiply
FileIO================================================All mltply
diagonal
Hubbardtransin Hubbard
doublesingleinnerinterall in Hubbard
interPE
inner
pairhopp in Hubbard
interPE
inner
exchange in Hubbard
interPE
inner================================================

4.3. Output files[0000][1000][2000][3000][3100][3101][3102][3200][3201][3202][3300][3400][3500][3600]

12.94052
0.01795
0.00693
12.90670
0.084160.00172
0.077079.06255
1.67779
7.312070.11640
3.287960.148400.20493[0001][0100][0300][0310][0311][0312][0313][0320][0321][0322][0330][0331][0332][0340][0341][0342]

7.38883
0.04153
7.34636
7.34595
0.00000
0.00000
7.342990.00008
0.00000
0.00000
0.00006
0.00000
0.00000
0.00004
0.00000
0.0000095

HΦ Documentation, Release 3.5.0

4.3.9 TimeKeeper.dat
This file is outputted to show the calculation process information. An example of the file format for the Lanczos method
is as follows.
diagonal calculation finishes: Wed Sep 16 22:58:49 2015
Lanczos Eigen Value start: Wed Sep 16 22:58:49 2015
1 th Lanczos step: Wed Sep 16 22:58:49 2015...
122 th Lanczos step: Wed Sep 16 22:58:49 2015
Lanczos Eigenvalue finishes: Wed Sep 16 22:58:49 2015
Lanczos Eigenvector finishes: Wed Sep 16 22:58:49 2015
Lanczos expec energy finishes: Wed Sep 16 22:58:49 2015
CG Eigenvector finishes: Wed Sep 16 22:58:49 2015
CG expec energy finishes: Wed Sep 16 22:58:50 2015
CG expec_cisajs finishes: Wed Sep 16 22:58:50 2015
CG expec_cisajacktalt begins: Wed Sep 16 22:58:50 2015

File name• ##_TimeKeeper.dat## indicates a header defined by [string02] in a ModPara file.

96

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.10 sz_TimeKeeper.dat
This file is outputted to show the process information to obtain the Hilbert space needed for the calculation. An exampleof the file format is as follows.
initial sz : Wed Sep 16 22:58:49 2015
num_threads==4
omp parallel sz finishes: Wed Sep 16 22:58:49 2015
mid omp parallel sz : Wed Sep 16 22:58:49 2015
omp parallel sz finishes: Wed Sep 16 22:58:49 2015

File name• ##_sz_TimeKeeper.dat## indicates a header defined by [string02] in a ModPara file.

4.3. Output files97

HΦ Documentation, Release 3.5.0

4.3.11 Time_CG_EigenVector.dat(For the Lanczos method) The process for calculating the eigenvector by the CG method is outputted. An example ofthe file format is as follows.
allocate succeed !!!
b[4341]=1.000000 bnorm== 1.000000
i_itr=0 itr=5 0.0411202543 0.0000100000...
i_itr=0 itr=155 0.0000000058 0.0000100000
CG OK:
t_itr=155
i_itr=0 itr=155 time=0.000000
fabs(fabs(xb)-1.0)=0.9955114473313577
b[4341]=0.004489 bnorm== 1.000000
i_itr=1 itr=5 13.0033983157 0.0000100000...
CG OK:
t_itr=275
i_itr=1 itr=120 time=0.000000
fabs(fabs(xb)-1.0)=0.0000000000001295
number of iterations in inv1:i_itr=1 itr=120
t_itr=275 0.000000

File name• ##_Time_CG_EigenVector.dat## indicates a header defined by [string02] in a ModPara file.

98

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.12 energy.dat(For the Lanczos method) The values of the energy, doublon, and ⟨𝑆𝑧 ⟩ calculated by using the eigenvector obtainedby the Lanczos or CG method are outputted. An example of the file format is as follows.
For method="Lanczos"

Energy -7.1043675920
Doublon 0.4164356536
Sz 0.0000000000
For method="CG"
State 0
Energy -7.1043675920
Doublon 0.4164356536
Sz 0.0000000000
State 1:File name• ##_energy.dat## indicates a header defined by [string02] in a ModPara file.
File format• Line 1: Energy [double01]• Line 2: Doublon [double02]• Line 3: Sz [double02].
Parameters• [double01]
Type : Double
Description : The value of the energy calculated by the eigenvetor obtained by the Lanczos or CG method.
• [double02]
Type : Double
Description: The value of the doublon calculated by the eigenvetor obtained by the Lanczos or CG method,
∑︀
1
⟨𝑛
𝑛
𝑖 𝑖↑ 𝑖↓ ⟩ (𝑁𝑠 is the total number of sites).
𝑁𝑠• [double03]
Type : Double
Description : The value of 𝑆𝑧 calculated by the eigenvetor obtained by the Lanczos or CG method.

4.3. Output files99

HΦ Documentation, Release 3.5.0

4.3.13 Lanczos_Step.dat(For the Lanczos method) This file is outputted to show the process information for calculating the eigenvector by
Lanczos method. An example of the file format for the Lanczos method is shown as follows.
For method="Lanczos"

LanczosStep E[1] E[2] E[3] E[4] Target:E[3] E_Max/Nsite
stp = 2 1.2149586211 14.6560471044 xxxxxxxxxx xxxxxxxxx 0.0000000000 xxxxxxxxx
stp=4 -5.6626980051 3.1523174817 12.4860778911 21.2322666770 12.4860778911 2.6540333346
stp=6 -8.5113374325 -2.3219709559 4.3459108959 11.5079386600 4.3459108959 3.0307814358
stp=8 -9.5061025854 -5.2757708534 -0.1734100333 5.2236216333 -0.1734100333 3.2049774861
stp=10 -9.7541889139 -6.6054773893 -2.9493235242 1.2364826532 -2.9493235242 3.2686702753...
stp=84 -10.4543987874 -9.8960493865 -9.7550111859 -9.7407358084 -9.7550111859 3.3731105157
stp=86 -10.4543987874 -9.8960493865 -9.7550111859 -9.7407358084 -9.7550111859 3.3731105157
stp=88 -10.4543987874 -9.8960493865 -9.7550111859 -9.7407358084 -9.7550111859 3.3731105157

For method="CG"

Step
1
2
3
4
5
6
...
152
153
154

Residual-2-norm
6.79819e+00
7.47402e+00
5.30943e+00
4.52737e+00
3.66168e+00
3.12717e+00

Threshold8.19743e-07
3.69905e-07
2.44472e-07
5.10297e-07
7.14105e-07
8.27201e-07

Energy7.86586e+00
3.35827e+00-2.44472e+00-5.10297e+00-7.14105e+00-8.27201e+00

8.19743e+00
3.63546e+00-2.23296e+00-4.92390e+00-6.91226e+00-7.93262e+00

8.02804e+00
3.69905e+00-1.95487e+00-4.58682e+00-6.44532e+00-7.44680e+00

1.05602e-06
1.07401e-06
9.45018e-07

1.04544e-06
1.04544e-06
1.04544e-06-1.04544e+01-1.04544e+01-1.04544e+01-9.89605e+00-9.89605e+00-9.89605e+00-9.89605e+00-9.89605e+00-9.89605e+00

File name• ##_Lanczos_Step.dat## indicates a header defined by [string02] in a ModPara file.
File format• For``method=”Lanczos”``
stp= [int01] [double01] [double02] [double03] [double04] [double-a] [double-b]• For method="CG"[int01] [double-c] [double-d] [double01] [double02] . . .

100

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Parameters• [int01]
Type : Int
Description : The iteration number of the Lanczos and LOBCG method.
• [double01], [double02], [double03], [double04] . . .
Type : Double
Description : Eigenvalues computed with the Lanczos or LOBCG method (ascending order). Four and exct
eigenvalues are printed for the Lanczos and LOBCG method, respectively (in the above case, exct=3). While thedegenerate eigenstates are printed as a single state in the Lanczos method, they are printed separately in LOBCG
method. In the above case, we can find there is a degeneracy in the first excited state.
• [double-a]
Type : Double
Description : (Only for the Lanczos method) The eigenvalue used for the convergence check. It was specified
by LanczosTarget (in the above case, LanczosTarget=3).
• [double-b]
Type : Double
Description : (Only for the Lanczos method) The maximum eigenvalue divided by the number ofsites. It is the lower limit of LargeValue in TPQ method.
• [double-c]
Type : Double
Description : (Only for LOBCG method) The maximum of the 2-norm of each residual vector. It is used for theconvergence check.
• [double-d]
Type : Double
Description : (Only for LOBCG method) The convergence threshold. This is obtained by the value specified
with LanczosEps times the absolute value of the energy of the ground state.

4.3. Output files

101

HΦ Documentation, Release 3.5.0

4.3.14 Time_TPQ_Step.dat(For the TPQ method) This file is outputted to show the time for starting the calculation of the TPQ method at eachseed and step. In the restart calculation, the values are added to the previous file. An example is as follows.

set 0 step 1:TPQ begins: Wed Jul 13 07:59:20 2016
set 0 step 2:TPQ begins: Wed Jul 13 07:59:20 2016
set 0 step 3:TPQ begins: Wed Jul 13 07:59:20 2016...
set 4 step 1997:TPQ begins: Wed Jul 13 07:59:32 2016set 4 step 1998:TPQ begins: Wed Jul 13 07:59:32 2016set 4 step 1999:TPQ begins: Wed Jul 13 07:59:32 2016

File name• ##_TPQ_Step.dat## indicates a header defined by [string02] in a ModPara file.
File format• Set [int01] stp [int02]: TPQ begins: [string01]
Parameters• [int01]
Type : Int
Description : The seed number in the calculation of the TPQ method.
• [int02]
Type : Int
Description : The step number in the calculation of the TPQ method.
• [string01]
Type : String
Description : The time for starting the calculation of the TPQ method at each seed and step.

102

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.15 Norm_rand.dat(For the TPQ method) This file is outputted to show the calculation process information for the TPQ method. In therestart calculation, the values are added to the previous file. An example of the file format is as follows.

# inv_temp, global_norm, global_1st_norm, step_i
0.017471 19.046586 11.288975 1
0.034863 19.089752 11.288975 2...
31.999572 20.802362 11.288975 1997
32.015596 20.802362 11.288975 1998
32.031620 20.802362 11.288975 1999

File name• Norm_rand??.dat?? indicates the number of runs in the calculation of the TPQ method.
File format• Line 1: Header• Lines 2-: [double01] [double02] [double03] [int01].
Parameters• [double01]
Type : Double
Description : Inverse temperature 1/𝑘B 𝑇 .
• [double02]
Type : Double
Description : The norm of a wave function before normalization given by ⟨𝜓˜𝑘 |𝜓˜𝑘 ⟩, where |𝜓˜𝑘 ⟩ ≡ (𝑙 −ℋ/𝑁𝑠 )|𝜓𝑘=1 ⟩.
• [double03]
Type : Double
Description : The norm of an initial wave function before normalization given by ⟨𝜓˜0 |𝜓˜0 ⟩, where |𝜓˜0 ⟩ is an
initial random vector.
• [int01]
Type : Int
Description : The number of operations of (𝑙 − ℋ/𝑁𝑠 ) for an initial wave function, where 𝑙 is LargeValuedefined in a ModPara file and 𝑁𝑠 is the total number of sites.

4.3. Output files

103

HΦ Documentation, Release 3.5.0

4.3.16 SS_rand.dat(For the TPQ method) This file is outputted to show the calculation results for the TPQ method. In the restartcalculation, the values are added to the previous file. An example of the file format is as follows.

# inv_tmp, energy, phys_var, phys_doublon, phys_num, step_i
0.017471 5.526334 45.390269 1.464589 6.000000 1
0.034863 5.266718 42.655559 1.434679 6.000000 2...
31.999572 -4.814170 23.176231 0.590568 6.000000 1997
32.015596 -4.814170 23.176231 0.590568 6.000000 1998
32.031620 -4.814170 23.176231 0.590568 6.000000 1999

File name• SS_rand??.dat?? indicates the number of runs in the calculation of the TPQ method.
File format• Line 1: Header• Lines 2-: [double01] [double02] [double03] [double04] [double05] [int01].
Parameters• [double01]
Type : Double
Description : Inverse temperature 1/𝑘B 𝑇 (𝑘B = 1).
• [double02]
Type : Double
Description : The expected value of the Hamiltonian (energy) ⟨ℋ⟩.
• [double03]
Type : Double
Description : The expected value of the square of the Hamiltonian ⟨ℋ2 ⟩.
• [double03]
Type : Double
Description : The expected value of the doublon,∑︀𝑖 ⟨𝑛𝑖↑ 𝑛𝑖↓ ⟩.

• [double05]
Type : Double
Description : The total number of particles ⟨ˆ
𝑛⟩.

104

Chapter 4. File specification

HΦ Documentation, Release 3.5.0• [int01]
Type : Int
Description : The number of operations of (𝑙 − ℋ/𝑁𝑠 ) for an initial wave function, where 𝑙 is LargeValuedefined in a ModPara file and 𝑁𝑠 is the total number of sites.

4.3. Output files

105

HΦ Documentation, Release 3.5.0

4.3.17 Flct_rand.dat(For the TPQ method) This file is outputted to show the calculation results of the fluctuation of the particle number,doublon, and 𝑆𝑧 for the TPQ method. In the restart calculation, the values are added to the previous file. An exampleof the file format is as follows.

# inv_temp, N, N^2, D, D^2, Sz, Sz^2, step_i
0.0826564 12.00 144.00 0.00 0.00 0.0009345626081113 0.2500 1
0.1639935 12.00 144.00 0.00 0.00 0.0023147006319775 0.2500 20.2440168 12.00 144.00 0.00 0.00 0.0037424057659867 0.2500 3...
135.97669 12.00 144.00 0.00 0.00 -0.0000000000167368 0.2500 1998
136.04474 12.00 144.00 0.00 0.00 -0.0000000000165344 0.2500 1999

File name• Flct_rand??.dat?? indicates the number of runs in the calculation of the TPQ method.
File format• Line 1: Header• Lines 2-: [double01] [double02] [double03] [double04] [double05] [double06] [double07] [int01].
Parameters• [double01]
Type : Double
Description : Inverse temperature 1/𝑘B 𝑇 .
• [double02]
Type : Double
Description : A total particle number∑︀𝑖 ⟨𝑛𝑖 ⟩.

• [double03]
Type : Double∑︀Description : The expected value of the square of the particle number ⟨( 𝑖 𝑛𝑖 )2 ⟩.
• [double04]
Type : Double
Description : The expected value of doublon 𝑁1𝑠∑︀𝑖 ⟨𝑛𝑖↑ 𝑛𝑖↓ ⟩ (𝑁𝑠 is the total number of sites).

• [double05]
Type : Double∑︀Description : The expected value of the square of doublon 𝑁1𝑠 ⟨( 𝑖 𝑛𝑖↑ 𝑛𝑖↓ )2 ⟩ (𝑁𝑠 is the total number of sites).

106

Chapter 4. File specification

HΦ Documentation, Release 3.5.0• [double06]
Type : Double
Description : The expected value of 𝑆𝑧 , 𝑁1𝑠𝑧𝑖 ⟨𝑆𝑖 ⟩ (𝑁𝑠 is the total number of sites).

∑︀• [double07]
Type : Double∑︀Description : The expected value of the square of 𝑆𝑧 , 𝑁1𝑠 ⟨( 𝑖 𝑆𝑖𝑧 )2 ⟩ (𝑁𝑠 is the total number of sites).
• [int01]
Type : Int
Description : The number of operations of (𝑙 − ℋ/𝑁𝑠 ) for an initial wave function, where 𝑙 is LargeValuedefined in a ModPara file and 𝑁𝑠 is the total number of sites.

4.3. Output files

107

HΦ Documentation, Release 3.5.0

4.3.18 Time_TE_Step.dat(For the real time evolution method) This file is outputted to show the time for starting the calculation of the real time
evolution method at each step. In the restart calculation, the values are added to the previous file. An example is asfollows.

step 1:TE begins: Wed Jul 13 07:59:20 2017
step 2:TE begins: Wed Jul 13 07:59:20 2017
step 3:TE begins: Wed Jul 13 07:59:20 2017...
step 1997:TE begins: Wed Jul 13 07:59:32 2017
step 1998:TE begins: Wed Jul 13 07:59:32 2017
step 1999:TE begins: Wed Jul 13 07:59:32 2017

File name• ##_TE_Step.dat## indicates a header defined by [string02] in a ModPara file.
File format• stp [int01]: TE begins: [string01]
Parameters• [int01]
Type : Int
Description : The step number in the calculation.
• [string01]
Type : String
Description : The time for starting the calculation at each step.

108

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.19 Norm.dat(For the real time evolution method) This file is outputted to show the calculation process information for the realtime evolution method. In the restart calculation, the values are added to the previous file. An example of the fileformat is as follows.

# time, global_norm, global_1st_norm, step_i
0.0000000000000000 0.9999999999999994 0.0000000000000000 00.0100000000000000 1.0000233421898765 0.0000000000000000 1
0.0200000000000000 1.0000211100654208 0.0000000000000000 2
0.0300000000000000 1.0000182214014706 0.0000000000000000 3
0.0400000000000000 1.0000148460317946 0.0000000000000000 4
0.0500000000000000 1.0000111372562455 0.0000000000000000 5
0.0600000000000000 1.0000072252313270 0.0000000000000000 6
0.0700000000000000 1.0000032174168609 0.0000000000000000 7
0.0800000000000000 0.9999992048382456 0.0000000000000000 8
0.0900000000000000 0.9999952720176869 0.0000000000000000 90.1000000000000000 0.9999915078951970 0.0000000000000000 10

File name• Norm.dat
File format• Line 1: Header• Lines 2-: [double01] [double02] [int01].
Parameters• [double01]
Type : Double
Description : Time 𝑡• [double02]
Type : Double
Description : The norm of a wave function at 𝑡.
• [int01]
Type : Int
Description : Time step.

4.3. Output files109

HΦ Documentation, Release 3.5.0

4.3.20 SS.dat(For the real time evolution method) This file is outputted to show the calculation results. In the restart calculation,
the values are added to the previous file. An example of the file format is as follows.

# time, energy, phys_var, phys_doublon, phys_num, step_i
0.0000000000000000 -6.0412438187293001 38.8635272290786489 ...
0.0100000000000000 -5.9310482979751606 37.9593669819686923 ...
0.0200000000000000 -5.8287182777288828 37.1390062697724801 ...
0.0300000000000000 -5.7384311863736031 36.4282319427381651 ...
0.0400000000000000 -5.6636677030535481 35.8466140292489897 ...
0.0500000000000000 -5.6070659264425551 35.4081795274108799 ...
0.0600000000000000 -5.5703150294725914 35.1222606981659666 ...
0.0700000000000000 -5.5540895348193438 34.9942503380419154 ...
0.0800000000000000 -5.5580244678717312 35.0260574979670665 ...
0.0900000000000000 -5.5807312981978212 35.2161499389042660 ...
0.1000000000000000 -5.6198544688797947 35.5591788356216298 ...
...

File name• SS.dat
File format• Line 1: Header• Lines 2-: [double01] [double02] [double03] [double04] [double05] [int01].
Parameters• [double01]
Type : Double
Description : Time 𝑡.
• [double02]
Type : Double
Description : The expected value of the Hamiltonian (energy) ⟨ℋ⟩.
• [double03]
Type : Double
Description : The expected value of the square of the Hamiltonian ⟨ℋ2 ⟩.
• [double04]
Type : Double
Description : The expected value of the doublon, 𝑁1𝑠

110

𝑖 ⟨𝑛𝑖↑ 𝑛𝑖↓ ⟩ (𝑁𝑠 is the total number of sites).

∑︀

Chapter 4. File specification

HΦ Documentation, Release 3.5.0• [double05]
Type : Double
Description : The total number of particles ⟨ˆ𝑛⟩.
• [int01]
Type : Int
Description : Time step.

4.3. Output files

111

HΦ Documentation, Release 3.5.0

4.3.21 Flct.dat(For the real time evolution method) This file is outputted to show the calculation results of the fluctuation of theparticle number, doublon, and 𝑆𝑧 . In the restart calculation, the values are added to the previous file. An example ofthe file format is as follows.

# time, N, N^2, D, D^2, Sz, Sz^2, step_i
0.0000000000000000 7.9999999999999991 63.9999999999999929 ...
0.0100000000000000 8.0000000000000604 64.0000000000004832 ...
0.0200000000000000 8.0000000000000018 64.0000000000000142 ...
0.0300000000000000 8.0000000000001013 64.0000000000008100 ...
0.0400000000000000 7.9999999999999183 63.9999999999993463 ...
0.0500000000000000 7.9999999999999520 63.9999999999996163 ...
0.0600000000000000 7.9999999999999627 63.9999999999997016 ...
0.0700000000000000 8.0000000000000835 64.0000000000006679 ...
0.0800000000000000 8.0000000000000924 64.0000000000007390 ...
0.0900000000000000 7.9999999999999600 63.9999999999996803 ...
0.1000000000000000 7.9999999999999067 63.9999999999992539 ...
...

File name• Flct.dat
File format• Line 1: Header• Lines 2-: [double01] [double02] [double03] [double04] [double05] [double06] [double07] [int01].
Parameters• [double01]
Type : Double
Description : Time 𝑡• [double02]
Type : Double
Description : A total particle number∑︀𝑖 ⟨𝑛𝑖 ⟩.

• [double03]
Type : Double∑︀Description : The expected value of the square of the particle number ⟨( 𝑖 𝑛𝑖 )2 ⟩.
• [double04]
Type : Double
Description : The expected value of doublon 𝑁1𝑠

112

∑︀

𝑖 ⟨𝑛𝑖↑ 𝑛𝑖↓ ⟩ (𝑁𝑠 is the total number of sites).

Chapter 4. File specification

HΦ Documentation, Release 3.5.0• [double05]
Type : Double∑︀Description : The expected value of the square of doublon 𝑁1𝑠 ⟨( 𝑖 𝑛𝑖↑ 𝑛𝑖↓ )2 ⟩ (𝑁𝑠 is the total number of sites).
• [double06]
Type : Double
Description : The expected value of 𝑆𝑧 , 𝑁1𝑠𝑧𝑖 ⟨𝑆𝑖 ⟩ (𝑁𝑠 is the total number of sites).

∑︀• [double07]
Type : Double∑︀Description : The expected value of the square of 𝑆𝑧 , 𝑁1𝑠 ⟨( 𝑖 𝑆𝑖𝑧 )2 ⟩ (𝑁𝑠 is the total number of sites).
• [int01]
Type : Int
Description : Time step.

4.3. Output files

113

HΦ Documentation, Release 3.5.0

4.3.22 Eigenvalue.dat(For the FullDiag method) This file is outputted to show the energies calculated by the FullDiag method. An exampleof the file format is as follows.

0 -4.8141698096
1 -3.7968502453
2 -3.2462822372...
397 13.9898305290
398 14.4896221034
399 14.8525199079

File format• [int01] [double01]
Parameters• [int01]
Type : Int
Description : The index of eigenvalues. The index 0 is for the energy of the ground state and the indexes arelabeled in descending order for energies.
• [double01]
Type : Double
Description : The expected value of the Hamiltonian (energy) ⟨ℋ⟩.

114

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.23 phys.dat(For the FullDiag method) This file is outputted to show the physical values calculated by the FullDiag method. The
data are outputted in descending order for energies. An example of the file format is as follows.

<H>-4.814170-3.796850...
14.489622
14.852520<N>0.000000
0.000000<Sz>
0.000000
0.000000<S2>-0.000000
1.333333<D>
0.590568
0.423804

0.000000
0.000000

0.000000
0.000000

0.000000
0.000000

2.550240
2.329157

File name• Canonical ensemble: ##_phys_Nup_$$Ndown%%.dat• Grand canonical ensemble: ##_phys.dat.
##, $$, and %% indicate [string02], Nup, and Ndown defined in a ModPara file, respectively.
File format• Line 1: Header• Lines 2-: [double01] [double02] [double03] [double04] [double05].
Parameters• [double01]
Type : Double
Description : The energy ⟨ℋ⟩.
• [double02]
Type : Double
Description : The total number of particles ⟨𝑛⟩.
• [double03]
Type : Double
Description : The expected value of 𝑆𝑧 , ⟨𝑆𝑧 ⟩.
• [double04]
Type : Double
Description : The expected value of 𝑆 2 , ⟨𝑆 2 ⟩.
• [double05]
Type : Double
Description : The expected value of doublon, 𝑁1𝑠

4.3. Output files

𝑖 ⟨𝑛𝑖↑ 𝑛𝑖↓ ⟩ (𝑁𝑠 is the total number of sites).

∑︀

115

HΦ Documentation, Release 3.5.0

4.3.24 ham.dat(For the FullDiag method) When OutputHam=1 in the CalcMod file, the Hamiltonian calculated by ℋΦ is outputtedby the MatrixMarket format. The recalculation by using this file can be down when InputHam=1 in the CalcMod file.
An example of the file format is as follows.

%%%%MatrixMarket matrix coordinate complex hermitian
28 28 56
1 1 1.000000 0.000000
2 1 0.500000 0.000000
3 2 0.500000 0.000000
4 3 0.500000 0.000000
5 4 0.500000 0.000000
6 5 0.500000 0.000000
7 6 0.500000 0.000000
7 7 1.000000 0.000000...

File name• ##_ham.dat## indicates [string02] in a ModPara file.
File format• Line 1: Header• Line 2: [int01] [int02] [int03]• Lines3-:[int04] [int05] [double01] [double02]
Parameters• [int01]
Type : Int
Description : Number of rows of Hamiltonian.
• [int02]
Type : Int
Description : Number of columns of Hamiltonian.
• [int03]
Type : Int
Description : Number of nonzero elements of Hamiltonian.
• [double01], [double02]
Type : Double

116

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Description : The value of Hamiltonian; [double01] and [double02] represent real and imaginary part of the
Hamiltonian, respectively.

4.3. Output files

117

HΦ Documentation, Release 3.5.0

4.3.25 cisajs.dat
This file is the outputted files for one-body Green’s function ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ⟩. The target components are set in the input filewith the keyword “OneBodyG”. An example of the file format is as follows.
0
0
1
1
2
2
3
3
...

0
1
0
1
0
1
0
1

0
0
1
1
2
2
3
3

0 0.4452776740 0.0000000000
1 0.4452776740 0.0000000000
0 0.5000000000 0.0000000000
1 0.5000000000 0.0000000000
0 0.4452776740 0.0000000000
1 0.4452776740 0.0000000000
0 0.5000000000 0.0000000000
1 0.5000000000 0.0000000000

File name• Lanczos method: ##_cisajs.dat• TPQ method: ##_cisajs_set??step%%.dat• Full diagonalization method, LOBCG method: ##_cisajs_eigen&&.dat.
• Real time evolution method: ## cisajs step%%.dat##, ??, %%, and && indicate [string02] in a ModPara file, the number of runs in calculation in the TPQ method, thenumber of steps in the TPQ method, and the index of the eigenvalues, respectively.
File format• [int01] [int02] [int03] [int04] [double01] [double02]
Parameters• [int01], [int03]
Type : Int
Description : The integer of the site number. [int01] and [int03] show the 𝑖 and 𝑗 site numbers, respectively.
• [int02], [int04]
Type : Int
Description : The integer of the spin index:
0: Up-spin
1: Down-spin.
[int02] and [int04] show 𝜎1 and 𝜎2 , respectively.
• [double01], [double02]
Type : Double

118

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Description : The value of ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ⟩.
[double01] and [double02] show the real and imaginary part of ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ⟩, respectively.

4.3. Output files

119

HΦ Documentation, Release 3.5.0

4.3.26 cisajscktalt.dat
This file is the outputted files for the two-body Green’s function ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 ⟩. The target components are set in
the input file with the keyword “TwoBodyG”. An example of the file format is as follows.
0
0
0
0
0
0
0
0
...

0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0

0
0
1
1
2
2
3
3

0
1
0
1
0
1
0
1

0
0
1
1
2
2
3
3

0 0.4452776740 0.0000000000
1 0.1843355815 0.0000000000
0 0.1812412105 0.0000000000
1 0.2640364635 0.0000000000
0 0.0279690007 0.0000000000
1 0.2009271524 0.0000000000
0 0.2512810778 0.0000000000
1 0.1939965962 0.0000000000

File name• Lanczos method: ##_cisajscktalt.dat• TPQ method: ##_cisajscktalt_set??step%%.dat• Full diagonalization method, LOBCG method: ##_cisajscktalt_eigen&&.dat• Real time evolution method: ## cisajscktalt step%%.dat##, ??, %%, and && indicate [string02] in a ModPara file, the number of runs in calculation in the TPQ method, thenumber of steps in the TPQ method, and the index of the eigenvalues, respectively.
File format• [int01] [int02] [int03] [int04] [int05] [int06] [int07] [int08] [double01] [double02].
Parameters• [int01], [int03],[int05], [int07]
Type : Int
Description : The integer of the site number. [int01], [int03], [int05], and [int07] show the 𝑖, 𝑗, 𝑘, and 𝑙 site
numbers, respectively.
• [int02], [int04],[int06], [int08]
Type : Int
Description : The integer of the spin index:
0: Up-spin
1: Down-spin.
[int02], [int04], [int06], and [int08] show 𝜎1 , 𝜎2 , 𝜎3 , and 𝜎4 , respectively.
• [double01], [double02]
Type : Double

120

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

Description : The value of ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 ⟩.
[double01] and [double02] show the real and imaginary part of ⟨𝑐†𝑖𝜎1 𝑐𝑗𝜎2 𝑐†𝑘𝜎3 𝑐𝑙𝜎4 ⟩, respectively.

4.3. Output files

121

HΦ Documentation, Release 3.5.0

4.3.27 eigenvec.dat
When OutputEigenVec=1 in a CalcMod file, the eigenvectors calculated by the Lanczos method are outputted. When
InputEigenVec=1 in a CalcMod file, eigenvectors are inputted by this outputted file. The file format is of the binary
type.
File name• ##_eigenvec_&&_rank_$$.dat## indicates [string02] in a ModPara file, && is the number of eigenvalues, and $$ is a number of rank.
File format
This file is written through the following source code (a little different fron the actual ℋΦ source).

fp = fopen("zvo_eigenvec_0_rank_0.dat", "wb");
fwrite(&number_of_interations, sizeof(int), 1,fp);
fwrite(&local_size, sizeof(unsigned long int),1,fp);
fwrite(&eigen_vector[0], sizeof(complex double),local_size+1, fp);
fclose(fp);
where number_of_interations is the number of iterations, local_size is the size of eigenvector (if MPI is used,
it differs from the dimension of the Hilbert space), eigen_vector is the (complex) eigenvector.
Note: The fist component of eigen_vector (eigen_vector[0]) is not used for calculation.

122

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.28 tmpvec.dat
When ReStart=1, 2 in a CalcMod file, vectors after the calculation stops at an indicated step are outputted. The fileformat is of the binary type. An example of the file format is as follows.
File name• Lanczos method: ##_tmpvec_rank_$$.dat• TPQ and LOBPCG method: ##_tmpvec_set_&&_rank_$$.dat .
## indicates [string02] in a ModPara file, and $$ is the number of rank. && is the sampling number for the TPQ
calculation.
File format
This file is written through the following source code (a little different from the actual ℋΦ source).
Lanczos

fp = fopen("zvo_tmpvec_rank_0.dat", "wb");
fwrite(&number_of_interations, sizeof(int), 1,fp);
fwrite(&local_size, sizeof(unsigned long int),1,fp);
fwrite(&last_vector[0], sizeof(complex double),local_size+1, fp);
fwrite(&second_last_vector[0], sizeof(complex double),local_size+1, fp);
fclose(fp);

TPQ and LOBPCG

fp = fopen("zvo_tmpvec_set_0_rank_0.dat", "wb");
fwrite(&number_of_interations, sizeof(int), 1,fp);
fwrite(&local_size, sizeof(unsigned long int),1,fp);
fwrite(&last_vector[0], sizeof(complex double),local_size+1, fp);
fclose(fp);
where number_of_interations is the number of iterations, local_size is the size of eigenvector (if MPI isused, it differs from the dimension of the Hilbert space), last_vector is the vector at the last iteration andsecond_last_vector is the vector at the second last iteration.
Note:
The fist component of last_vector andsecond_last_vector[0]) are not used for calculation.

4.3. Output files

second_last_vector(last_vector[0]

and

123

HΦ Documentation, Release 3.5.0

4.3.29 DynamicalGreen.dat
This file is the outputted file for calculating the dynamical Green’s function. An example of the file format is as follows.
File name• ##_DynamicalGreen.dat## indicates [string02] in a ModPara file.
File format• Lines 1-: [double01] [double02] [double03] [double04]
Parameters• [double01], [double02]
Type : Double
Description : The value of the frequency 𝑧.
[double01] and [double02] are a real and an imaginary part of 𝑧, respectively.
• [double03], [double04]
Type : Double
Description: The value of dynamical Green’s functions 𝐺(𝑧).
[double03] and [double04] are a real and an imaginary part of 𝐺(𝑧), respectively.

124

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.30 recalcvec.dat
This file is the outputted file for two vectors to recalculate the dynamical Green’s function by the Lanczos method. The
file format is of the binary type. An example of the file format is as follows.
File name• ##_recalcvec_rank_$$.dat## indicates [string02] in a ModPara file and $$ is the number of rank.
File format• Line 1: [int01]• Line 2: [int02]• Lines 3 - 3+ [int02]: [double01] [double02]• Lines 4+ [int02] - 4+2 × [int02]: [double03] [double04].
Parameters• [int01]
Type : Int
Description : The step for calculating dynamical Green’s functions by the Lanczos method 𝑁𝑑 .
• [int02]
Type : Long Int
Description : The total number of targets of the Hilbert spaces.
• [double01], [double02]
Type : Double
Description : The value of the vector 𝑣 𝑘+1 for recalculating dynamical Green’s functions by the Lanczos
method.
[double01] and [double02] are a real part and an imaginary part of 𝑣 𝑘+1 , respectively. The fist component is
not used for calculation.
• [double03], [double04]
Type : Double
Description : The value of the vector 𝑣 𝑘 for recalculating dynamical Green’s functions by the Lanczos method.
[double03] and [double04] are a real part and an imaginary part of 𝑣 𝑘 , respectively. The fist component is not
used for calculation.

4.3. Output files

125

HΦ Documentation, Release 3.5.0

4.3.31 TMcomponents.dat
This file is the outputted files for the components of the tridiagonal matrix and the norm of the excited state to recalculate
the dynamical Green’s function by the Lanczos method. The file format is of the binary type. An example of the fileformat is as follows.
File name• ##_TMcomponents.dat## indicates [string02] in a ModPara file and $$ is the number of rank.
File format• Line 1: [int01]• Line 2: [double01]• Lines 3-: [double02] [double03].
Parameters• [int01]
Type : Int
Description : The step for calculating dynamical Green’s functions by the Lanczos method 𝑁𝑑 .
• [double01]
Type : Double
Description : The value of the norm of the excited state.
• [double02], [double03]
Type : Double
Description : The value of the components of the tridiagonal matrix to recalculate dynamical Green’s
functions by the Lanczos method 𝛼𝑖 , 𝛽𝑖 (𝑖 = 1, · · · 𝑁𝑑 ). [double02] is 𝛼𝑖 and [double03] is 𝛽𝑖 .

126

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.3.32 eigenvec.dat
When OutputExcitedVec=1 in a CalcMod file, the excited vector calculated by using the input vector and excited operators defined in parr.def is outputted. An example of the file format is as follows.
4096
0.0009135367, -0.0004231751-0.0009712430, 0.0293999045-0.0294644178, 0.0210086435
0.0214247977, -0.0107587147
0.0272643022, -0.0404634256
0.0034322694, -0.0184446640
0.0019911098, 0.0004403706
0.0114685735, -0.0114381935
0.0092888239, 0.0088235535...

File name• ##_excitedvec_&&_rank_$$.dat## indicates [string02] in a ModPara file, && is the number of eigenvalues, and $$ is a number of rank.
File format• Line 1:[int01]• Lines2-:[double01] [double02]
Parameters• [int01]
Type : Int
Description : Dimenssions of the excited vector.
• [double01], [double02]
Type : Double
Description : The value of the excited vector; [double01] and [double02] represent real and imaginary part ofthe excited vector, respectively.

4.3. Output files127

HΦ Documentation, Release 3.5.0

4.3.33 residual.dat
This file is outputted to show the calculation process information for the dynamical Green’s function by using the
LOBCG method (CalcType=3 in CalcMod file). An example of the file format is as follows.
File name• residual.dat
File format• Lines 1-NOmega:[int01] [double01] [double02] [double03] [double04]• Line NOmega+1 :empty• Repeat Lines 1-NOmega+1.
Parameters• [int01]
Type : Int
Description : Number of Iteration Steps. Only multiples of 10 are printed.
• [double01]
Type : Double
Description : The value of frequencies.
• [double02], [double03]
Type : Double
Description : The value of dynamical Green’s functions 𝐺(𝑧) at [int01] iteration step.
[double02] and [double03] are a real and an imaginary part of 𝐺(𝑧), respectively.
• [double04]
Type : Double
Description : The norm of the residual vector at [int01] iteration step.

128

Chapter 4. File specification

HΦ Documentation, Release 3.5.0

4.4 Error messages• ERROR ! Unsupported Keyword !
The program stops because unsupported keyword is specified.
• "ERROR ! Keyword keyword is duplicated !
The program stops because a parameter is specified twice.
• ERROR ! Unsupported Solver : solver The program stops because unsupported parameter for method is
specified.
• ERROR ! Unsupported Model : model• Sorry, this system is unsupported in the STANDARD MODE...
Sorry, specified combination,
MODEL : model
LATTICE : lattice
is unsupported in the STANDARD MODE...
Please use the EXPART MODE, or write a NEW FUNCTION and post us.
The program stops because unsupported parameter for model and/or lattice is specified.
• ERROR ! abs(2 * Sz) > nsite in Hubbard model !
• ERROR ! Nelec > 2 * nsite in Hubbard model !
• ERROR ! (nelec + 2 * Sz) % 2 != 0 in Hubbard model !
• ERROR ! nelec <= nsite && 2 * |Sz| > nelec in Hubbard model !
• ERROR ! nelec > nsite && 2 * |Sz| > 2 * nsite - nelec in Hubbard model !
• ERROR ! abs(2 * Sz) > nsite in Spin model !
• ERROR ! (nsite + 2 * Sz) % 2 != 0 in Spin model !
• ERROR ! abs(2 * Sz) > nsite in Hubbard model !
• ERROR ! Nelec_cond / 2 + Nelec_loc > nsite in Kondo model !
• ERROR ! (nelec_cond + nelec_loc + 2 * Sz) % 2 != 0 in Kondo model !
• ERROR ! nelec_cond <= nsite / 2 && 2 * |Sz| > nelec_cond + nelec_loc ...
• ERROR ! nelec_cond > nsite / 2 && abs(Sz2) > nsite / 2 * 3 - nelec...
In the calculation of the canonical ensemble, there are some irrelevant combinations of the number of electrons,
the number of sites, and the total spin moment ( the number of electrons is larger twice than the number of sites);
If these situations are detected, the program will stop.
• Check !keywordis SPECIFIED but will NOT be USED.
Please COMMENT-OUT this lineor check this input is REALLY APPROPRIATE for your purpose !
Because an unnecessary parameter is specified, the program suggests checking the input file. If that parameteris actually unnecessary, please delete or comment out this line.
• ERROR !keywordis NOT specified !
The program stops because a prerequisite keyword is not specified.

4.4. Error messages

129

HΦ Documentation, Release 3.5.0• keyword = value ###### DEFAULT VALUE IS USED ######
This is not an error message. The program states that the default value is used because this keyword is not
specified.

130

Chapter 4. File specification

CHAPTERFIVE

ALGORITHM

5.1 Lanczos method
5.1.1 Details of Lanczos method
Some parts of this section are based on the manual of TITPACK1 and the textbook published by M. Sugihara and K.
Murota2 (these references are written in Japanese).
In the Lanczos method, by successively operating the Hamiltonian to the initial vector, we obtain the accurate eigenvalues around the maximum and minimum eigenvalues and associated eigenvectors. Because we can perform the Lanczos
method by using only two vectors, the dimensions of which are the dimensions of the total Hilbert space3 , the Lanczos
method is frequently used for the diagonalization of the large matrices. As explained in detail below, one additional
vector is necessary for obtaining the eigenvector.
The principle of the Lanczos method is based on the power method. In the power method, by successively operating the Hamiltonian ℋ̂ to the arbitrary vector 𝑥0 , we generate ℋ̂𝑛 𝑥0 . The obtained space 𝒦𝑛+1 (ℋ̂, 𝑥0 ) ={𝑥0 , ℋ̂1 𝑥0 , . . . , ℋ̂𝑛 𝑥0 } is called the Krylov subspace. The initial vector is represented by the superposition of theeigenvectors 𝑒𝑖 (the corresponding eigenvalues are 𝐸𝑖 ) of ℋ̂ as∑︁
𝑥0 =𝑎𝑖 𝑒𝑖 .
(5.1)
𝑖Here, 𝐸0 denotes the maximum absolute values of the eigenvalues. We note that all the eigenvalues are real numbers
because the Hamiltonian is Hermitian. By operating ℋ̂𝑛 to the initial vector, we obtain the relation as[︁]︁∑︁ (︂ 𝐸𝑖 )︂𝑛ℋ̂𝑛 𝑥0 = 𝐸0𝑛 𝑎0 𝑒0 +𝑎𝑖 𝑒𝑖 .
(5.2)
𝐸
𝑖̸=0

0

This relation indicates that the eigenvector of 𝐸0 becomes dominant for sufficiently large 𝑛. In the Lanczos method, we
obtain the eigenvalues and eigenvectors by performing the appropriate transformation for the obtained Krylov subspace.
In the Lanczos method, we successively generate the normalized orthogonal basis 𝑣 0 , . . . , 𝑣 𝑛−1 from the Krylov subspace 𝒦𝑛 (ℋ̂, 𝑥0 ). We define an initial vector and associated components as 𝑣 0 = 𝑥0 /|𝑥0 |, 𝛽0 = 0, 𝑥−1 = 0. From
this initial condition, we can obtain the normalized orthogonal basis:
𝛼𝑘 = (ℋ̂𝑣 𝑘 , 𝑣 𝑘 ),𝑤 = ℋ̂𝑣 𝑘 − 𝛽𝑘 𝑣 𝑘−1 − 𝛼𝑘 𝑣 𝑘 ,𝛽𝑘+1 = |𝑤|,𝑣𝑘.
𝑣 𝑘+1 =
|𝑣 𝑘 |(5.3)

1 http://www.stat.phys.titech.ac.jp/~nishimori/titpack2_new/index-e.html

2 M. Sugihara, K. Murota, Theoretical Numerical Linear Algebra, Iwanami Stud-ies in Advanced Mathematics, Iwanami Shoten, Publishers,
2009.
3 In ℋΦ, to reduce the numerical cost, we use some additional vectors; a vector for accumulating the real-space diagonal elements of the
Hamiltonian and a vector for specifying the given 𝑆𝑧 space and given particle space. The dimension of these vectors is that of the Hilbert space.

131

HΦ Documentation, Release 3.5.0

From these definitions, it it obvious that 𝛼𝑘 , 𝛽𝑘 are real numbers.
In the subspace spanned by these normalized orthogonal basis, the Hamiltonian is transformed as(5.4)

𝑇𝑛 = 𝑉𝑛† ℋ̂𝑉𝑛 .

Here, 𝑉𝑛 is a matrix whose column vectors are 𝑣 𝑖 (𝑖 = 0, 1, . . . , 𝑛 − 1). 𝑇𝑛 is a tridiagonal matrix and its diagonal
elements are 𝛼𝑖 and subdiagonal elements are 𝛽𝑖 . It is known that the eigenvalues of ℋ̂ are well approximated by the
eigenvalues of 𝑇𝑛 for sufficiently large 𝑛. (We note that 𝑉 † 𝑉 = 𝐼, 𝐼 is an identity matrix). The original eigenvectors
˜𝑖 , where 𝑒
˜𝑖 denotes the eigenvectors of 𝑇𝑛 . From 𝑉 , we can obtain the eigenvectors of ℋ̂
of ℋ̂ are obtained by 𝑒𝑖 = 𝑉 𝑒
by performing the Lanczos method. However, in the actual calculations, it is difficult to keep 𝑉 , because its dimension
is large [dimension of 𝑉 = (dimension of the total Hilbert space) × (the number of Lanczos iterations)]. Thus, to obtain
the eigenvectors, we again perform the same Lanczos calculations after we obtain the eigenvalues from the Lanczos
methods. In the first Lanczos calculation, we keep 𝑒˜𝑖 , because its dimension is small4 . From this procedure, we obtain
the eigenvectors from 𝑉 .
In the Lanczos method, within a few hundred or thousand Lanczos iterations, we obtain accurate eigenvalues near
the maximum and minimum eigenvalues. The necessary number of iterations is sufficiently small as compared to thedimensions of the total Hilbert space.
We note that it is shown that the errors of the maximum and minimum eigenvalues become exponentially small as afunction of Lanczos iterations (for details, see Ref.? ).

5.1.2 Inverse iteration method
From the approximate value of the eigenvalues (𝐸𝑛 ), by successively operating (ℋ̂ − 𝐸𝑛 )−1 to the initial vector 𝑦 0 ,we can obtain the accurate eigenvector for 𝐸𝑛 .
From (ℋ̂ − 𝐸𝑛 )−1 𝑦 0 , we obtain linear simultaneous equations such as(5.5)

𝑦 𝑘 = (ℋ̂ − 𝐸𝑛 )𝑦 𝑘+1 .

By solving this equation using the conjugate gradient method (CG method), we obtain the eigenvector. From theobtained eigenvector, we can calculate the eigenvalues and correlation functions. We note that four additional vectors
are necessary to perform the CG method. For a large system size, it may be impossible to allocate memory to theadditional vectors.

5.1.3 Details of implementation
Initial vector
For the Lanczos method, an initial vector is specified with initial_iv(≡ 𝑟𝑠 ) defined in an input file for Standard
mode or a ModPara file for Expert mode. The type of initial vector can be selected as a real number or complex number
by using InitialVecType in a ModPara file.
• For canonical ensemble and initial_iv≥ 0 A component of a target of the Hilbert space is given by(𝑁dim /2 + 𝑟𝑠 )%𝑁dim ,(5.6)

where 𝑁dim is the total number of the Hilbert spaces and 𝑁dim /2 is added to avoid selecting a special Hilbert
space for a default value initial_iv = 1. When the type of initial vector is selected as a real number,√thecoefficient value is given by 1, while when it is selected as a complex number, the value is given by (1 + 𝑖)/ 2.
4 Upper bound of the dimensions of 𝑒˜ is # of Lanczos iterations.
𝑖132

Chapter 5. Algorithm

HΦ Documentation, Release 3.5.0• For a grand canonical ensemble or initial_iv < 0 The initial vector is given by using a random generator, i.e.,the coefficients of all the components for the initial vector are given by random numbers. The seed is calculated
as123432 + |𝑟𝑠 |,(5.7)

where 𝑟𝑠 is the number given by an input file and 𝑛run is the number of runs. The maximum value of 𝑛run isdefined by NumAve in an input file for Standard mode or a ModPara file for Expert mode. Random numbers are
generated by using SIMD-oriented Fast Mersenne Twister (dSFMT)5 .
Convergence condition
In ℋΦ, we use dsyev (routine of LAPACK) for diagonalization of 𝑇𝑛 . We use the energy of the first excited stateof 𝑇𝑛 as the criterion of convergence. In the standard setting, after five Lanczos steps, we diagonalize 𝑇𝑛 every two
Lanczos steps. If the energy of the first excited states coincides with the previous energy within the specified accuracy,
the Lanczos iteration finishes. The accuracy of the convergence can be specified by CDataFileHead(ModPara file in
the expert mode).
After obtaining the eigenvalues, we again perform the Lanczos iteration to obtain the eigenvector. From the eigenvectors |𝑛⟩, we calculate energy 𝐸𝑛 = ⟨𝑛|ℋ̂|𝑛⟩ and variance ∆ = ⟨𝑛|ℋ̂2 |𝑛⟩ − (⟨𝑛|ℋ̂|𝑛⟩)2 . If 𝐸𝑛 coincides with the
eigenvalues obtained by the Lanczos iteration and ∆ is smaller than the specified value, we finish diagonalization.
If the accuracy of the Lanczos method is not sufficient, we perform the CG method to obtain the eigenvector. As an
initial vector of the CG method, we use the eigenvectors obtained by the Lanczos method in the standard setting. Thisfrequently accelerates the convergence.

5.2 Full Diagonalization method
5.2.1 Overview
We generate the matrix of ℋ̂ by using the real space configuration |𝜓𝑗 ⟩(𝑗 = 1 · · · 𝑑H , where 𝑑H is the dimension of theHilbert space): ℋ𝑖𝑗 = ⟨𝜓𝑖 |ℋ̂|𝜓𝑗 ⟩. By diagonalizing this matrix, we can obtain all the eigenvalues 𝐸𝑖 and eigenvectors|Φ𝑖 ⟩ (𝑖 = 1 · · · 𝑑H ). In the diagonalization, we use a LAPACK routine, such as dsyev or zheev. We also calculate andˆ 𝑖 ⟩. These values are used for the finite-temperature calculations.
output the expectation values 𝐴𝑖 ≡ ⟨Φ𝑖 |𝐴|Φ

5.2.2 Finite-temperature calculations
ˆ 𝑖 ⟩, we calculate the finite-temperature properties by using the relation
From 𝐴𝑖 ≡ ⟨Φ𝑖 |𝐴|Φ∑︀𝑁
−𝛽𝐸𝑖
𝑖=1 𝐴𝑖 eˆ = ∑︀
.
⟨𝐴⟩
𝑁
−𝛽𝐸𝑖
𝑖=1 e

(5.8)

The calculation should be performed by using the own postscripts.
5 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html

5.2. Full Diagonalization method133

HΦ Documentation, Release 3.5.0

5.3 Finite-temperature calculations by the TPQ method
Sugiura and Shimizu showed that it is possible to calculate the finite-temperature properties from a few wavefunctions(in the thermodynamic limit, only one wave function is necessary)1 ,2 . The wavefunction is called the thermal purequantum (TPQ) state. Because the TPQ state can be generated by operating the Hamiltonian to the random initial
wavefunction, we directly use the routine Lanczos method for the TPQ calculations. The TPQ state is given by|Φ(𝛽)⟩ ≡ exp(−

𝛽 ℋ̂)|Φrand ⟩.
2

(5.9)

Here, 𝛽 represents inverse temperature and |Φrand ⟩ is a random initial vector. It is shown that it is possible to calculate
physical quantities at inverse temperature 𝛽 as expectation values with respect to |Φ(𝛽)⟩.

5.3.1 Details of implementation
Construction of the micro canonical TPQ (mTPQ) state
Here, we explain how to construct the micro canonical TPQ (mTPQ) state? , which offers the simplest method for
calculating finite-temperature properties.
Let |Φrand ⟩ be a random initial vector. By operating (𝑙 − ℋ̂/𝑁𝑠 )𝑘 (𝑙 is constant and 𝑁𝑠 represents the number of sites)
to |Φrand ⟩, we obtain the 𝑘th TPQ states as|Φ𝑘 ⟩ ≡(𝑙 − ℋ̂/𝑁𝑠 )|Φ𝑘−1 ⟩|(𝑙 − ℋ̂/𝑁𝑠 )|Φ𝑘−1 ⟩(5.10).

From |Φ𝑘 ⟩, we estimate the corresponding inverse temperature 𝛽𝑘 as
𝛽𝑘 ∼

2𝑘/𝑁𝑠
, 𝑢𝑘 = ⟨Φ𝑘 |ℋ̂|Φ𝑘 ⟩/𝑁𝑠 ,𝑙 − 𝑢𝑘(5.11)

where 𝑢𝑘 is the internal energy. The arbitrary local physical properties at 𝛽𝑘 are also estimated asˆ 𝛽 = ⟨Φ𝑘 |𝐴|Φ
ˆ 𝑘 ⟩.
⟨𝐴⟩𝑘(5.12)In a finite-size system, error is caused by the choice of the initial random vector. To estimate the average value and errorof the physical properties, we perform some independent calculations by changing |Φrand ⟩. Since the temperature
Construction of the canonical TPQ (cTPQ) state
Here, we explain how to construct the canonical TPQ (cTPQ) state2 , which is another way to construct the TPQ state.
In the cTPQ method, exp[−𝛽 ℋ̂/2] is approximated as follows:𝛽 ℋ̂)|Φrand ⟩ ∼ |Φ𝑘 ⟩ = 𝑈 (∆𝜏 )𝑘 |Φrand ⟩
2
𝑛∑︁
max
1
∆𝜏 𝑛
𝑈 (∆𝜏 ) =
(−
ℋ̂)
𝑛!
2
𝑛=0
exp(−

(5.13)

𝛽𝑘 = 𝑘∆𝜏
As in the mTPQ method, physical quantities are calculated as
ˆ𝛽 =
⟨𝐴⟩
𝑘

ˆ 𝑘⟩
⟨Φ𝑘 |𝐴|Φ.
⟨Φ𝑘 |Φ𝑘 ⟩(5.14)

1 S. Sugiura and A. Shimizu, Phys. Rev. Lett. 108, 240401 (2012).
2 S. Sugiura and A. Shimizu, Phys. Rev. Lett. 111, 010401 (2013).

134

Chapter 5. Algorithm

HΦ Documentation, Release 3.5.0

Initial vector
For the TPQ method, the initial vector is given by using a random generator, i.e., the coefficients of all the components
for the initial vector are given by random numbers. The seed is calculated as
123432 + (𝑛run + 1) × |𝑟𝑠 | + 𝑘Thread + 𝑁Thread × 𝑘Process ,(5.15)

where 𝑟𝑠 is the number given by an input file and 𝑛run is the number of runs. 𝑟𝑠 and the maximum value of 𝑛run
are defined by initial_iv and NumAve in an input file for Standard mode or a ModPara file for Expert mode, respectively. Random numbers are generated by using SIMD-oriented Fast Mersenne Twister (dSFMT)3 . We can select the type of initial vector as a real number or complex number by using InitialVecType in a ModPara file.
𝑘Thread , 𝑁Thread , 𝑎𝑛𝑑𝑘Process indicate the thread ID, number of threads, process ID, respectively; the initial vector
depends both on initial_iv and the number of parallelisms.

5.4 Dynamical Green’s function
Using ℋΦ, we can calculate a dynamical Green’s function
𝐼(𝑧) = ⟨Φ′ |1ℋ − 𝑧 𝐼ˆ|Φ′ ⟩,

ˆ 0 ⟩ is an excited state and 𝑂
ˆ is an excitation operator defined as a single excitation operator
where |Φ′ ⟩ = 𝑂|Φ∑︁𝐴𝑖𝜎1 𝑐𝑖𝜎1 (𝑐†𝑖𝜎1 )𝑖,𝜎1(5.16)(5.17)or a pair excitation operator∑︁𝐴𝑖𝜎1 𝑗𝜎2 𝑐𝑖𝜎1 𝑐†𝑗𝜎2 (𝑐†𝑖𝜎1 𝑐𝑗𝜎2 ).

𝑖,𝑗,𝜎1 ,𝜎2ˆ as
For example, the dynamical spin susceptibilities can be calculated by defining 𝑂∑︁∑︁ 1 †
ˆ = 𝑆(k)ˆ(𝑐𝑗↑ 𝑐𝑗↑ − 𝑐†𝑗↓ 𝑐𝑗↓ )𝑒𝑖k·rj .
𝑂=𝑆ˆ𝑗𝑧 𝑒𝑖k·rj =2
𝑗𝑗(5.18)(5.19)

There are two modes implemented in ℋΦ. One is the continued fraction expansion method by using Lanczos method
1and the other is the shifted Krylov method2 . See the reference for the details of each algorithm.

5.5 Real time evolution method
In ℋΦ, real time evolution calculation is done by using the following relation|Φ(𝑡𝑛 )⟩ = exp−𝑖ℋΔ𝑡𝑛 |Φ(𝑡𝑛−1 )⟩,∑︀𝑛where |Φ(𝑡0 )⟩ is an initial wave function and 𝑡𝑛 = 𝑗=1 ∆𝑡𝑗 . In calculation, we approximate exp−𝑖ℋΔ𝑡𝑛 as
exp−𝑖ℋΔ𝑡𝑛 =

𝑚
∑︁
1
𝑙=0

𝑙!

(−𝑖ℋ∆𝑡𝑛 )𝑙 .

(5.20)(5.21)

Here, the cut-off integer 𝑚 can be set by ExpandCoef in ModPara. We can judge whether the expansion order is enoughor not by checking the norm conservation ⟨Φ(𝑡𝑛 )|Φ(𝑡𝑛 )⟩ = 1 and energy conservation ⟨Φ(𝑡𝑛 )|ℋ̂|Φ(𝑡𝑛 )⟩ = 𝐸.
3 http://www.math.sci.hiroshima-u.ac.jp/m-mat/MT/SFMT.
1 E. Dagotto, Rev. Mod. Phys. 66, 763-840 (1994).

2 S.Yamamoto, T. Sogabe, T. Hoshi, S.-L. Zhang, T. Fujiwara, Journal of the Physical Society of Japan 77, 114713 (2008).

5.4. Dynamical Green’s function135

HΦ Documentation, Release 3.5.0

5.6 Bogoliubov representation
In the spin system, the spin indices in the input files of transfer, InterAll, and correlation functions are specified
as those of the Bogoliubov representation. The spin operators are written by using creation/annihilation operators:
𝑆𝑖𝑧 =

𝑆
∑︁

𝜎𝑐†𝑖𝜎 𝑐𝑖𝜎

𝜎=−𝑆

𝑆𝑖+ =

𝑆−1
∑︁

√︀

𝑆(𝑆 + 1) − 𝜎(𝜎 + 1)𝑐†𝑖𝜎+1 𝑐𝑖𝜎√︀𝑆(𝑆 + 1) − 𝜎(𝜎 + 1)𝑐†𝑖𝜎 𝑐𝑖𝜎+1(5.22)

𝜎=−𝑆

𝑆𝑖− =

𝑆−1
∑︁
𝜎=−𝑆

In HPhi, the index of the highest-𝜎 state is 0.

136

Chapter 5. Algorithm

CHAPTERSIXACKNOWLEDGEMENT

We would like to express our sincere gratitude to Prof. Hidetoshi Nishimori and Mr. Daisuke Tahara. Implementationof the Lanczos algorithm in ℋΦ written in C is based on the pioneering diagonalization package TITPACK written
in Fortran by Prof. Nishimori. For developing the user interface of ℋΦ, we followed the design concept of the userinterface in the program for variational Monte Carlo developed by Mr. Tahara. A part of the user interface in ℋΦ isbased on his original codes. We would also like to express our thanks for the support of the "Project for advancementof software usability in materials science" of The Institute for Solid State Physics, The University of Tokyo, for thedevelopment of ℋΦ ver. 0.1 - ver. 2.0.4
Dr. Yuichi Motoyama and Dr. Yasuyuki Kato found and reported bugs. We acknowledge their kindness and carefulness.
We thank Prof. Takeo Hoshi and Prof. Tomohiro Sogabe for the fruitful discussions on the shifted Krylov method andthe development of the 𝐾𝜔 library.

137

HΦ Documentation, Release 3.5.0

138

Chapter 6. Acknowledgement

APPENDIXA

HPHI/MVMC FOURIER-TRANSFORMATION UTILITY

A.1 Overview
This document is the manual for the utility to perform the Fourier transformation of the correlation function in the site
representation generated by mVMC or ℋΦ.

A.1.1 Prerequisite
The prerequisite of this utility is the same as that of mVMC or ℋΦ.

A.1.2 Supported quantities
This utility supports the Fourier transformation of the following quantities:
One-body correlations⟨ˆ𝑐†k𝛼↑ 𝑐ˆk𝛽↑ ⟩ ≡𝑁R∑︁

𝑒−𝑖k·R ⟨ˆ𝑐†0𝛼↑ 𝑐ˆR𝛽↑ ⟩(1.1)

𝑒−𝑖k·R ⟨ˆ𝑐†0𝛼↓ 𝑐ˆR𝛽↓ ⟩

(1.2)

R

⟨ˆ
𝑐†k𝛼↓ 𝑐ˆk𝛽↓ ⟩ ≡

𝑁R
∑︁
R

Density-density correlation𝑁⟨ˆ𝜌k𝛼 𝜌ˆk𝛽 ⟩ ≡R
1 ∑︁𝑒−𝑖k·R ⟨(ˆ𝜌0𝛼 − ⟨ˆ
𝜌0𝛼 ⟩)(ˆ
𝜌R𝛽 − ⟨ˆ𝜌R𝛽 ⟩)⟩
𝑁R

(1.3)

R

Spin-Spin correlations
𝑁

R
1 ∑︁
𝑧 ˆ𝑧
𝑧 ˆ𝑧
⟨𝑆ˆk𝛼
𝑆k𝛽 ⟩ ≡
𝑒−𝑖k·R ⟨𝑆ˆ0𝛼
𝑆R𝛽 ⟩
𝑁R

(1.3)

R

𝑁

+ ˆ−
⟨𝑆ˆk𝛼
𝑆k𝛽 ⟩ ≡

R
1 ∑︁
+ ˆ−
𝑒−𝑖k·R ⟨𝑆ˆ0𝛼
𝑆R𝛽 ⟩
𝑁R

(1.4)

R

𝑁

⟨Ŝk𝛼 · Ŝk𝛽 ⟩ ≡R
1 ∑︁𝑒−𝑖k·R ⟨Ŝ0𝛼 · ŜR𝛽 ⟩
𝑁R

(1.5)

R

139

HΦ Documentation, Release 3.5.0

A.2 Tutorial
In this tutorial, we explain through a sample calculation of the 8-site Hubbard model on the square lattice.

A.2.1 Run HPhi/vmc.out• For ℋΦWe calculate the ground state and the correlation function with the following input filea0w = 2a0l = 2a1w = -2
a1l = 2model="Hubbard"
method="CG"lattice="square"
t=1.0
U=8.0
nelec = 8
2Sz=0
$ HPhi -s input• For mVMC
First, we optimize the trial wavefunction with the following input
a0w = 2a0l = 2a1w = -2
a1l = 2model="Hubbard"
lattice="square"
t=1.0
U=8.0
nelec = 82Sz=0
$ vmc.out -s input
We add the following line to the input file to compute the correlation function.
NVMCCalMode = 1
Compute the correlation function.
$ vmc.out -s input output/zqp_opt.dat
Then the one- and two-body correlation function are written to files in the output/ directory.
Related files• StdFace.def (See the manuals for mVMC/ℋΦ)140

Appendix A. HPhi/mVMC Fourier-Transformation utility

HΦ Documentation, Release 3.5.0• zqp_opt.dat (See the manual for mVMC)• greenone.def (Specify the index of correlation function to be computed)• greentwo.def (Specify the index of correlation function to be computed)

A.2.2 Fourier transformation of correlation functions
Perform the Fourier transformation of the correlation function by using the utility greenr2k.
$ echo "4 20
G 0 0 0X 0.5 0 0
M 0.5 0.5 0
G 0 0 016 16 1" >> geometry.dat$ greenr2k namelist.def geometry.dat
Then the Fourier-transformed correlation functions are written to a file in output/.
Related files• output/zvo_cisajs_001.dat (Results of correlation function in the site representation)• output/zvo_cisajs.dat (Results of correlation function in the site representation)• output/zvo_cisajscktalt_001.dat (Results of correlation function in the site representation)• output/zvo_cisajscktalt.dat (Results of correlation function in the site representation)• geometry.dat (Geometry)• output/zvo_corr.dat (Correlation functions on the k path)

A.2.3 Display correlation functions
Plot the correlation function in the k space by using gnuplot.
load "kpath.gp"
plot "output/zvo_corr_eigen0.dat" u 1:12 w l
Related files• kpath.gp (gnuplot script)• output/zvo_corr.dat (Correlation functions on the k path)

A.3 File format
A.3.1 Geometry
The file name in the Tutorial is geometry.dat. When we use Standard mode of mVMC/ℋΦ, the information of thecell and geometry is generated automatically.

A.3. File format141

HΦ Documentation, Release 3.5.0

Fig. 1.1: The spin-spin correlation ⟨Sk · Sk ⟩ (Column 12).

142

Appendix A. HPhi/mVMC Fourier-Transformation utility

HΦ Documentation, Release 3.5.0

1.000000000000000e+00
0.000000000000000e+00
0.000000000000000e+00
0.000000000000000e+00
2 2 0
(3)
-2 2 0
(3)
0 0 1
(3)
0 0 0 0(4)
-1 1 0 0(4)
0 1 0 0(4)
1 1 0 0(4)
-1 2 0 0(4)
0 2 0 0(4)
1 2 0 0(4)
0 3 0 0
(4)
4 20
(5)
G 0 0 0(6)
X 0.5 0 0(6)
M 0.5 0.5 0 (6)G 0 0 0(6)
16 16 1(7)0.000000000000000e+00
1.000000000000000e+00
0.000000000000000e+00
0.000000000000000e+00

0.000000000000000e+00 (1)0.000000000000000e+00 (1)1.000000000000000e+00 (1)0.000000000000000e+00 (2)1. The unit lattice vectors. Arbitrary unit (Generated by Standard mode).
2. The phase for the one-body term across boundaries of the simulation cell (degree unit, Generated by Standardmode).
3. Three integer vector specifying the shape of the simulation cell. They are the same as the input parameters a0W,
a0L, a0H, a1W. . . in Standard mode (Generated by standard mode).
4. The index of the lattice vector and the orbital each site (Generated by standard mode).
5. The number of k node (high-symmetry point) and the number of k along high symmetry line.
6. Fractional coordinate of k nodes.
7. The k grid to plot the isosurface of the momentum distribution function.

A.3.2 One- and Two-body correlation function in the site representation
Specify the index of correlation function to be computed
Specify the index of correlation functions computed with mVMC/ℋΦ. When we use the standard mode, this file isgenerated automatically. The general description is written in the manuals for mVMC/ℋΦ. The file names in the
Tutorial are greenone.def (one body) and greentwo.def (two body).
For calculating correlation functions in Supported quantities, indices must be specified as follows:• ⟨ˆ𝑐†k𝛼↑ 𝑐ˆk𝛽↑ ⟩⟨ˆ𝑐†0𝛼↑ 𝑐ˆR𝛽↑ ⟩ with R ranging on the all unit cell, and (𝛼, 𝛽) ranging on the all orbitals in the unit cell.
• ⟨ˆ𝑐†k𝛼↓ 𝑐ˆk𝛽↓ ⟩⟨ˆ𝑐†0𝛼↓ 𝑐ˆR𝛽↓ ⟩ with R ranging on the all unit cell, and (𝛼, 𝛽) ranging on the all orbitals in the unit cell.
𝑧 ˆ𝑧
• ⟨ˆ
𝜌k𝛼 𝜌ˆk𝛽 ⟩ and ⟨𝑆ˆk𝛼
𝑆k𝛽 ⟩A.3. File format

143

HΦ Documentation, Release 3.5.0⟨ˆ𝑐†0𝛼𝜎 𝑐ˆ0𝛼𝜎 𝑐ˆ†R𝛽𝜎′ 𝑐ˆR𝛽𝜎′ ⟩ with R ranging on the all unit cell, (𝛼, 𝛽) ranging on the all orbitals in the unit cell, and(𝜎, 𝜎 ′ ) ranging from ↑ to ↓.
+ ˆ−• ⟨𝑆ˆk𝛼𝑆k𝛽 ⟩ and ⟨Ŝk𝛼 · Ŝk𝛽 ⟩For ℋΦ, ⟨ˆ𝑐†0𝛼𝜎 𝑐ˆ0𝛼−𝜎 𝑐ˆ†R𝛽−𝜎 𝑐ˆR𝛽𝜎 ⟩ with R ranging on the all unit cell, (𝛼, 𝛽) ranging on the all orbitals in theunit cell, and 𝜎 ranging from ↑ to ↓. For mVMC, ⟨ˆ𝑐†0𝛼𝜎 𝑐ˆR𝛽𝜎 𝑐ˆ†R𝛽−𝜎 𝑐ˆ0𝛼−𝜎 ⟩ with R ranging on the all unit cell,(𝛼, 𝛽) ranging on the all orbitals in the unit cell, and 𝜎 ranging from ↑ to ↓. In the both cases, please care theorder of operators.
In the default settings of Standard mode (outputmode="corr"), the above indices are specified automatically. Therefore we do not have to care it.
Results of correlation function in the site representation
The correlation functions having the indices specified in Specify the index of correlation function to be computed
are computed by mVMC/ℋΦ, and written to files. The general description of this file is written in the manuals of
mVMC/ℋΦ. File names in the Tutorial are output/zvo_cisajs_001.dat and output/zvo_cisajscktalt_001.
dat (mVMC), or output/zvo_cisajs.dat and output/zvo_cisajscktalt.dat (ℋΦ).
The utility fourier reads these files before the calculation. If some of the correlation functions with indices written
in Specify the index of correlation function to be computed are lacking (for example, because Standard mode was notused), this utility assume them as 0.

A.3.3 Correlation functions on the k path
This file contains the Fourier-transformed correlation function and generated by the utility fourier. The file name in
the Tutorial is output/zvo_corr.dat.
# k-length[1]# Orbital 1 to Orbital 1# UpUp[2,3] (Re. Im.) DownDown[
4,# Density[
6,7] SzSz[
8,9] S+S-[
0.00000E+00
0.88211E+00-0.50000E-09
0.25000E-01
0.87976E+00-0.46625E-09
0.50000E-01
0.87276E+00-0.42841E-09:

5]10, 11] S.S[
0.88211E+00
0.87976E+00
0.87276E+00

12, 13]0.40000E-09 ...
0.42882E-09 ...
0.45201E-09 ...
:First, the information of the quantities at each column is written, and then the k coordinate along the path and the realand imaginary- part of the correlation function are written.

A.3.4 gnuplot script
This file is generated by greenr2k. This script is used for displaying the k labels in gnuplot. The file name is kpath.gp.
set xtics ('G'
0.00000, 'X'
set ylabel 'Correlation function'
set grid xtics lt 1 lc 01440.50000, 'M'

1.00000, 'G'

1.70711)

Appendix A. HPhi/mVMC Fourier-Transformation utility

HΦ Documentation, Release 3.5.0

A.3.5 FermiSurfer file to display the isosurface of the momentum distribution
This file is generated by greenr2k. The file name in the tutorial is output/zvo_corr_eigen0.dat.frmsf.

A.4 Behavior of greenr2k utility
This utility is used as follows:$ ${PATH}/greenr2k ${NAMELIST} ${GEOMETRY}
where ${PATH} is the path to the directory where the executable fourier exists, ${NAMELIST} is the NameList
input-file name of ℋΦ/mVMC, and ${GEOMETRY} is the path to the Geometry file.
The behavior of this utility is slightly different between the correlation functions from each mode of ℋΦ (Lanczos, TPQ,
Full diagonalization, LOBCG) and mVMC. In the following cases, we assume that CDataFileHead in the ModPara
input file is "zvo" (default).

A.4.1 HPhi-Lanczos
In this case, HPhi writes correlation functions to the files zvo_cisajs.dat (one body) and zvo_cisajscktalt.dat(two body) in output/ directory. fourier utility reads this files, performs the Fourier transformation, and generate
single file zvo_corr.dat in output/ directory.

A.4.2 HPhi-TPQ
HPhi
writescorrelation
functionstofiles
zvo_cisajs_run*step*.dat(onebody),
zvo_cisajscktalt_run*step*.dat (two body) at each trial and TPQ step to the output/ directory. fourier utility reads the one- and the two-body correlation function at each trial/TPQ-step, and performs Fourier transformation,
and write to a file zvo_corr_run*step*.dat in output/ directory.

A.4.3 HPhi-Full diagonalization and LOBCG
HPhi writes correlation functions to files zvo_cisajs_eigen*.dat (one body) and zvo_cisajscktalt_eigen*.
dat (two body) for each wavefunction to the output/ directory. fourier utility reads the one- and the two-bodycorrelation function at each state and performs Fourier transformation, and write to a file zvo_corr_eigen*.dat in
output/.

A.4.4 mVMC
vmc.out performs calculations according to the input parameters NDataIdxStart and NDataQtySmp in ModPara
file, and it generates zvo_cisajs_???.dat (one body) and zvo_cisajscktalt_???.dat (two body) in output/
directory. fourier utility reads all of these files, performs Fourier transformation, computes the average
𝑁Try
1 ∑︁
⟨𝐴⟩ =
𝐴𝑖
𝑁Try 𝑖=1

(1.6)

⎯
⎸
Try
⎸ 1 𝑁∑︁1⎷
𝛿𝐴 =(𝐴𝑖 − ⟨𝐴⟩)2
𝑁Try − 1 𝑁Try 𝑖=1(1.6)

and the standard error

A.4. Behavior of greenr2k utility

145

HΦ Documentation, Release 3.5.0

of the real- and imaginary-part of each correlation function, and writes them to a file zvo_corr_eigen*.dat in
output/ directory.

A.5 Contact
If you have any comments, questions, bug reports etc. about this utility, please contact to the main developer (Mitsuaki
Kawamura) by sending the e-mail (the address is shown below).
mkawamura_at_issp.u-tokyo.ac.jp
Please change _at_ into @, when you will send the e-mail.

146

Appendix A. HPhi/mVMC Fourier-Transformation utility

APPENDIXB

DOWNFOLDING WITH WANNIER FUNCTIONS

B.1 Overview
In this document, we introduce how we compute downfolded models with mVMC or ℋΦ in conjunction to RESPACK.
In RESPACK, the screened direct integrals 𝑈𝑚𝑛 (R, 𝜔) and the screened exchanged integrals 𝐽𝑚𝑛 (R, 𝜔) are given as
follows:∫︁∫︁**
𝑈𝑚𝑛 (R, 𝜔) =𝑑r
𝑑r′ 𝑤𝑚0(r)𝑤𝑚0 (r)𝑊 (r, r′ , 𝜔)𝑤𝑛R(r′ )𝑤𝑛R (r′ ),
∫︁𝑉
∫︁𝑉
*
*
𝐽𝑚𝑛 (R, 𝜔) =𝑑r
𝑑r′ 𝑤𝑚0(r)𝑤𝑛R (r)𝑊 (r, r′ , 𝜔)𝑤𝑛R(r′ )𝑤𝑚0 (r′ ).
𝑉𝑉

Here, 𝑉 is the volume of the crystal, 𝑤𝑖R (r) is the 𝑖 -th wannier function at R -th cell, 𝑊 (r, r′ , 𝜔) is the screened
Coulomb interactions, respectively. In the following, the components at 𝜔 = 0 are only considered. Then, the Hamiltonian of the two-body interactions are given as follows:ℋint =

1 ∑︁ ∑︁ ∑︁[︁𝑈𝑚𝑛 (R𝑖𝑗 )𝑐†𝑖𝑚,𝜎 𝑐†𝑗𝑛,𝜌 𝑐𝑗𝑛,𝜌 𝑐𝑖𝑚,𝜎2 𝜎𝜌 𝑖𝑗 𝑛𝑚]︁+ 𝐽𝑚𝑛 (R𝑖𝑗 )(𝑐†𝑖𝑚,𝜎 𝑐†𝑗𝑛,𝜌 𝑐𝑖𝑚,𝜌 𝑐𝑗𝑛,𝜎 + 𝑐†𝑖𝑚,𝜎 𝑐†𝑖𝑚,𝜌 𝑐𝑗𝑛,𝜌 𝑐𝑗𝑛,𝜎 ) ,where R𝑖𝑗 ≡ R𝑖 − R𝑗 . Since mVMC and ℋΦ cannot directly treat the following type of interactions 𝑐†𝑖,𝜎 𝑐†𝑗,𝜌 𝑐𝑘,𝜌′ 𝑐𝑙,𝜎′, the Hamiltonian must be rewritten as follows:∑︁∑︁ℋint =
𝑈𝑚𝑚 (0)𝑛𝑖𝑚,↑ 𝑛𝑖𝑚,↓ +𝑈𝑚𝑛 (R𝑖𝑗 )𝑛𝑖𝑚 𝑛𝑗𝑛
𝑖,𝑚

−

∑︁

(𝑖,𝑚)<(𝑗,𝑛)

𝐽𝑚𝑛 (R𝑖𝑗 )(𝑛𝑖𝑚,↑ 𝑛𝑗𝑛,↑ + 𝑛𝑖𝑚,↓ 𝑛𝑗𝑛,↓ )(𝑖,𝑚)<(𝑗,𝑛)+∑︁

𝐽𝑚𝑛 (R𝑖𝑗 )(𝑐†𝑖𝑚,↑ 𝑐†𝑗𝑛,↓ 𝑐𝑖𝑚,↓ 𝑐𝑗𝑛,↑ + h.c.)(𝑖,𝑚)<(𝑗,𝑛)+∑︁

𝐽𝑚𝑛 (R𝑖𝑗 )(𝑐†𝑖𝑚,↑ 𝑐†𝑖𝑚,↓ 𝑐𝑗𝑛,↓ 𝑐𝑗𝑛,↑ + h.c.).

(𝑖,𝑚)<(𝑗,𝑛)The lattice model is defined by the following Hamiltonian:
∑︁ [︀
]︀ †
ℋ=
𝑡𝑚𝑛 (R𝑖𝑗 ) − 𝑡DC
𝑚𝑛 (R𝑖𝑗 ) 𝑐𝑖𝑚𝜎 𝑐𝑗𝑛𝜎 + ℋ𝑖𝑛𝑡 ,𝑚,𝑛,𝑖,𝑗,𝜎

(2.1)

147

HΦ Documentation, Release 3.5.0

where 𝑡DC
𝑚𝑛 (R𝑖𝑗 ) is the one-body correction term given as:∑︁𝑡DC
𝑚𝑚 (0) ≡ 𝛼𝑈𝑚𝑚 (0)𝐷𝑚𝑚 (0) +𝑈𝑚𝑛 (R)𝐷𝑛𝑛 (0)(R,𝑛)̸=(0,𝑚)− (1 − 𝛼)∑︁𝐽𝑚𝑛 (R)𝐷𝑛𝑛 (R),(R,𝑛)̸=(0,0)

1𝑡DC
𝑚𝑛 (R𝑖𝑗 ) ≡ 𝐽𝑚𝑛 (R𝑖𝑗 ) (𝐷𝑛𝑚 (R𝑗𝑖 ) + 2Re[𝐷𝑛𝑚 (R𝑗𝑖 )])2
1− 𝑈𝑚𝑛 (R𝑖𝑗 )𝐷𝑛𝑚 (R𝑗𝑖 ),2⟩∑︁ ⟨ †
𝐷𝑚𝑛 (R𝑖𝑗 ) ≡𝑐𝑖𝑚𝜎 𝑐𝑗𝑛𝜎
,
𝜎

(2.2)

(R𝑖𝑗 , 𝑚) ̸= (0, 𝑛),KS

DCHere, 𝑡DC
𝑚𝑚 (0) is the term to correct the chemical potntial, 𝑡𝑚𝑛 (R𝑖𝑗 ) is term to correct transfer integrals . These terms
are introduced to avoid double counting in analyzing the lattice model. To adopt theses corrections or not can be selectedby the option doublecounting in the input file. The strength of 𝑈𝑅𝑖𝑗 and 𝐽𝑅𝑖𝑗 can be controled by multiplying tuning
parameters 𝜆𝑈 , 𝜆𝐽 . For details, see Input parameters for Standard mode.

B.1.1 Prerequisite
We compute the Kohn-Sham orbitals with QuantumESPRESSO or xTAPP, and obtain the Wannier function, the dielectric function, the effective interaction with RESPACK, and simulate quantum lattice models with mVMC or ℋΦ.
Therefore, these programs must be available in our machine.

B.2 Tutorial
In this tutorial, we downfold Sr2 CuO3 into single orbital 1D Hubbard model, and simulate that model with
HPhi/mVMC. We use QuantumESPRESSO for the DFT calculation. Input files are served in samples/Wannier/
Sr2CuO3 directory.
In actual studies, the input files etc. of each solver should be modified for more high accuracy calculation. Please referto the manuals of each solver for the details of the input files.

B.2.1 SCF calculation of charge density
First, we perform the SCF calculation of the charge density. The input file is as follows:
scf.in&CONTROL
calculation = 'scf'
pseudo_dir = '../pseudo'prefix = 'sr2cuo3'/&SYSTEMibrav = 0nat = 6
ntyp = 3
ecutwfc = 30.000000
ecutrho = 240.000000(continues on next page)

148

Appendix B. Downfolding with Wannier functions

HΦ Documentation, Release 3.5.0(continued from previous page)

occupations = 'tetrahedra_opt'/&ELECTRONS
mixing_beta = 0.3/
CELL_PARAMETERS angstrom-1.749305 1.955690 6.351200
1.749305 -1.955690 6.351200
1.749305 1.955690 -6.351200
ATOMIC_SPECIES
Sr 87.620000 Sr_ONCV_PBE-1.0.upf
Cu 63.546000 Cu_ONCV_PBE-1.0.upf
O 15.999400 O_ONCV_PBE-1.0.upf
ATOMIC_POSITIONS crystal
Sr 0.851940 0.351940 0.500000
Sr 0.148060 0.648060 0.500000
Cu 0.500000 0.000000 0.500000
O 0.654110 0.154110 0.500000
O 0.345890 0.845890 0.500000
O 0.000000 0.000000 0.000000
K_POINTS automatic
4 4 4 0 0 0
The pseudopotential (UPF file) are downloaded from The SG15 Optimized Norm-Conserving Vanderbilt (ONCV)
pseudopotentials. Put the pseudopotential files into ../pseudo directory.
http://www.quantum-simulation.org/potentials/sg15_oncv/sg15_oncv_upf_2015-10-07.tar.gz
We use the program pw.x in QuantumESPRESSO as follows.
$ pw.x -in scf.in

B.2.2 (Optional) Band structure
band.in&CONTROL
calculation = 'bands'
pseudo_dir = '../pseudo'prefix = 'sr2cuo3'/&SYSTEMibrav = 0nat = 6
ntyp = 3
ecutwfc = 30.000000
ecutrho = 240.000000
nbnd = 35/&ELECTRONS/CELL_PARAMETERS angstrom(continues on next page)B.2. Tutorial149

HΦ Documentation, Release 3.5.0(continued from previous page)-1.749305 1.955690 6.351200
1.749305 -1.955690 6.351200
1.749305 1.955690 -6.351200
ATOMIC_SPECIES
Sr 87.620000 Sr_ONCV_PBE-1.0.upf
Cu 63.546000 Cu_ONCV_PBE-1.0.upf
O 15.999400 O_ONCV_PBE-1.0.upf
ATOMIC_POSITIONS crystal
Sr 0.851940 0.351940 0.500000
Sr 0.148060 0.648060 0.500000
Cu 0.500000 0.000000 0.500000
O 0.654110 0.154110 0.500000
O 0.345890 0.845890 0.500000
O 0.000000 0.000000 0.000000
K_POINTS crystal
50
0.5000000000
0.5000000000
0.4994075000
0.5005925000
0.4988150000
0.5011850000
0.4982225000
0.5017775000
0.4976300000
0.5023700000
0.4970375000
0.5029625000
0.4964450000
0.5035550000
0.4958525000
0.5041475000
0.4952600000
0.5047400000
0.5337666667
0.4662333333
0.5722733333
0.4277266667
0.6107800000
0.3892200000
0.6492866667
0.3507133333
0.6877933333
0.3122066667
0.7263000000
0.2737000000
0.6810400000
0.3189600000
0.6357800000
0.3642200000
0.5905200000
0.4094800000
0.5452600000
0.4547400000
0.5000000000
0.5000000000
0.3333333333
0.3333333333
0.1666666667
0.1666666667
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0426700000-0.0426700000
0.0811750000-0.0811750000
0.1196800000-0.1196800000
0.1581850000-0.1581850000
0.1966900000-0.1966900000-0.5000000000-0.4428337500-0.3856675000-0.3285012500-0.2713350000-0.2141687500-0.1570025000-0.0998362500-0.0426700000-0.0811750000-0.1196800000-0.1581850000-0.1966900000-0.2351950000-0.2737000000-0.3189600000-0.3642200000-0.4094800000-0.4547400000-0.5000000000-0.3333333333-0.1666666667
0.0000000000
0.0625000000
0.1250000000
0.1875000000
0.2500000000
0.3125000000
0.3750000000
0.4375000000
0.5000000000
0.5047400000
0.4662333333
0.4277266667
0.3892200000
0.3507133333

1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
(continues on next page)

150

Appendix B. Downfolding with Wannier functions

HΦ Documentation, Release 3.5.0(continued from previous page)0.2351950000
0.2737000000
0.2280833333
0.1824666667
0.1368500000
0.0912333333
0.0456166667
0.0000000000
0.0833333333
0.1666666667
0.2500000000
0.3333333333
0.4166666667
0.5000000000-0.2351950000-0.2737000000-0.2280833333-0.1824666667-0.1368500000-0.0912333333-0.0456166667
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000

0.3122066667
0.2737000000
0.2280833333
0.1824666667
0.1368500000
0.0912333333
0.0456166667
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000-0.0000000000

1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0

We use pw.x.
$ pw.x -in band.inbands.in&BANDS
prefix = 'sr2cuo3'
lsym = .false.
/
We use bands.x QuantumESPRESSO.
$ bands.x -in bands.in
We can plot the band structure by reading output bands.out.gnu from GnuPlot etc.

B.2.3 Kohn-Sham orbitals for Wannier
nscf.in&CONTROL
calculation = 'nscf'
pseudo_dir = '../pseudo'
wf_collect = .true.
prefix = 'sr2cuo3'/&SYSTEMibrav = 0nat = 6
ntyp = 3
ecutwfc = 30.000000
ecutrho = 240.000000
occupations = 'tetrahedra_opt'
nbnd = 35/&ELECTRONS(continues on next page)B.2. Tutorial151

HΦ Documentation, Release 3.5.0(continued from previous page)/
CELL_PARAMETERS angstrom-1.749305 1.955690 6.351200
1.749305 -1.955690 6.351200
1.749305 1.955690 -6.351200
ATOMIC_SPECIES
Sr 87.620000 Sr_ONCV_PBE-1.0.upf
Cu 63.546000 Cu_ONCV_PBE-1.0.upf
O 15.999400 O_ONCV_PBE-1.0.upf
ATOMIC_POSITIONS crystal
Sr 0.851940 0.351940 0.500000
Sr 0.148060 0.648060 0.500000
Cu 0.500000 0.000000 0.500000
O 0.654110 0.154110 0.500000
O 0.345890 0.845890 0.500000
O 0.000000 0.000000 0.000000
K_POINTS automatic
4 4 4 0 0 0
We use pw.x as$ pw.x -in nscf.in
Then, we use the utility qe2respack.py which is included in the RESPACK package. The command-line argument
is the name of [prefix].save directory.
$ qe2respack.py sr2cuo3.save

B.2.4 Wannier function, dielectric function, effective interaction
respack.in&PARAM_CHIQW
Num_freq_grid = 1!Ecut_for_eps =flg_cRPA = 1/&PARAM_WANNIER
N_wannier = 1
Lower_energy_window = 8
Upper_energy_window = 13
N_initial_guess = 1/
dx2 0.2 0.500000 0.000000 0.50000 0.0 0.0 1.0&PARAM_INTERPOLATION
N_sym_points = 10
!dense = 20, 24, 28/
0.50000 0.50000 -0.50000
0.49526 0.50474 -0.04267
0.72630 0.27370 -0.27370

0.0 1.0 0.0 1.0 0.0 0.0(continues on next page)152

Appendix B. Downfolding with Wannier functions

HΦ Documentation, Release 3.5.0(continued from previous page)

0.50000 0.50000 -0.50000
0.00000 0.00000 0.00000
0.00000 0.00000 0.50000
0.04267 -0.04267 0.50474
0.27370 -0.27370 0.27370
0.00000 0.00000 0.00000
0.50000 0.00000 0.00000&PARAM_VISUALIZATION
flg_vis_wannier = 1,
ix_vis_min = -1,
ix_vis_max = 2,
iy_vis_min = -1,
iy_vis_max = 1,
iz_vis_min = -1,
iz_vis_max = 2/&PARAM_CALC_INT
calc_ifreq = 1
ix_intJ_min = -1
ix_intJ_max = 1
iy_intJ_min = -1
iy_intJ_max = 1
iz_intJ_min = -1
iz_intJ_max = 1/
We use calc_wannier, calc_chiqw, calc_j3d, calc_w3d in RESPACK.
$ calc_wannier < respack.in$ calc_chiqw < respack.in$ calc_w3d < respack.in$ calc_j3d < respack.in
After finishing calculations, the files are outputted in dir-model folder. The format of these files is Wannier90 format
and the data such as the hopping integrals are written. (If you use the old version of RESPACK (20190226), the folder
name is dir-mvmc .)B.2.5 Quantum lattice mode for HPhi/mVMC
Using standard mode of HPhi/mVMC, the calculation will be done by reading the files in dir-model folder. First, thefiles in dir-model directory should be moved to the current directry. Then, the calculation will be started by using
standard mode. For example, in HPhi, the calculation will be dobe by typing the following command:stan.inmodel = "Hubbard"
lattice = "wannier90"
a0w = 8a0l = 0a0h = 8a1w = 0a1l = 1
(continues on next page)B.2. Tutorial153

HΦ Documentation, Release 3.5.0(continued from previous page)

a1h = 0a2w = 1a2l = 0a2h = 0method = "TPQ"
nelec = 8exct = 1
cutoff_t = 0.5
cutoff_u = 1.0
cutoff_j = 0.02
$ cp ./dir-model/* .
$ HPhi -s stan.in

B.3 Input parameters for Standard mode
We show the following example of the input file.
stan.inmodel = "Hubbard"
lattice = "wannier90"
a0w = 2a0l = 0a0h = 2a1w = 0a1l = 2a1h = 2a2w = 1a2l = 0a2h = 0method = "CG"2Sz = 0nelec = 4exct = 1
cutoff_t = 0.2
cutoff_u = 0.4
cutoff_j = 0.1
The input parameters for the Standard mode to perform calculation of the downfolded model are as follows:• lattice– lattice = "wannier90"• Parameters related to the lattice– W, L, Height
Type : int
Description : The alignment of original unit cells is specified.
– a0W, a0L, a0H, a1W, a1L, a1H, a2W, a2L, a2H

154

Appendix B. Downfolding with Wannier functions

HΦ Documentation, Release 3.5.0

Type : int
Description : Three vectors (⃗𝑎0 , ⃗𝑎1 , ⃗𝑎2 ) that specify the lattice . These vectors should be written in the
Fractional coordinates of the original transrational vectors.
– Wsub, Lsub, Hsub
Type : int (positive). In the default setting, Wsub=W, Lsub=L, Hsub=Height . Namely, there is no sublattice.
Description : They are available only in mVMC. By using these parameters, we can force the pair-orbital
symmetrical to the translation of the sublattice. If the sublattice is incommensurate with the original lattice,
vmcdry.out stops.
– a0Wsub, a0Lsub, a0Hsub, a1Wsub, a1Lsub, a1Hsub, a2Wsub, a2Lsub, a2Hsub
Type : int (positive). In the default setting, a0Wsub=a0W, a0Lsub=a0L, a0Hsub=a0H, a1Wsub=a1W,
a1Lsub=a1L, a1Hsub=a1H, a2Wsub=a2W, a2Lsub=a2L, a2Hsub=a2H. Namely, there is no sublattice.
Description : The manner to set these aparameters is same as that for a0W, a0L, a0H, a1W, a1L, a1H, a2W,
a2L, a2H. If the sublattice is incommensurate with the original lattice, vmcdry.out stops.
• Parameters related to interactions– lambda_u
Type : float (greater than or equal to 0)
Default : 1.0
Description : A parameter to tune the strength of Coulomb interactions by multiplying :math:lambda_u by them.
– lambda_j
Type : float (greater than or equal to 0)
Default : 1.0
Description : A parameter to tune the strength of exchange Coulomb interactions by multiplying:math: lambda_j by them.
– lambda
Type : float (greater than or equal to 0)
Default : 1.0
Description : A parameter to tune the strength of Coulomb and exchange interactions by multiplying :math: lambda by them. When 𝜆𝑈 , 𝜆𝐽 are specified, these settings are used.
– cutoff_t, cutoff_u, cutoff_j
Type : float
Default : 1.0e-8
Description : The cutoff parameters for the hopping, Coulomb, exchange integrals. We ignore these integrals smaller than cutoff values.
– cutoff_tW, cutoff_tL, cutoff_tH– cutoff_UW, cutoff_UL, cutoff_UH– cutoff_JW, cutoff_JL, cutoff_JH
Type :

B.3. Input parameters for Standard mode155

HΦ Documentation, Release 3.5.0

Default : cutoff_tW = int((W-1)/2), cutoff_tL=int((L-1)/2), cutoff_tH=int((Height-1)/2) (when W , L and Height are not defined, the values are set to 0) and others are set to 0.
Description : The cutoff parameters for the hopping, Coulomb, exchange integrals. We ignore these integrals that have lattice vector R larger than these values.
– cutoff_length_t, cutoff_length_U, cutoff_length_J
Type : float
Default : cutoff_length_t = -1.0 (include all terms), others are set to 0.3.
Description
The cutoff parameters for the hopping, Coulomb, exchange integrals. We ignore these integrals whose
distances are longer than these values. The distances are computed from the position of the Wannier centerand unit lattice vectors.
• Parameters for one body correction
To avoid double countings in analyzing the lattice model, one body correction is done by subtracting the following
terms from one body terms:𝑡DC
𝑚𝑚 (0) ≡ 𝛼𝑈𝑚𝑚 (0)𝐷𝑚𝑚 (0) +∑︁

𝑈𝑚𝑛 (R)𝐷𝑛𝑛 (0)(R,𝑛)̸=(0,𝑚)− (1 − 𝛼)∑︁𝐽𝑚𝑛 (R)𝐷𝑛𝑛 (R),(R,𝑛)̸=(0,0)

1
𝐽𝑚𝑛 (R𝑖𝑗 ) (𝐷𝑛𝑚 (R𝑗𝑖 ) + 2Re[𝐷𝑛𝑚 (R𝑗𝑖 )])2
1− 𝑈𝑚𝑛 (R𝑖𝑗 )𝐷𝑛𝑚 (R𝑗𝑖 ), (R𝑖𝑗 , 𝑚) ̸= (0, 𝑛),2⟩∑︁ ⟨ †
𝐷𝑚𝑛 (R𝑖𝑗 ) ≡𝑐𝑖𝑚𝜎 𝑐𝑗𝑛𝜎,𝑡DC
𝑚𝑛 (R𝑖𝑗 ) ≡

𝜎

(2.3)

KS

where, the first and second terms correspond to the Hartree and Fock corrections, respectively. 𝛼 is a tuning
parameter for one body correction from the on-site Coulomb interactions.
– doublecounting
Type : charDefault : none
Description :none: One body correction is not considered. Hartree_U: Hartree correction only considered the contribution from Coulomb interactions 𝑈𝑅𝑖𝑖 . Hartree: Hartree correction.
full: One body correction including Fock correction. Charge densities 𝐷𝑅𝑖𝑗 are obtained by[CDataFileHead]_dr.dat which is automatically outputted by RESPACK. It is noted that the
charge densities are assumed not to depend on spin components.
– alphaType : float
Default : 0.5
Description :A tuning parameter for one body correction from the on-site Coulomb interactions (0 ≤ 𝛼 ≤ 1).

156

Appendix B. Downfolding with Wannier functions

HΦ Documentation, Release 3.5.0

B.4 File format
Standard mode of HPhi/mVMC reads the following files. We can obtain these files by executing RESPACK. The files
are outputted in the dir-model directory.

B.4.1 Geometry
The file name is [CDataFileHead]_geom.dat. By editing this file, we can modify the number of orbitals treated in
HPhi/mVMC.
-1.917800 1.917800 6.280100
1.917800 -1.917800 6.280100
1.917800 1.917800 -6.280100
30.000000 -0.000000 -0.000000-0.000000 -0.000000 -0.000000
0.000000 0.000000 0.000000• Lines 1 - 3
Unit lattice vectors in the Cartesian coordinate (arbitrary unit).
• Line 4
The number of orbitals par unit cell treated by mVMC/HPhi. When we reduce the number by editing this file,the model including the same number of orbitals from the top.
• Line 5 - end
Wannier centers in the fractional coordinate. They are used by the Fourier utility. The order in which wannierfunctions are defined corresponds to the index of wannier functions in the following four files.

B.4.2 Hopping, Coulomb, exchange integrals, charge densities
The file names are [CDataFileHead]_hr.dat, [CDataFileHead]_ur.dat, , [CDataFileHead]_jr.dat and[CDataFileHead]_dr.dat, respectively. They are formatted as the hopping-integral file of Wannier90 is used. See
details in the 8.19 seedname_hr.dat in the user_guide for wannier90.
wannier90 format for mvmcdry
8
343
1
1
1
1
1
1
1
1
...
-3
-3
-3
1
1
0.0004104251
-3
-3
-3
1
2
0.0001515941
-3
-3
-3
1
3 -0.0001515941

1

1

1

1

1

-0.0000000000-0.0000000006
0.0000000002• Line 1
File Header• Line 2
Total number of wannier functions.

B.4. File format

157

HΦ Documentation, Release 3.5.0• Line 3
Total number of super cells nrpts .
• Line 4- Line 5 + int(nrpts/15)
The degeneracy at each super cell (basically, the number is set as 1).
• Line 6 + int(nrpts/15) 1-3rd columns: The supercell lattice vectors.
4-th column: The index of wannier functions at the original cell.
5-th column: The index of wannier functions at the supercell.
6(7)-th column: The real (imaginary) value.

B.5 Contact
If you have any comments, questions, bug reports etc. about this utility, please contact to the main developer (Mitsuaki
Kawamura) by sending the e-mail (the address is shown below).
mkawamura_at_issp.u-tokyo.ac.jp
Please change _at_ into @, when you will send the e-mail.

158

Appendix B. Downfolding with Wannier functions