Skip to content

Commit

Permalink
Merge pull request #75 from issp-center-dev/ft_dev
Browse files Browse the repository at this point in the history
  • Loading branch information
yomichi authored Aug 1, 2023
2 parents c04e2bf + 1feeca8 commit 206bb0f
Show file tree
Hide file tree
Showing 152 changed files with 16,904 additions and 521 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,4 @@ jobs:
- name: ctest
working-directory: ${{runner.workspace}}/build
shell: bash
run: ctest -V
run: OMP_NUM_THREADS=1 ctest -V
2 changes: 1 addition & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ jobs:
- name: ctest
working-directory: ${{runner.workspace}}/build
shell: bash
run: ctest -V
run: OMP_NUM_THREADS=1 ctest -V
3 changes: 2 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# TeNeS v2.0.x Release Notes

## Changes between v2.0.0 and v1.3.2
## Changes between v2.0.0 and v1.3.3

### New Features

- Real-time evolution (https://github.com/issp-center-dev/TeNeS/pull/68)
- Multisite observables (https://github.com/issp-center-dev/TeNeS/pull/69)
- Finite temperature calculation (https://github.com/issp-center-dev/TeNeS/pull/75)
8 changes: 8 additions & 0 deletions docs/sphinx/en/file_specification/output_format.rst
Original file line number Diff line number Diff line change
Expand Up @@ -479,3 +479,11 @@ Example::
2.00000000000000039e-01 1 1 1.63323696507474692e-01 6.12281023136305169e+00 6.12281023136305169e+00 7.83104916294462416e+00
... Skipped ...
4.99999999999993783e+00 1 1 4.61585992965019176e-01 2.16644355600232430e+00 2.16644355600232430e+00 2.29497956495965427e+00


For finite temperature calculation mode
========================================

The formats of the files are the same as those in the real time evolution mode.
The only difference is that the file name starts with ``FT_`` instead of ``TE_``, and the first column is the inverse temperature :math:`\beta = 1/T` instead of the time :math:`t`.

13 changes: 10 additions & 3 deletions docs/sphinx/en/file_specification/parameter_section.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,17 @@ General parameters for ``tenes``.
- ``"ground state"``

- Search for the ground state of the Hamiltonian
- ``tenes_std`` calculates the imaginary time evolution operator :math:`e^{-\tau H}` from the Hamiltonian
- ``tenes_std`` calculates the imaginary time evolution operator :math:`U(\tau) = e^{-\tau H}` from the Hamiltonian :math:`H`

- ``"time evolution"``

- Calculate the time evolution from the initial state
- ``tenes_std`` calculates the time evolution operator :math:`e^{-it H}` from the Hamiltonian
- Calculate the time evolution of the observables from the initial state
- ``tenes_std`` calculates the time evolution operator :math:`U(t) = e^{-it H}` from the Hamiltonian :math:`H`

- ``"finite temperature"``

- Calculate the finite temperature expectation values of the observables
- ``tenes_std`` calculates the imaginary time evolution operator :math:`U(\tau) = e^{-\tau H}` from the Hamiltonian :math:`H`

- ``is_real``

Expand Down Expand Up @@ -93,6 +98,8 @@ Parameters in the simple update procedure.
- ``tenes_std`` uses it to calculate the imaginary time evolution operator :math:`e^{-\tau H}` from the Hamiltonian
- ``tenes`` uses it to calculate the time of each measurement

- For finite temperature calculation, note that the inverse temperature increase :math:`2\tau` at a step because :math:`\rho(\beta + 2\tau) = U(\tau)\rho(\beta)\bar{U}(\tau)`

- When a list is specified, the time step can be changed for each group of time evolution operators

- ``num_step``
Expand Down
7 changes: 7 additions & 0 deletions docs/sphinx/ja/file_specification/output_format.rst
Original file line number Diff line number Diff line change
Expand Up @@ -480,3 +480,10 @@ multisite 演算子の期待値が出力されます。
2.00000000000000039e-01 1 1 1.63323696507474692e-01 6.12281023136305169e+00 6.12281023136305169e+00 7.83104916294462416e+00
... Skipped ...
4.99999999999993783e+00 1 1 4.61585992965019176e-01 2.16644355600232430e+00 2.16644355600232430e+00 2.29497956495965427e+00


有限温度計算モード
====================

実時間発展計算モードと同様のファイルが出力されます。
ファイル名の先頭が ``TE_`` のかわりに ``FT_`` になっていることと、1列目が時間 :math:`t` ではなく逆温度 :math:`\beta = 1/T` になっていることが異なります。
14 changes: 11 additions & 3 deletions docs/sphinx/ja/file_specification/parameter_section.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,17 @@
- ``"ground state"``

- 基底状態計算
- ``tenes_std`` は虚時間発展演算子を計算します
- ``tenes_std`` は虚時間発展演算子 :math:`U(\tau) = \exp(-\tau \mathcal{H})` を計算します

- ``"time evolution"``

- 実時間発展計算
- ``tenes_std`` は実時間発展演算子を計算します
- ``tenes_std`` は実時間発展演算子 :math:`U(t) = \exp(-it \mathcal{H})` を計算します

- ``"finite temperature"``

- 有限温度計算
- ``tenes_std`` は虚時間発展演算子 :math:`U(\tau) = \exp(-\tau \mathcal{H})` を計算します

- ``is_real``

Expand Down Expand Up @@ -93,7 +98,10 @@ simple update に関するパラメータ
- (虚)時間発展演算子における(虚)時間刻み :math:`\tau` を指定します

- ``tenes_std`` では時間発展演算子を計算するために用いられます
- ``tenes`` では各ステップでの経過時間を求めるために用いられます
- ``tenes`` では各ステップでの経過時間・逆温度を求めるために用いられます

- For finite temperature calculation, note that the inverse temperature increase :math:`2\tau` at a step because :math:`\rho(\beta + 2\tau) = U(\tau)\rho(\beta)\bar{U}(\tau)`
- 有限温度計算の場合、 :math:`\rho(\beta + 2\tau) = U(\tau)\rho(\beta)\bar{U}(\tau)` なので、 ステップごとに逆温度は :math:`2\tau` だけ増加することに注意してください。

- リストを指定すると、時間発展演算子のグループごとに刻み幅を変えることができます

Expand Down
14 changes: 7 additions & 7 deletions misc/contraction/cont.jl
Original file line number Diff line number Diff line change
Expand Up @@ -336,13 +336,13 @@ function dump_fn_declare(io::IO, tensors::Tensors; lang::AbstractString="cpp", p
println(io, "typename tensor::value_type")
println(io, "Contract_$(tensors.nrow)x$(tensors.ncol)(")
if pass_as_vector
println(io, " std::vector<const tensor*> &C,")
println(io, " std::vector<const tensor*> &eTt,")
println(io, " std::vector<const tensor*> &eTr,")
println(io, " std::vector<const tensor*> &eTb,")
println(io, " std::vector<const tensor*> &eTl,")
println(io, " std::vector<std::vector<const tensor*>> &Tn,")
println(io, " std::vector<std::vector<const tensor*>> &op")
println(io, " const std::vector<const tensor*> &C,")
println(io, " const std::vector<const tensor*> &eTt,")
println(io, " const std::vector<const tensor*> &eTr,")
println(io, " const std::vector<const tensor*> &eTb,")
println(io, " const std::vector<const tensor*> &eTl,")
println(io, " const std::vector<std::vector<const tensor*>> &Tn,")
println(io, " const std::vector<std::vector<const tensor*>> &op")
else
args = String[]
for T in iter
Expand Down
5 changes: 5 additions & 0 deletions misc/contraction/cont.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
for nrow in 1 2 3; do
for ncol in 1 2 3; do
julia ./cont.jl --output=${nrow}_${ncol}.dat --pass_as_vector --tdt_path="./tdt.py" ${nrow} ${ncol}
done
done
Loading

0 comments on commit 206bb0f

Please sign in to comment.