issp-center-dev / HPhi

Quantum Lattice Model Simulator Package
https://www.pasums.issp.u-tokyo.ac.jp/hphi/en/
GNU General Public License v3.0
82 stars 25 forks source link

Process element infoの表示がおかしい? #126

Open ultimatile opened 2 years ago

ultimatile commented 2 years ago

実害はなさそうですが一応報告します.

spin 1/2以外のmodel = "Spin"で, 2Szに粒子数より大きい値を指定した場合, 以下の例で示すように標準出力のProcess element infoにoverflowしたNdownやNelecが表示されます. unsigned intであるNdownに負の値が入ることでoverflowが発生しているのだと思います. Nup/Ndownはspin 1/2以外の系では意味のない量なので, どんな値でも良いのかもしれませんがoverflowした値が表示されると驚くので報告しました.

input

model = "Spin"
method = "Lanczos"
lattice = "chain"
L = 3
2S = 2
2Sz = 0

output

以下では2Szを0, 2, 4, 6と変化させた場合の該当箇所の標準出力を示します.

2Sz = 0

  Process element info
    Process       Dimension   Nup  Ndown  Nelec  Total2Sz   State
          0               7     1      1      2         0   

2Sz = 2

  Process element info
    Process       Dimension   Nup  Ndown  Nelec  Total2Sz   State
          0               6     2      0      2         2   

2Sz = 4

  Process element info
    Process       Dimension   Nup  Ndown  Nelec  Total2Sz   State
          0               3     3  2147483647  -2147483646         4   

2Sz = 6

  Process element info
    Process       Dimension   Nup  Ndown  Nelec  Total2Sz   State
          0               1     4  2147483646  -2147483646         6  

version

3.5.0 OpenMP並列で実行しておりMPI並列した場合について未確認です.