Git Product home page Git Product logo

issp-center-dev / hphi Goto Github PK

View Code? Open in Web Editor NEW
81.0 24.0 24.0 382.66 MB

Quantum Lattice Model Simulator Package

Home Page: https://www.pasums.issp.u-tokyo.ac.jp/hphi/en/

License: GNU General Public License v3.0

C 9.27% CMake 0.13% Shell 89.79% Fortran 0.43% Python 0.38%
hubbard lanczos quantum-lattice-models heisenberg-model kondo conjugate-gradient exact-diagonalization greens-functions

hphi's People

Contributors

k-ido avatar k-yoshimi avatar masakiyama avatar mitsuaki1987 avatar smorita avatar tmisawa avatar ultimatile avatar wistaria avatar ykonishi avatar yomichi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hphi's Issues

1体グリーン関数の出力形式がマニュアルと違う

1体グリーン関数の計算結果 cisajs.dat の出力形式がマニュアルと異なっている

マニュアル(とグリーン関数の定義ファイル)では [site1] [spin1] [site2] [spin2] という順番だが、
出力の方は [site1] [site2] [spin1] [spin2] となっている

33サイト三角格子スピン模型のLOBCG計算が途中で止まる

StdFace.defが以下のような

a0L=-1
a0W=5
a1L=7
a1W=-2
model="Spin"
method="CG"
lattice="Triangular Lattice"
J=1.0
2Sz=1.0

で計算を行うとイテレーションの0stepが終わるか終わらないかくらいで

MPT ERROR: MPI_COMM_WORLD rank 0 has terminated without calling MPI_Finalize()
        aborting job
MPT: Received signal 9

というエラーメッセージが出て計算が途中で終了しました.
上記のエラーメッセージはsekireiのものですが,自分の所属する研究室の計算機でも同様でした.
また他のサイト数,N=9,12,15,18,21,24,30,36では正しく動作しました.

HPhi メーリングリストとの連携につきまして

HΦメーリス メンバーの皆様

河村です。
先ほど誤ってGitHubからのメールを流してしまいました。
申し訳ありません。

このように、GitHubの掲示板に書き込みがあった時にHPhi MLに内容が転送されるようにしました(MateriAppsフォーラムでやっていたものと同様です)。

スピン系の一体グリーン関数がおかしい

反強磁性ハイゼンベルグスピン系のグランドカノニカル計算をランチョス法で行うと、基底状態のエネルギーは良さそう(カノニカル計算によるものと同じ)なのですが、一体のグリーン関数(=局所磁化)を見ると全てのサイトで<nup> = 1 、つまり強磁性状態になってしまっています。

--- a/samples/Expert/Spin/HeisenbergChain/calcmod.def
+++ b/samples/Expert/Spin/HeisenbergChain/calcmod.def
@@ -3,5 +3,5 @@
 #CalcModel = 0:Hubbard, 1:Spin, 2:Kondo, 3:HubbardGC, 4:SpinGC, 5:KondoGC
 CalcType   0
 FlgFiniteTemperature   1
-CalcModel   1
+CalcModel   4
 OutputMode   1
$ cat zvo_energy.dat                                                           (git)-[master] -?
Energy  -7.1422963606
Doublon  0.0000000000
$ cat zvo_cisajs.dat                                                           (git)-[master] -?
    0    0    0    0 1.0000000000 0.0000000000
    0    0    1    1 0.0000000000 0.0000000000
    1    1    0    0 1.0000000000 0.0000000000
    1    1    1    1 0.0000000000 0.0000000000
    2    2    0    0 1.0000000000 0.0000000000
    2    2    1    1 0.0000000000 0.0000000000
    3    3    0    0 1.0000000000 0.0000000000
    3    3    1    1 0.0000000000 0.0000000000
    4    4    0    0 1.0000000000 0.0000000000
    4    4    1    1 0.0000000000 0.0000000000
    5    5    0    0 1.0000000000 0.0000000000
    5    5    1    1 0.0000000000 0.0000000000
    6    6    0    0 1.0000000000 0.0000000000
    6    6    1    1 0.0000000000 0.0000000000
    7    7    0    0 1.0000000000 0.0000000000
    7    7    1    1 0.0000000000 0.0000000000
    8    8    0    0 1.0000000000 0.0000000000
    8    8    1    1 0.0000000000 0.0000000000
    9    9    0    0 1.0000000000 0.0000000000
    9    9    1    1 0.0000000000 0.0000000000
   10   10    0    0 1.0000000000 0.0000000000
   10   10    1    1 0.0000000000 0.0000000000
   11   11    0    0 1.0000000000 0.0000000000
   11   11    1    1 0.0000000000 0.0000000000
   12   12    0    0 1.0000000000 0.0000000000
   12   12    1    1 0.0000000000 0.0000000000
   13   13    0    0 1.0000000000 0.0000000000
   13   13    1    1 0.0000000000 0.0000000000
   14   14    0    0 1.0000000000 0.0000000000
   14   14    1    1 0.0000000000 0.0000000000
   15   15    0    0 1.0000000000 0.0000000000
   15   15    1    1 0.0000000000 0.0000000000

Can Single particle Green's function be obtained exactly in Full Diagonalization?

As asked in the title. Basically, I am following the "User Guide HΦ Version 2.0.4" (EN). I feel a little confused about getting G. I found more than one file which related to G like, OneBodyG(maybe this is the one I need) and SpectrumVec. And I found more than one output file: DynamicalGreen and cisajs. I wonder what is the mechanics to get G by using this package and how to code the setting file?
(Only consider Full Diagonalization)

Single particle dynamical Green Function

Good evening,
In the user guide there are hints to compute the dynamical GF in the following cases: S+S - , Sz-Sz, n_q n_q , c*_q c_q (both up and down).

How about the single particle case?
In the Lehmann representation of that GF you get something like <0|c*|n><n|c|0> at the numerator. How may I compute those two quantities?

R.

canonical TPQについて

お世話になっております.
HΦのmTPQのデータからcTPQの物理量を計算する際にk=0,すなわち初期ベクトルで計算した物理量が必要になるのですが,出力できるようにしていただけないでしょうか?

Correlation Functions

Hi everyone!
I want to compute that correlation function:

C(r) = 1/N sum_i <k_i k_i+r> - <k_i>^2 (1)

where r specifies a site of the chain. Thanks to the translational invariance of my system I can neglect the sum and just compute one of its terms at fixed i. Let's say that i=1 and that my system is a linear chain of fermions at half filling with hopping terms, staggered potential, nearest neighbour repulsion and next nearest neighbour repulsion only on the even sites:

H = Δ/2 Σ_ j (-1)^j c*_ j c_ j - t Σ_ j (c*_ j+1 c_ j + H.c) + Vpd Σ_ j n_ j n_ j+1 + Vpp Σ_ j n_ j n_ j+2

So, given that

k_i = C*_i+1 C_i + H.c

it results:
k_1 k_1+r = C*_1 C_2 C*_1 +r C_2+r + C*_1 C_2 C*_2+r C_1+r + C*_2 C_1 C*_1+r C_2+r + C*_2 C_1 C*_2+r C_1+r

k_1 = C*_1 C_2 + C*_2 C_1

So, for example, if L=6 the file GREENTWO.DEF is

=============================================
NCisAjsCktAltDC 24

======== Green functions for Sq AND Nq ======

1     0     2     0     1     0     2     0
1     0     2     0     2     0     1     0
2     0     1     0     1     0     2     0
2     0     1     0     2     0     1     0
1     0     2     0     2     0     3     0
1     0     2     0     3     0     2     0
2     0     1     0     2     0     3     0
2     0     1     0     3     0     2     0
1     0     2     0     3     0     4     0
1     0     2     0     4     0     3     0
2     0     1     0     3     0     4     0
2     0     1     0     4     0     3     0
1     0     2     0     4     0     5     0
1     0     2     0     5     0     4     0
2     0     1     0     4     0     5     0
2     0     1     0     5     0     4     0
1     0     2     0     5     0     0     0
1     0     2     0     0     0     5     0
2     0     1     0     5     0     0     0
2     0     1     0     0     0     5     0
1     0     2     0     0     0     1     0
1     0     2     0     1     0     0     0
2     0     1     0     0     0     1     0
2     0     1     0     1     0     0     0

While the file GREENONE.DEF is:

===============================
NCisAjs 2

======== Green functions ======

1     0     2     0
2     0     1     0

Next i run Hphi after modyfing appropriately the Coulombinter.def and the trans.def files, applying some maths with python to the output I should obtain what in Eq.(1) at fixed i.

Does it exist a more direct way to compute correlation function with Hphi without writing a bash code to manipulate the .def file in question?

励起状態の固有ベクトル出力

method = "CG"
exct = 12
EigenVecIO = "Out"

としても、基底状態の固有ベクトルしか書き出されません。
他に入力パラメータが見当たらなかったのですが、LOBCG で求めた複数の固有状態のベクトルを得るにはどうすればよいですか?

HPhi-2.0.4でN=36の対角化の計算が止まる.

いつもお世話になっております.
先日の2.0.4の更新で2.0.3までで走っていた計算が
###### LARGE ALLOCATE FINISH ! ######
の手前でエラーで止まるようになりました.

配列外参照系統のエラーのようですが原因がわからず困っています.
お手数おかけいたしますがよろしくお願いいたします.

以下のようなStdFace.def

L=6
W=6
model="Spin"
method="Lanczos"
lattice="triangular Lattice"
J=1.0
2Sz=0
exct=1
InitialVecType="R"
EigenVecIO="Out"
Restart="Save"
Lanczos_max=10
LanczosTarget=1

および上記StdFace.defに準ずるエキスパートモード用の入力ファイルで行った
serkirei上でのHPhiのプリント文とエラーメッセージを添付しております.
output_std.txt
error_std.txt
output_exp.txt
error_exp.txt

SpinGC + FullDiag の出力ファイルがおかしい

SpinGC + FullDiag において、 output/zvo_phys.dat に各準位の物理量が出力されますが、
そのうち Sz の列がすべて同じ値になっています。
おそらく最上位準位でのSz の値をすべてに書き込んでいるかと思われます。

入力

model = "SpinGC"
lattice = "chain lattice"
method = "FullDiag"
2S = 1
L = 2
J = 0.5

出力(output/zvo_phys.dat)

  <H>         <N>        <Sz>       <S2>       <D> 
  -0.750000   2.000000   1.000000  -0.000000   0.000000
   0.250000   2.000000   1.000000   2.000000   0.000000
   0.250000   2.000000   1.000000   2.000000   0.000000
   0.250000   2.000000   1.000000   2.000000   0.000000

Standard mode with magnetic field for all models?

Hi,

I wonder why in standard mode one can only use a magnetic field for the spin model. Some time ago I already asked if it would be possible to include a magnetic field in the Hubbard model and Mitsuaki Kawamura kindly gave me a patch for StdFace. This patch worked well in v2.0.0 but in v3.0.0 it does not work anymore. Would it not be useful to give the user the possibility to include a magnetic field in all models of the standard mode?

Anyways your program is a great tool and I thank you for sharing it with the world!

Best regards,
Tobias.

スピン系で全対角化がセグメンテーション違反する

スピン系の計算で Exchange をつかって非対角項を記述して全対角化計算を行うとセグメンテーション違反で落ちる。

  • InterAll ですべて記述した場合は問題なく計算が実行される。
  • Lanczos 法および TPQ 法では、pure InterAll による計算結果と InterALL + Exchange とによる計算結果は一致する(二体グリーン関数)

入力ファイルをtar でかためたものをdropbox においておきます。
https://dl.dropboxusercontent.com/u/61544927/HPhi-example-XXX-chain.tar.gz

$ HPhi -e namelist.def                                                         (git)-[master] -?
Start: Read File 'namelist.def'.
End: Read File 'namelist.def'.
Read File 'calcmod.def' for CalcMod.
Read File 'modpara.def' for ModPara.
Read File 'zlocspn.def' for LocSpin.
Read File 'zTrans.def' for Trans.
Read File 'zExchange.def' for Exchange.
Read File 'zInterAll.def' for InterAll.
Read File 'greenone.def' for OneBodyG.
Read File 'greentwo.def' for TwoBodyG.
Definition files are correct.
Read File 'zlocspn.def'.
Nsite= 8.
Read File 'zTrans.def'.
Read File 'zExchange.def'.
Read File 'zInterAll.def'.
Read File 'greenone.def'.
Read File 'greentwo.def'.
comb_sum= 70
MAX DIMENSION idim_max=70
APPROXIMATE REQUIRED MEMORY  max_mem=0.000007 GB
sdim=16 =2^4
Indices and Parameters of Definition files(*.def) are complete.
LARGE ALLOCATE FINISH !
EDTrans EDNTransfer=0
EDTrans EDNChemi=0
Start: Calc Sz.
idim=256.000000 irght=15 ilft=240 ihfbit=16
num_threads==4
Check.sdim=16, ihfbit=16
ib=0, num_up_rgh=4, jb=1
ib=1, num_up_rgh=3, jb=5
ib=2, num_up_rgh=3, jb=9
ib=3, num_up_rgh=2, jb=15
ib=4, num_up_rgh=3, jb=19
ib=5, num_up_rgh=2, jb=25
ib=6, num_up_rgh=2, jb=31
ib=7, num_up_rgh=1, jb=35
ib=8, num_up_rgh=3, jb=39
ib=9, num_up_rgh=2, jb=45
ib=10, num_up_rgh=2, jb=51
ib=11, num_up_rgh=1, jb=55
ib=12, num_up_rgh=2, jb=61
ib=13, num_up_rgh=1, jb=65
ib=14, num_up_rgh=1, jb=69
ib=15, num_up_rgh=0, jb=70
Xicnt=70
End  : Calc Sz.
Start: calc diagaonal components of Hamiltonian.
End  : calc diagaonal components of Hamiltonian.
Start Setting Hamiltonian.
zsh: segmentation fault  HPhi -e namelist.def

spinless hamiltonian (zero hopping)

Good evening, this one is the spinless hamiltonian I would like to run on HPhi

H = Δ Σ_ j (-1)^j n_j + V Σ_ j n_ j n_ j+1

with Δ = 1 and V = 1. Here is a sketch of the excitations of the system.
eccitazioni

In the case L=6 nelec = 3 I'm expecting two kinds of excitations:
the first one with energy E = 2Δ + 2V, the second one with energy E= 2Δ + V.
So in the spectrum there would be two peaks, the first at E = 4 and the second E = 3 with double spectral weight respect to the first. I insert the staggered potential trought the trans.def file like this:

`

NTransfer 48

========i_j_s_tijs======

1     0     0     0         0.000000000000000         0.000000000000000
0     0     1     0         0.000000000000000        -0.000000000000000
1     1     0     1         0.000000000000000         0.000000000000000
0     1     1     1         0.000000000000000        -0.000000000000000
2     0     1     0         0.000000000000000         0.000000000000000
1     0     2     0         0.000000000000000        -0.000000000000000
2     1     1     1         0.000000000000000         0.000000000000000
1     1     2     1         0.000000000000000        -0.000000000000000
3     0     2     0         0.000000000000000         0.000000000000000
2     0     3     0         0.000000000000000        -0.000000000000000
3     1     2     1         0.000000000000000         0.000000000000000
2     1     3     1         0.000000000000000        -0.000000000000000
4     0     3     0         0.000000000000000         0.000000000000000
3     0     4     0         0.000000000000000        -0.000000000000000
4     1     3     1         0.000000000000000         0.000000000000000
3     1     4     1         0.000000000000000        -0.000000000000000
5     0     4     0         0.000000000000000         0.000000000000000
4     0     5     0         0.000000000000000        -0.000000000000000
5     1     4     1         0.000000000000000         0.000000000000000
4     1     5     1         0.000000000000000        -0.000000000000000
0     0     5     0         0.000000000000000         0.000000000000000
5     0     0     0         0.000000000000000        -0.000000000000000
0     1     5     1         0.000000000000000         0.000000000000000
5     1     0     1         0.000000000000000        -0.000000000000000
0     0     0     0         1.000000000000000         0.000000000000000
0     1     0     0         1.000000000000000         0.000000000000000
0     0     0     1         1.000000000000000         0.000000000000000
0     1     0     1         1.000000000000000         0.000000000000000
1     0     1     0        -1.000000000000000         0.000000000000000
1     1     1     0        -1.000000000000000         0.000000000000000
1     0     1     1        -1.000000000000000         0.000000000000000
1     1     1     1        -1.000000000000000         0.000000000000000
2     0     2     0         1.000000000000000         0.000000000000000
2     1     2     0         1.000000000000000         0.000000000000000
2     0     2     1         1.000000000000000         0.000000000000000
2     1     2     1         1.000000000000000         0.000000000000000
3     0     3     0        -1.000000000000000         0.000000000000000
3     1     3     0        -1.000000000000000         0.000000000000000
3     0     3     1        -1.000000000000000         0.000000000000000
3     1     3     1        -1.000000000000000         0.000000000000000
4     0     4     0         1.000000000000000         0.000000000000000
4     1     4     0         1.000000000000000         0.000000000000000
4     0     4     1         1.000000000000000         0.000000000000000
4     1     4     1         1.000000000000000         0.000000000000000
5     0     5     0        -1.000000000000000         0.000000000000000
5     1     5     0        -1.000000000000000         0.000000000000000
5     0     5     1        -1.000000000000000         0.000000000000000
5     1     5     1        -1.000000000000000         0.000000000000000`

and I calculate the density-density dynamical GF using that BASH code:

#!/bin/bash
export LC_NUMERIC="en_US.UTF-8"

Q_start=0
Q_end=0.5
Dq=0.01

mkdir GF
for q in seq $Q_start $Dq $Q_end
do
cat scenario_gf.in | sed 's/SpectrumQL = .*/SpectrumQL = '$q'/g' > scenario_$q.in
echo "Running scenario $q..."
HPhi -sdry scenario_$q.in > tmp
rm trans.def
cp Delta1/trans.def trans.def

HPhi -e namelist.def
cp output/zvo_DynamicalGreen.dat GF/dyn_gf_$q.dat
done

given that the output of the calculation is that spectrum

t 0_v 1_delta 1

(it is in logartimic scale + an ε to avoid any divergence)

If you look at q=π (0.5 in fractional coordinates) and q=0 there are no excitations apart from the "elastic" terms of the GF at ω = 0. Are there any errors among my inputs or am I misunderstanding something in the calculation of the GF with HPhi?

Thanks a lot.
R.

possible bug in readdef.c

In readef.c (940th line),
LanczosTarget is checked by the following function:

ValidateValue(X->LanczosTarget, X->k_exct, X->Lanczos_max)

This means that
LanczosTarget <= k_exc &&
LanczosTarget >= Lanczos_max.
But, the second condition is wrong
because LanczosTarget has no relation with Lanczos_max.

HΦ v3.1.0 make test error

下記のように、HΦ v3.1.0 をビルドした後、
make test をすると下記のようなエラーが出ます。
原因はわかりますでしょうか?

  1. コンパイラ
    Intel 2017.4.196
    または
    Intel 2018.1.163
    を使用
    (いずれを使用してもエラーが出ます)

mkdir build; cd buildののち
2. cmakeのオプション
cmake .. -DCONFIG=intel -DUSE_SCALAPACK=ON(ScaLAPACK使用時)
または
cmake .. -DCONFIG=intel (ScaLAPACK非使用時)
を使用
(いずれの場合もエラーが出ます)
3. make
4. make test MPIRUN="mpiexec -np 4" などとして並列テストを実行
 47ケースが実行され、そのうち5ケースがエラー終了が表示されます。

(略)
42/47 Test #42: te_pulse_hubbard_square ..............***Failed 7.71 sec
Start 43: te_quench_hubbard_square
(略)
44/47 Test #44: te_hubbard_chain_interall ............***Failed 0.53 sec
Start 45: te_hubbard_chain_interall_diagonal
45/47 Test #45: te_hubbard_chain_interall_diagonal ...***Failed 0.52 sec
Start 46: te_spin_chain_interall
46/47 Test #46: te_spin_chain_interall ...............***Failed 0.52 sec
Start 47: te_kondo_chain_interall
47/47 Test #47: te_kondo_chain_interall ..............***Failed 0.52 sec

spinless fermions

Good evening to everyone,
I'm a student in theoretical physics at La Sapienza university in Rome and I'm currently trying to run some simulations on hubbard models. My questions are:

  1. How can i run a simulation of a non interacting hubbard hamiltonian for a system of SPINLESS fermions? which variables do i have to specify in the input file in standard mode?

  2. I would like to simulate a 1D L=10 chain of a non interacting hubbard model with one eigenstate per site and 5 fermions (half filling). Is it correct to specify nelec=1 and ncond=5?

  3. Next I would like to compare the analytical results of my calculation of the two-body green function with the one of the program. In the former case the lindhard formula gives me a superposition of delta function for the imaginary part of the two-body green function but when I plot the GF I'm expecting to see two symmetrical peak as compared to the origin. I think i'm doing something wrong

Those are my input files for the standard mode

scenario.in ---> input file
L = 10
model = "Fermion Hubbard"
method = "Lanczos"
lattice = "Chain Lattice"

U = 0
mu = 0
t = 1
V = 0
nelec = 1
Ncond = 5
2Sz = 0

EigenvecIO = "out"

scenario_gf.in ---> input file for the calculation of the 2-body GF
L = 10
model = "Fermion Hubbard"
method = "Lanczos"

lattice = "Chain Lattice"

CalcSpec = "Normal"
SpectrumType = "Density"

SpectrumQW = 0
SpectrumQL = 0.628

OmegaIM = -0.1
NOmega = 1000

U = 0
mu = 0
t = 1
V = 0
nelec = 1
Ncond = 5
2Sz = 0

#I put SpectrumQL = 0.628 because i want to check the 2-body GF for that value of k (k=1) in fractional coordinates. In the non interacting hubbard model the energy is proportional to cos(2 pi n /L) = cos( pi n /5) (L=10)

Thanks for the attention.

奇数サイト三角格子スピン模型のMPI並列がおかしい

S=1/2三角格子スピン模型で奇数サイトのときにMPI並列で計算した一体・二体グリーン函数,固有ベクトルがMPI並列しなかったときのものと一致しません.
例えばスタンダードモードでStdFace.def

W=3
L=3
model="Spin"
method="Lanczos"
lattice="triangular Lattice"
J=1.0
2Sz=1.0

のときの一体グリーン函数が,MPI並列しないときは

0    0    0    0 0.6661710531 -0.0000000000
0    1    0    1 0.3338289469 -0.0000000000
1    0    1    0 0.3220770936 -0.0000000000
1    1    1    1 0.6779229064 -0.0000000000
2    0    2    0 0.3450851866 -0.0000000000
2    1    2    1 0.6549148134 -0.0000000000
3    0    3    0 0.3450851866 -0.0000000000
3    1    3    1 0.6549148134 -0.0000000000
4    0    4    0 0.6661710531 -0.0000000000
4    1    4    1 0.3338289469 -0.0000000000
5    0    5    0 0.3220770936 -0.0000000000
5    1    5    1 0.6779229064 -0.0000000000
6    0    6    0 0.3220770936 -0.0000000000
6    1    6    1 0.6779229064 -0.0000000000
7    0    7    0 0.3450851866 -0.0000000000
7    1    7    1 0.6549148134 -0.0000000000
8    0    8    0 0.6661710531 -0.0000000000
8    1    8    1 0.3338289469 -0.0000000000

で,MPI並列(4並列)した場合は

0    0    0    0 0.6407998595 -0.0000000000
0    1    0    1 0.3592001405 0.0000000000
1    0    1    0 0.4316476921 -0.0000000000
1    1    1    1 0.5683523079 0.0000000000
2    0    2    0 0.2608857817 0.0000000000
2    1    2    1 0.7391142183 0.0000000000
3    0    3    0 0.2608857817 0.0000000000
3    1    3    1 0.7391142183 -0.0000000000
4    0    4    0 0.6407998595 0.0000000000
4    1    4    1 0.3592001405 0.0000000000
5    0    5    0 0.4316476921 -0.0000000000
5    1    5    1 0.5683523079 0.0000000000
6    0    6    0 0.4316476921 0.0000000000
6    1    6    1 0.5683523079 0.0000000000
7    0    7    0 0.2608857817 -0.0000000000
7    1    7    1 0.7391142183 0.0000000000
8    0    8    0 0.6407998595 0.0000000000
8    1    8    1 0.3592001405 -0.0000000000

となりました.

Possible mistakes in the userguide

Hi,

in section 4.3.16, page 104 of the userguide you say, that inv_tmp is 1/kB*T. Probably you work in atomic units so kB=1. It would maybe good, if that is stated somewhere (maybe I overlooked it?) to avoid confusion.

On the same page you say, that phys_doublon is the double occupations per lattice site. I think that this is acutally not true because in this case, if there is one orbital per lattice site, it would count pyhs_doublon <= 1 but in the example shown on that exact page one can see, that phys_doublon can have larger values than 1.

Best regards,
Tobias.

Szを指定したTPQ計算について

いつもお世話になっております.
model="Spin"でのTPQ計算の物理量が正しく計算されていないように見えるのですが確認していただけないでしょうか.

StdFace.defの例(Sz=2)

a0W=4
a0L=1
a1W=-2
a1L=4
model="Spin"
method="TPQ"
lattice="triangular Lattice"
J=1.0
2Sz=4
InitialVecType="R"
Lanczos_max=10
LargeValue=2
NumAve=1

出力例としてはFlct_rand0.dat

# inv_temp, N, N^2, D, D^2, Sz, Sz^2, step_i
0.0055537298224793 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.0000000000000000 0.0000000000000000 1
0.0111059427906962 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.0000000000000000 0.0000000000000000 2
0.0166566471027138 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.0000000000000000 0.0000000000000000 3
0.0222058510680096 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.0000000000000000 0.0000000000000000 4
0.0277535631060710 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.0000000000000000 0.0000000000000000 5

のようになります.

A freshman problem, and do not clear the meaning of LocalSpin file

Dear all,
I am new to learn Hphi. After finish reading the document, I want to try an easy test, basically a Hubbard(4sites with t and U only). I get error info"Definition files(*.def) are incomplete." but no details about what is wrong. I feel that I have a wrong setting of LocalSpin file since I do not understand it well. To understand that, is that anyone who can give me an example of the local spin file about this system? By the way, here I upload my setting files.

HPHI_test.zip

debugメッセージ

Lanczos法で計算時、debugメッセージが計算終了時に表示される。

dstev for Lanczos

Dear HPhi developers,

in the manual I read, that HPhi uses the LAPACK routine dsyev for the diagonalization of the tridiagonal matrix in the Lanczos mode. I wonder if the routine dstev which is designed especially for tridiagonal matrices could eventually speed up the process a little bit?

Kind regards.

対角化のリスタートについて2

お世話になっております.
36サイトスピン系のLanczos法の計算をリスタートモードを使いながら計算するとLanczos_EigenValue.cあたりで計算が止まってしまいます.StdFace.defは以下の通りで

a0W=2
a0L=2
a1W=-4
a1L=2
model="Spin"
method="Lanczos"
lattice="Kagome"
J=1.0
2Sz=0
LanczosTarget=1
Lanczos_max=20
//Restart="Restart_out"
Restart="Restart_in"

出力は
N36e.txt
N36o.txt
です.何回か収束までリスタートモードを繰り返した後のものです.
(実際はエキスパートモードでJ3項も入れた計算なので収束ステップ数は変わると思われます.)

確認のため12サイトでも同様の計算を行ってみたのですがエラーメッセージが変わりました.

a0W=2
a0L=0
a1W=0
a1L=2
model="Spin"
method="Lanczos"
lattice="Kagome"
J=1.0
2Sz=0
LanczosTarget=1
Lanczos_max=50
//Restart="Restart_out"
Restart="Restart_in"

N12e.txt
N12o.txt

ご確認よろしくお願いいたします.

Particle number in GC calculations

It seems, that in v2.0 the particle number is not correctly computed (or written) in GC full diagonalisazions. For example in the case of the Fermion Hubbard-Model using the following input file for the Hubbard-dimer

model = "Fermion HubbardGC"
method = "fulldiag"
lattice = "Chain Lattice"
L = 2
U = 4
t = 1

running
HPhi -s input
produces the following phys.dat file

  <H>         <N>        <Sz>       <S2>       <D> 
  -2.472136   4.000000   0.000000   0.000000   0.276393
  -2.000000   4.000000   0.500000   0.750000   0.000000
  -2.000000   4.000000  -0.500000   0.750000   0.000000
   0.000000   4.000000   0.000000   2.000000   0.000000
   0.000000   4.000000  -1.000000   2.000000   0.000000
   0.000000   4.000000   1.000000   2.000000   0.000000
   0.000000   4.000000   0.000000   0.000000   0.000000
   2.000000   4.000000   0.500000   0.750000   1.000000
   2.000000   4.000000   0.500000   0.750000   0.000000
   2.000000   4.000000  -0.500000   0.750000   0.000000
   2.000000   4.000000  -0.500000   0.750000   1.000000
   4.000000   4.000000   0.000000   0.000000   1.000000
   6.000000   4.000000   0.500000   0.750000   1.000000
   6.000000   4.000000  -0.500000   0.750000   1.000000
   6.472136   4.000000   0.000000   0.000000   0.723607
   8.000000   4.000000   0.000000   0.000000   2.000000

which indicates, that each eigenstate has a total of 4 electrons.

Nevertheless, from the one-particle Greens Function of each state the correct particle number can be easily obtained, but fixing this issue would be very nice.

Staggered Potential

Good Evening to everyone.
This is the SPINLESS Hamiltonian that I would like to simulate:

H = Δ Σ_ j (-1)^j c*_ j c_ j - t Σ_ j (c*_ j+1 c_ j + H.c) + V Σ_ j n_ j n_ j+1

where * means dagger. As you can see the first term is equivalent to a staggered potential that lifts or lowers the energy of site j depending on its value (odd or even). In expert mode it is possible to modify the trans.def file which contains the value of the transfer integrals. Is it possible to integrate in that file the value Δ for i = j sites o does it exist a better choice?

Thanks for the attention

Riccardo Piombo.

固有ベクトルの出力について

マニュアルで固有ベクトルの出力形式が、
一行目のint01の形式がint型を
なっていますが、long int 型の間違いでしょうか?

また、また int02 と double01
の間に128bitの余計なものが入っていますが、
これはなんでしょうか?

ご回答をよろしくお願いいたします。

Parallel Computing

Hi Evreyone

My PC has 4 four CPU cores. How can I run HPhi only on one of them and letting the other three to do other tasks with HPhi?

Thanks a lot

Riccardo.

Jordan- Wigner transformation betwenn Hubbard and Heisenberg model

Good evening to everyone,

I would like to study the hamiltonian

H = -t Σ_i (c*_i+1 c_i + c_i+1 c*_i) + V n_i n_i+1 (1)

with μ = 0, U = 0, t=1, V=6t = 6. If one performs an inverse Jordan-Wigner transformation

c c* -----> S_z + 1/2 c* ----> S^+ (S plus) c ----> S^- (S minus)

on that hamiltonian he obtains:

H = -t Σ_i (S^+_i+1 S^-_i + S^-_i+1 S^+_i) + V Σ_i (Sz_i + 1/2)(Sz_i+1 + 1/2)

which is equal to an Heisenberg hamiltonian

H = - 2t Σ_i (Sx_i+1 Sx_i + Sy_i+1 Sy_i) + V Σ_i (S^z_i S^z_i+1) + V Σ_i S^z_i + N V/4 (2)

So if I would like to run a simulation for the haniltonian (1) transformed as in (2) i should obtain the same spectrum right? Here is my input file

_L = 16
model = "Spin"
method = "Lanczos"
lattice = "Chain Lattice"

Jxy = -2
Jz = 6
D = 0
Gamma = 0
h = -6
2Sz = 0

EigenvecIO = "out"_

But it's easy to see from the fourth column of that output that it is not converging and it doesn't stops until the 2000 steps. Where did i go wrong?

Start: Calculate Lanczos Eigenvalue.

initial_mode=1 (random): iv = -1 i_max=12870 k_exct =1

LanczosStep E[1] E[2] E[3] E[4] Target:E[3] E_Max/Nsite
stp = 2 -7.9808429687 4.6741758885 xxxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx
stp = 3 -12.4019474881 -1.6839927937 8.9433409528 0.0000000000 8.9433409528 0.5589588096
stp = 4 -15.7615453140 -6.2089506354 3.0245864383 12.3790318691 3.0245864383 0.7736894918
stp = 5 -18.3086371649 -9.7258185532 -1.5162910768 6.7329166999 -1.5162910768 0.9580039426
stp = 6 -20.2421208670 -12.6704358652 -5.2721651249 2.1512808366 -5.2721651249 1.0979430477
stp = 7 -21.9524224301 -15.3557910086 -8.4584130434 -1.5885425445 -8.4584130434 1.2015909834
stp = 8 -23.7634256271 -17.7862109096 -11.3355652131 -5.0804685918 -11.3355652131 1.2723573822
stp = 9 -24.7686683717 -18.8880781923 -12.7435490483 -6.7364605208 -12.7435490483 1.3607289690
stp = 10 -25.0450750760 -19.2811552987 -13.5766882350 -8.3928801975 -13.5766882350 1.4555434733
stp = 11 -25.1958920617 -19.7510690980 -15.6989201216 -11.5703379665 -15.6989201216 1.5730806323
stp = 12 -25.3053661689 -20.7708313951 -17.9975624357 -12.6938518311 -17.9975624357 1.6889916083
stp = 13 -25.4609569962 -22.7724984588 -18.9806634973 -13.6784050705 -18.9806634973 1.7895874005
stp = 14 -25.8740722070 -24.3853970741 -19.4145195587 -15.3505756466 -19.4145195587 1.8828783134
stp = 15 -26.5885400538 -24.9137215461 -19.7867241198 -16.9764538411 -19.7867241198 1.9734500457
stp = 16 -27.1618978398 -25.0756250829 -20.3712289989 -18.2253652947 -20.3712289989 2.0631135383
stp = 17 -27.6117124215 -25.1768229675 -21.5790081296 -19.0417689722 -21.5790081296 2.1519086513
stp = 18 -28.1811700672 -25.3528094735 -23.5681201956 -19.5709379899 -23.5681201956 2.2490487474
stp = 19 -29.1328341525 -26.0102372775 -24.8016692680 -20.0525511632 -24.8016692680 2.3527859660
stp = 20 -30.1587295998 -26.6679331346 -25.0211266499 -20.6431741451 -25.0211266499 2.4624910254
stp = 21 -31.1030192615 -27.1269898125 -25.1249716231 -21.8323571658 -25.1249716231 2.5803920595
stp = 22 -32.3286762082 -27.7844689590 -25.3656357565 -24.0929633419 -25.3656357565 2.7012236049
stp = 23 -33.9959443149 -28.8366802054 -26.1695313402 -24.9183905246 -26.1695313402 2.8459443206
stp = 24 -35.6004039694 -29.7532743319 -26.7035733116 -25.0510839526 -26.7035733116 2.9899985155
stp = 25 -37.6057223425 -30.9077365750 -27.3370351511 -25.2326389395 -27.3370351511 3.1612309900
stp = 26 -39.8314856082 -32.3106446048 -28.2584699752 -25.8977358694 -28.2584699752 3.3313882051
stp = 27 -42.2126054857 -33.8749419850 -29.2657420475 -26.5582756268 -29.2657420475 3.5101714732
stp = 28 -44.6537501086 -35.5939641363 -30.3449153023 -27.1733175593 -30.3449153023 3.6888868065
stp = 29 -47.3018126935 -37.6622102148 -31.7405998788 -28.1182865767 -31.7405998788 3.8714657765
stp = 30 -50.0347692214 -39.8710366677 -33.2510800243 -29.1280250849 -33.2510800243 4.0596080313
stp = 31 -52.7520274837 -42.1137754212 -34.8761655811 -30.2099883967 -34.8761655811 4.2438192642
stp = 32 -55.6412763339 -44.6125209560 -36.8906279135 -31.6455160776 -36.8906279135 4.4359527541
stp = 33 -58.4333392825 -47.0698028934 -38.9264088801 -33.0758369379 -38.9264088801 4.6224131963
stp = 34 -61.3829884112 -49.7301920955 -41.1908579214 -34.7800123660 -41.1908579214 4.8185286222
stp = 35 -64.3882428892 -52.4324394999 -43.5302140623 -36.6908050930 -43.5302140623 5.0161151058
stp = 36 -67.5173690336 -55.1851529177 -45.9544110920 -38.7399513936 -45.9544110920 5.2234141043
stp = 37 -70.7679128368 -57.9948908190 -48.5044930135 -40.9557641850 -48.5044930135 5.4358649657
stp = 38 -74.1261335522 -60.8642120045 -51.1363463522 -43.2566750072 -51.1363463522 5.6553739459
stp = 39 -77.5563100477 -63.7995661041 -53.8110245613 -45.6311040350 -53.8110245613 5.8789729951
stp = 40 -81.0942009529 -66.8677230241 -56.5695226539 -48.1472336908 -56.5695226539 6.1075881770
stp = 41 -84.7044635675 -70.0265059005 -59.3549080598 -50.7129449766 -59.3549080598 6.3415891388
stp = 42 -88.4336253887 -73.3072416679 -62.2306363681 -53.3682726348 -62.2306363681 6.5811720723
stp = 43 -92.3249321532 -76.7122570670 -65.2214082677 -56.0931868555 -65.2214082677 6.8312137346
stp = 44 -96.3386784402 -80.1746722352 -68.2835319867 -58.8358861838 -68.2835319867 7.0880229177
stp = 45 -100.5982028092 -83.8039459043 -71.5283877366 -61.7229226174 -71.5283877366 7.3595125739
stp = 46 -104.9568015149 -87.4670102537 -74.8029311137 -64.6234574212 -74.8029311137 7.6371428318
stp = 47 -109.5668012649 -91.3415213013 -78.2634526736 -67.7194775974 -78.2634526736 7.9295674552
stp = 48 -114.2436834561 -95.2822569248 -81.7407349065 -70.8458387697 -81.7407349065 8.2263725584
stp = 49 -119.1249081835 -99.4500778589 -85.3891542196 -74.1507988014 -85.3891542196 8.5355572132
stp = 50 -124.0678696101 -103.7192551889 -89.0949050737 -77.4991714009 -89.0949050737 8.8485898635
stp = 51 -129.1747380475 -108.1866255556 -92.9732852111 -80.9853452392 -92.9732852111 9.1721233194
stp = 52 -134.3708614325 -112.7660138225 -96.9661588580 -84.5417580465 -96.9661588580 9.5009280721
stp = 53 -139.7229008008 -117.5018420153 -101.1319163060 -88.2263453357 -101.1319163060 9.8400876228
stp = 54 -145.2034293214 -122.3495821444 -105.4365679194 -92.0234788100 -105.4365679194 10.1868537136
stp = 55 -150.8554329176 -127.3343966718 -109.8989835473 -95.9685369074 -109.8989835473 10.5449597554
stp = 56 -156.6647379282 -132.4355764064 -114.4901276736 -100.0525831066 -114.4901276736 10.9125669703
stp = 57 -162.6656124655 -137.6835176345 -119.2246411666 -104.2973603276 -119.2246411666 11.2925718885
stp = 58 -168.8327024808 -143.0585582258 -124.0707008343 -108.6732972968 -124.0707008343 11.6828385100
stp = 59 -175.2039634272 -148.6050925835 -129.0617698253 -113.2065044030 -129.0617698253 12.0860298062
stp = 60 -181.7341423522 -154.2888030520 -134.1586125825 -117.8476928273 -134.1586125825 12.4992227544
stp = 61 -188.4717750149 -160.1665317840 -139.4172408293 -122.6419116813 -139.4172408293 12.9253242992
stp = 62 -195.3544117711 -166.1846905912 -144.7879640813 -127.5296363816 -144.7879640813 13.3606754229
stp = 63 -202.4421851909 -172.4082055897 -150.3414810441 -132.5760757698 -150.3414810441 13.8086527372
stp = 64 -209.6626576779 -178.7684679865 -156.0167557280 -137.7177692314 -156.0167557280 14.2651348719
stp = 65 -217.0848469493 -185.3349953097 -161.8895209390 -143.0322330495 -161.8895209390 14.7339763975
stp = 66 -224.6330897027 -192.0316842318 -167.8895697152 -148.4535149211 -167.8895697152 15.2108607856
stp = 67 -232.3817613414 -198.9305410563 -174.0920644419 -154.0620142767 -174.0920644419 15.7000338586
stp = 68 -240.2560649158 -205.9540432429 -180.4217871527 -159.7885216456 -180.4217871527 16.1971400920
stp = 69 -248.3333714062 -213.1758774965 -186.9523112199 -165.7108472777 -186.9523112199 16.7067411176
stp = 70 -256.5408301029 -220.5198633680 -193.6068926986 -171.7562634566 -193.6068926986 17.2244670266
stp = 71 -264.9582622089 -228.0618481915 -200.4591979780 -177.9998479069 -200.4591979780 17.7551804850
stp = 72 -273.5134323665 -235.7267014170 -207.4320848882 -184.3656690329 -207.4320848882 18.2944131336
stp = 73 -282.2896397300 -243.5940110121 -214.6020825203 -190.9292682640 -214.6020825203 18.8473776931
stp = 74 -291.2124363566 -251.5874078280 -221.8904832991 -197.6111720801 -221.8904832991 19.4093541461
stp = 75 -300.3706052788 -259.7924702662 -229.3796920480 -204.4915028636 -229.3796920480 19.9859986123
stp = 76 -309.6840387122 -268.1283725054 -236.9868960134 -211.4857701876 -236.9868960134 20.5721575051
stp = 77 -319.2493891756 -276.6891100866 -244.8031932028 -218.6823860032 -244.8031932028 21.1740434664
stp = 78 -328.9775074614 -285.3860552448 -252.7386877470 -225.9896396219 -252.7386877470 21.7858918672
stp = 79 -338.9752237104 -294.3238306716 -260.8955276454 -233.5070965446 -260.8955276454 22.4145837628
stp = 80 -349.1414814031 -303.4030464710 -269.1739506005 -241.1335171397 -269.1739506005 23.0535931769
stp = 81 -359.5952275970 -312.7407107232 -277.6889074008 -248.9815923152 -277.6889074008 23.7105654284
stp = 82 -370.2213819978 -322.2243725370 -286.3285156152 -256.9385746286 -286.3285156152 24.3781024422
stp = 83 -381.1524281669 -331.9846386121 -295.2216438433 -265.1314411660 -295.2216438433 25.0646848838
stp = 84 -392.2579584743 -341.8944636046 -304.2426962606 -273.4344830740 -304.2426962606 25.7619751873
stp = 85 -403.6848461390 -352.0987240893 -313.5349863739 -281.9894390705 -313.5349863739 26.4793319891
stp = 86 -415.2868122487 -362.4549982375 -322.9582830432 -290.6567470737 -322.9582830432 27.2074518618
stp = 87 -427.2254308600 -373.1226174469 -332.6703804852 -299.5928410266 -332.6703804852 27.9565857046
stp = 88 -439.3386469982 -383.9436640506 -342.5161059054 -308.6439355232 -342.5161059054 28.7164728413
stp = 89 -451.8025736143 -395.0917012083 -352.6673887222 -317.9806951362 -352.6673887222 29.4982451671
stp = 90 -464.4399662341 -406.3937301798 -362.9543312260 -327.4351941925 -362.9543312260 30.2907206640
stp = 91 -477.4409336009 -418.0369990110 -373.5623729958 -337.1915936255 -373.5623729958 31.1058797579
stp = 92 -490.6139723378 -429.8342359058 -384.3075203217 -347.0682859045 -384.3075203217 31.9316744454
stp = 93 -504.1623613980 -441.9855849175 -395.3879030008 -357.2620275867 -395.3879030008 32.7808850579
stp = 94 -517.8814829953 -454.2905690293 -406.6063571177 -367.5782814882 -406.6063571177 33.6406653419
stp = 95 -531.9867718920 -466.9612726185 -418.1727549450 -378.2254078308 -418.1727549450 34.5245357630
stp = 96 -546.2617489705 -479.7852270198 -429.8778768625 -388.9969032745 -429.8778768625 35.4189260976
stp = 97 -560.9328829348 -492.9854004600 -441.9423148609 -400.1116995189 -441.9423148609 36.3380305360
stp = 98 -575.7731158978 -506.3386023260 -454.1460040587 -411.3524227782 -454.1460040587 37.2676312372
stp = 99 -591.0187867606 -520.0775826317 -466.7192002504 -422.9475372742 -466.7192002504 38.2225268147
stp = 100 -606.4335156920 -533.9696896255 -479.4322266408 -434.6699563679 -479.4322266408 39.1879270380
stp = 101 -622.2623554711 -548.2563511473 -492.5239469443 -446.7566534862 -492.5239469443 40.1791656449
stp = 102 -638.2607999694 -562.6966629107 -505.7562759954 -458.9719912654 -505.7562759954 41.1809520056

[tips] slow and non-monotinic convergence of LOBCG

When the target state for the convergence check has (pseudo-)degeneracy,
convergence of LOBCG may becomes slow or shows oscillation of the norm of the residual vector.
If you include every (pseudo-)degenerated states in your target space for the eigenvalues (and eigenvectors), you may obtain better convergence.

Using existing eigenvector as an initial vector?

Dear HPhi Team,

I wonder if it is possible to use an existing eigenvector as an initial vector
for the Lanczos calculation? I am doing a self-consistent calculation (similar
to DMFT) for which the Hamiltonian between the previous and the current
iteration does not change abruptly. It would be ideal to use the converged
Lanczos vector in the previous iteration as an input for the ED calculation
in the current iteration.

Thank you very much in advance!
Best regards,
Tsung-Han

対角化のリスタートについて

CalcType   0
CalcModel   1
ReStart   2
CalcSpec   0
CalcEigenVec   0
InitialVecType   1
InputEigenVec   0
OutputEigenVec   1

のようなCalcMod.def(一回目はRestart 1)で計算を行っています.
Restart 1のときは6時間走ったのですが,Restart 2にすると計算が6分程度で止まってしまいます.
これは仕様でしょうか.
また計算を中断するタイミングを設定することは出来ないのでしょうか.

また上記設定で出力されるリスタートに用いる固有ベクトルの名前がzvo_recalcvec_rank_0.datになっているのですが,何か設定を間違えているのでしょうか.(zvo_TimeKeeper.datを見る限り,計算そのものは動作している様に見えます.)

最初の一歩がわからない

ビルドの方法は普通のテキストファイルで書いてあった方がいいような気がします。
トップディレクトリに README.md とかを置くのが良いのでは?

SpinGC + Lanczos で高磁場領域を計算すると full polarized 状態が2つ出てくる

ログを貼っておきます。
nvec = exct = 2 の結果をみるに同じものが出てきているようです。

cat StdFace.def

model = "SpinGC"
lattice = "chain lattice"
method = "Lanczos"
2S = 1
L = 12
J = 1.0
h = 10.0

tail output/zvo_Lanczos_Step.dat

stp=70 -57.0000000000 -56.7152746641 -48.9999999974 -48.8660254024
stp=72 -57.0000000000 -56.9874204411 -48.9999999997 -48.8660254036
stp=74 -57.0000000000 -56.9996295330 -49.0000000000 -48.8660254038
stp=76 -57.0000000000 -56.9999915087 -49.0000000000 -48.8660254038
stp=78 -57.0000000000 -56.9999996591 -49.0000000000 -48.8660254038
stp=80 -57.0000000000 -56.9999999885 -49.0000000000 -48.8660254038
stp=82 -57.0000000000 -56.9999999998 -49.0000000000 -48.8660254038
stp=84 -57.0000000000 -57.0000000000 -49.0000000000 -48.8660254038
stp=86 -57.0000000000 -57.0000000000 -49.0000000000 -48.8660254038
stp=88 -57.0000000000 -57.0000000000 -49.0000000000 -48.8660254038

Lanczos における再計算モード

ReStart を用いることで再計算ができるようですが、実際に使ってみても何も起きません。
マニュアルの4.3.23 には Lanczos 法のときに生成されるファイル名が書いてあるのですが、そのファイルが出てきません。
TPQ のときは問題なく動作します。

スピン S=1 量子系での境界条件

スピン S=1 量子系で,ひねり境界条件を HPhi で扱おうとしています.
ところがマニュアルに目を通した範囲では,
S=1/2 で電子系の形に焼き直して局所的に結合定数を変更する形(エキスパートモードでInterAll 指定ファイル)は載っていますが,
S=1 でのやり方が分かりません.

3種類のフェルミオンを使えばよいようですが,マニュアルでは電子系でスピンアップやダウンの2種類(S=1/2)
しか扱えないようによめます.

どのようにすれば良いかアドバイスをいただければ幸いです.

How can I obtain the eigenvectors for HPhi?

Hi,
I am a new user of HPhi package and want to get the information of ground state and the first excited wave functions. Based on the manual, I perform Spin model calculation and set EigenvecIO = "out". zvo_eigenvec_$$rank$$.dat will be produced in output folder . I have written codes to deal with the zvo_eigenvec_$$rank$$.dat, but real part or imaginary of the wavefunctions are huge numbers (see below)
================================================================73197855944786749000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000.000000,-352122293025903060000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000.000000
-1945367037944072300000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000.000000,-145278324148084050000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 .000000
0.000000,-0.000000
-0.000000,3863336503355797200000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000.000000
-0.000000,0.000000
-887914696465565310000000000000000000000000000000000000000000.000000,-1677895212 39943140000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000.000000
-633203115419521230000000000000000000000000000000000000000000.000000,-1357614794 12528500000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000.000000
0.000000,-0.000000
-0.000000,0.000000

what's wrong about my operations?
by the way, for MPI calculations, there are many ranks, how are the wave functions organized in different
rank.

Thanks in advance

your sincerely
JunSheng Feng

ファイルモードが正しくない

ほぼ全てのファイルに実行権限がある.
特にサンプル出力の *.out に実行権限があると,実行ファイルと混同してしまう.

TUTORIAL

Lecture for HPhi @ Tohoku University
Usage to calculate dynamical green's functions ----> please tell me that this tutorial exists also in english language

unit cell

Hi everyone,

I'm running HPhi to study a Fermion Hubbard chain lattice model with staggered potential. If only L is specified in the input file then does the unitary cell correspond to a single site of the chain in HPhi?

thanks a lot
R.

奇数サイト三角格子スピン模型の二体グリーン函数がおかしい

S=1/2三角格子スピン模型で奇数サイトのときに二体グリーン函数の値が変です。
例えば、スタンダードモードで

a0W=3
a0L=0
a1W=0
a1L=3
model="Spin"
method="Lanczos"
lattice="triangular Lattice"
J=1.0
2Sz=1.0

で(N=9)各サイトi=0,...8のS_i^2を計算すると

0.75085532  0.73017674  0.93563461
0.93563461  0.75085532  0.73017674  
0.73017674 0.93563461  0.75085532 

となり、(S_i^+S_i^-+S_i^+S_i^-)/2を計算すると

0.50085532  0.48017674  0.68563461  
0.68563461  0.50085532  0.48017674 
0.48017674 0.68563461  0.50085532

となりました。また全スピンS_tot^2を計算すると1.25になりました。
全対角化(N=3,9)とLanczos法(N=9,12,15,21)で試しましたが同様の結果になりました。
各サイトのS_i^2は3/4((S_i^+S_i^-+S_i^+S_i^-)/2は1/2)になるはずです。
(偶数サイトの場合(N=12,18,24)はそうなっています。)

_OPENMPマクロにつきまして

@k-yoshimi
しばらく前からコンパイル時に

[  5%] Building C object src/CMakeFiles/HPhi.dir/FileIO.c.o
<command-line>:0:0: warning: "_OPENMP" redefined
<built-in>: note: this is the location of the previous definition

のような警告が出るようになり、調べてみるとコミット
c3fcaf0
_OPENMPのマクロを手動で付けるようにしていました。
この_OPENMPですが、使用かどうかは分かりませんが普通はコンパイラが自動でOpenMPのバージョン番号として定義していて、例えば

#include <stdio.h>
int main(int argc,  char *argv[])
{
  printf("_OPENMP = %d\n", _OPENMP);
}

というソースを手元のPCで-fopenmpをつけてgccでコンパイルすると

_OPENMP = 201511

と出ます。HPhiではやっていませんが、これでOpenMPのバージョンによって切り替えたりするのに使うそうです。
あまり手動で定義しない方が良いマクロではないかと思いますが、こうしなければならない場合があったのでしょうか?

current current correlation function

Hi everyone,

As I saw in HPhi guide the computation of a dynamical Green function I(z) involves the specification of the operator O in the following formula

I(z) = <Φ_0|O (H-zI)^-1 O|Φ_0>

O could be either a single body or a two body operator. In the latter case the specifictation of O occurs through the modification of pair.def file. Suppose that O is equal to

j = -i Σ_l c*_l c_l+1 - c*_l+1 c_l (l site index, no spin, chain lattice)

so that I(z) is the current-current correlation function. Here is my doubt: if I run the computation of such correlation function specifiying only

CalcSpec = "Normal"
OmegaIM = -0.1
NOmega = 5000

I read that SpectrumQW, SpectrumQL are set by default equal to 0 but the GF that I would like to compute is k-indipendent. So how can I compute such GF without obtaining a k-dipendent result?

thanks a lot
Riccardo

SpinGC + FullDiag で計算されるS^2 の値がおかしい

S >= 1 の場合に、S2 の計算がおかしいようです。
ダイマーの例を貼っておきます。
正しくはS=0 (S2=0) が1つ、S=1 (S2=2) が3つ、S=2 (S2=6)が5つとなります。

入力ファイル

model = "SpinGC"
lattice = "chain lattice"
method = "FullDiag"
2S = 2
L = 2
J = 0.5

出力(抜粋)

######  Start: Calc Expected value.  ######

i=    0 Energy= -2.000000 N=  2.000000 Sz=  0.000000 S2=  1.333333 Doublon=  0.000000
i=    1 Energy= -1.000000 N=  2.000000 Sz= -1.000000 S2=  3.000000 Doublon=  0.000000
i=    2 Energy= -1.000000 N=  2.000000 Sz=  1.000000 S2=  3.000000 Doublon=  0.000000
i=    3 Energy= -1.000000 N=  2.000000 Sz=  0.000000 S2=  4.000000 Doublon=  0.000000
i=    4 Energy=  1.000000 N=  2.000000 Sz=  0.000000 S2=  6.666667 Doublon=  0.000000
i=    5 Energy=  1.000000 N=  2.000000 Sz= -2.000000 S2=  8.000000 Doublon=  0.000000
i=    6 Energy=  1.000000 N=  2.000000 Sz=  1.000000 S2=  7.000000 Doublon=  0.000000
i=    7 Energy=  1.000000 N=  2.000000 Sz= -1.000000 S2=  7.000000 Doublon=  0.000000
i=    8 Energy=  1.000000 N=  2.000000 Sz=  2.000000 S2=  8.000000 Doublon=  0.000000
######  End  : Calc Expected value.  ######

total Sz=0 の基底状態から、SzSz 相関の動的構造因子のk=0 成分を計算しようとするとエラー終了する

エラーメッセージは

(前略)

  Start: Calculating an excited Eigenvector.
Error: Excitation vector is illegal; norm becomes 0.

です。このときに基底状態に作用させている演算子はまさに totalSz なので、ゼロベクトルが返ってくるわけですが、これは正常な結果なので、動的構造因子の値として 0が返ってくるのが望ましいと思います。

再現するスクリプトは以下のとおりです。

import subprocess

L = 16

with open('StdFace.def', 'w') as f:
    f.write('L = {L}\n'
            'model = "Spin"\n'
            'method = "Lanczos"\n'
            'lattice = "Chain Lattice"\n'
            'J = 1.0\n'
            '2Sz = 0'.format(L=L))

subprocess.call(['./HPhi', '-sdry', 'StdFace.def'])


with open('calcmod.def','a') as f:
    f.write('OutputEigenVec 1\n')

subprocess.call(['./Hphi', '-e', 'namelist.def'])


with open('namelist.def','a') as f:
    f.write('SpectrumVec zvo_eigenvec_0\n')
    f.write('PairExcitation pair.def\n')

with open('calcmod.def','a') as f:
    f.write('CalcSpec 1\n')

with open('modpara.def','a') as f:
    f.write('OmegaMin -20.0\n'
            'OmegaMax 0.0\n'
            'NOmega 100\n'
            'OmegaIm 0.1\n')

with open('pair.def','w') as f:
    f.write('===\n'
            'NCisAitCjtAjs {}\n'
            '===\n'
            '=== PairExcitation ===\n'
            '===\n'.format(L*2))
    for j in range(L):
        f.write('{site} 0 {site} 0 1 0.5 0.0\n'.format(site=j))
        f.write('{site} 1 {site} 1 1 -0.5 0.0\n'.format(site=j))

subprocess.call(['./Hphi', '-e', 'namelist.def'])

How can I obtain the eigenvectors from HPhi?

Hi,
I am a new user of HPhi package and want to get the information of ground state and the first excited wave functions. Based on the manual, I perform Spin model calculation and set EigenvecIO = "out". zvo_eigenvec_$$rank$$.dat will be produced in output folder . I have written codes to deal with the zvo_eigenvec_$$rank$$.dat, but real part or imaginary of the wavefunctions are huge numbers (see below)
================================================================73197855944786749000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000.000000,-352122293025903060000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000.000000
-1945367037944072300000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000.000000,-145278324148084050000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 .000000
0.000000,-0.000000
-0.000000,3863336503355797200000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000.000000
-0.000000,0.000000
-887914696465565310000000000000000000000000000000000000000000.000000,-1677895212 39943140000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000.000000
-633203115419521230000000000000000000000000000000000000000000.000000,-1357614794 12528500000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000.000000
0.000000,-0.000000
-0.000000,0.000000

what's wrong about my operations?
by the way, for MPI calculations, there are many ranks, how are the wave functions organized in different
rank.

Thanks in advance

your sincerely
JunSheng Feng

Degenerate Ground state

The hamiltonian

H = V Σ_ j n_ j n_ j+1 - t Σ_ j c*j c j+1 + c*_ j+1 c_ j

of a 1D chain with L=8 and N (number of fermions) = 4 and V>2t has a doubly degenerate ground state. Each one differs from the other in the phase of the charge-density wave. What ground state will HPhi calculate in that case?

thanks
R.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.