Skip to content

Commit

Permalink
Merge pull request #78 from issp-center-dev/fix_tenes_simple_Sy
Browse files Browse the repository at this point in the history
  • Loading branch information
yomichi authored Sep 17, 2023
2 parents ec83a73 + bfa44f9 commit deb9d83
Show file tree
Hide file tree
Showing 4 changed files with 130 additions and 88 deletions.
4 changes: 4 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,7 @@
- Multisite observables (https://github.com/issp-center-dev/TeNeS/pull/69)
- Finite temperature calculation (https://github.com/issp-center-dev/TeNeS/pull/75)
- The bond dimension of CTM is automatically reduced in updating CTM (https://github.com/issp-center-dev/TeNeS/pull/77)

### Bug fixes

- The sign of Sy in `tenes_simple` is fixed (https://github.com/issp-center-dev/TeNeS/pull/78)
206 changes: 122 additions & 84 deletions test/data/output_simple_mode.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,18 @@ bonds = """
3 1 0
"""
elements = """
0 0 0 0 -0.25 0.0
1 0 0 0 -0.0125 -0.00125
0 1 0 0 -0.0125 -0.00125
0 0 1 0 -0.0125 0.00125
0 0 0 0 -0.08333333333333333 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
0 1 1 0 0.5 0.0
1 1 1 0 -0.0125 -0.00125
0 0 0 1 -0.0125 0.00125
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.5 0.0
1 1 0 1 -0.0125 -0.00125
1 0 1 1 -0.0125 0.00125
0 1 1 1 -0.0125 0.00125
1 1 1 1 0.25 0.0
1 1 0 1 -0.004166666666666667 0.0004166666666666667
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.08333333333333333 0.0
"""

[[hamiltonian]]
Expand All @@ -50,38 +50,22 @@ bonds = """
3 0 1
"""
elements = """
1 0 0 0 -0.0125 -0.00125
0 1 0 0 -0.0125 -0.00125
0 0 0 0 0.16666666666666669 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
1 1 0 0 -0.25 0.0
0 0 1 0 -0.0125 0.00125
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
1 0 1 0 -0.25 0.0
0 1 1 0 0.25 0.0
1 1 1 0 -0.0125 -0.00125
0 0 0 1 -0.0125 0.00125
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.25 0.0
0 1 0 1 -0.25 0.0
1 1 0 1 -0.0125 -0.00125
1 1 0 1 -0.004166666666666667 0.0004166666666666667
0 0 1 1 -0.25 0.0
1 0 1 1 -0.0125 0.00125
0 1 1 1 -0.0125 0.00125
1 1 1 1 0.5 0.0
"""

[[hamiltonian]]
dim = [2, 2]
bonds = """
"""
elements = """
0 0 0 0 -0.25 0.0
1 0 0 0 -0.0125 -0.00125
0 1 0 0 -0.0125 -0.00125
0 0 1 0 -0.0125 0.00125
1 1 1 0 -0.0125 -0.00125
0 0 0 1 -0.0125 0.00125
1 1 0 1 -0.0125 -0.00125
1 0 1 1 -0.0125 0.00125
0 1 1 1 -0.0125 0.00125
1 1 1 1 0.25 0.0
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.3333333333333333 0.0
"""

[[hamiltonian]]
Expand All @@ -93,8 +77,18 @@ bonds = """
3 1 1
"""
elements = """
0 0 0 0 -0.08333333333333333 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
0 1 1 0 0.25 0.0
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.25 0.0
1 1 0 1 -0.004166666666666667 0.0004166666666666667
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.08333333333333333 0.0
"""

[[hamiltonian]]
Expand All @@ -106,14 +100,22 @@ bonds = """
3 -1 1
"""
elements = """
0 0 0 0 0.125 0.0
0 0 0 0 0.04166666666666667 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
1 1 0 0 -0.125 0.0
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
1 0 1 0 -0.125 0.0
0 1 1 0 0.125 0.0
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.125 0.0
0 1 0 1 -0.125 0.0
1 1 0 1 -0.004166666666666667 0.0004166666666666667
0 0 1 1 -0.125 0.0
1 1 1 1 0.125 0.0
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.20833333333333331 0.0
"""

[[hamiltonian]]
Expand All @@ -125,8 +127,18 @@ bonds = """
3 2 0
"""
elements = """
0 0 0 0 -0.08333333333333333 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
0 1 1 0 0.125 0.0
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.125 0.0
1 1 0 1 -0.004166666666666667 0.0004166666666666667
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.08333333333333333 0.0
"""

[[hamiltonian]]
Expand All @@ -138,14 +150,22 @@ bonds = """
3 0 2
"""
elements = """
0 0 0 0 0.0625 0.0
0 0 0 0 -0.02083333333333333 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
1 1 0 0 -0.0625 0.0
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
1 0 1 0 -0.0625 0.0
0 1 1 0 0.0625 0.0
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.0625 0.0
0 1 0 1 -0.0625 0.0
1 1 0 1 -0.004166666666666667 0.0004166666666666667
0 0 1 1 -0.0625 0.0
1 1 1 1 0.0625 0.0
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.14583333333333331 0.0
"""

[observable]
Expand Down Expand Up @@ -175,8 +195,8 @@ group = 2
sites = []
dim = 2
elements = """
1 0 0.0 0.5
0 1 0.0 -0.5
1 0 0.0 -0.5
0 1 0.0 0.5
"""

[[observable.twosite]]
Expand All @@ -190,18 +210,18 @@ bonds = """
3 1 0
"""
elements = """
0 0 0 0 -0.25 0.0
1 0 0 0 -0.0125 -0.00125
0 1 0 0 -0.0125 -0.00125
0 0 1 0 -0.0125 0.00125
0 0 0 0 -0.08333333333333333 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
0 1 1 0 0.5 0.0
1 1 1 0 -0.0125 -0.00125
0 0 0 1 -0.0125 0.00125
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.5 0.0
1 1 0 1 -0.0125 -0.00125
1 0 1 1 -0.0125 0.00125
0 1 1 1 -0.0125 0.00125
1 1 1 1 0.25 0.0
1 1 0 1 -0.004166666666666667 0.0004166666666666667
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.08333333333333333 0.0
"""

[[observable.twosite]]
Expand All @@ -215,40 +235,22 @@ bonds = """
3 0 1
"""
elements = """
1 0 0 0 -0.0125 -0.00125
0 1 0 0 -0.0125 -0.00125
0 0 0 0 0.16666666666666669 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
1 1 0 0 -0.25 0.0
0 0 1 0 -0.0125 0.00125
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
1 0 1 0 -0.25 0.0
0 1 1 0 0.25 0.0
1 1 1 0 -0.0125 -0.00125
0 0 0 1 -0.0125 0.00125
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.25 0.0
0 1 0 1 -0.25 0.0
1 1 0 1 -0.0125 -0.00125
1 1 0 1 -0.004166666666666667 0.0004166666666666667
0 0 1 1 -0.25 0.0
1 0 1 1 -0.0125 0.00125
0 1 1 1 -0.0125 0.00125
1 1 1 1 0.5 0.0
"""

[[observable.twosite]]
name = "bond_hamiltonian"
group = 0
dim = [2, 2]
bonds = """
"""
elements = """
0 0 0 0 -0.25 0.0
1 0 0 0 -0.0125 -0.00125
0 1 0 0 -0.0125 -0.00125
0 0 1 0 -0.0125 0.00125
1 1 1 0 -0.0125 -0.00125
0 0 0 1 -0.0125 0.00125
1 1 0 1 -0.0125 -0.00125
1 0 1 1 -0.0125 0.00125
0 1 1 1 -0.0125 0.00125
1 1 1 1 0.25 0.0
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.3333333333333333 0.0
"""

[[observable.twosite]]
Expand All @@ -262,8 +264,18 @@ bonds = """
3 1 1
"""
elements = """
0 0 0 0 -0.08333333333333333 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
0 1 1 0 0.25 0.0
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.25 0.0
1 1 0 1 -0.004166666666666667 0.0004166666666666667
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.08333333333333333 0.0
"""

[[observable.twosite]]
Expand All @@ -277,14 +289,22 @@ bonds = """
3 -1 1
"""
elements = """
0 0 0 0 0.125 0.0
0 0 0 0 0.04166666666666667 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
1 1 0 0 -0.125 0.0
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
1 0 1 0 -0.125 0.0
0 1 1 0 0.125 0.0
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.125 0.0
0 1 0 1 -0.125 0.0
1 1 0 1 -0.004166666666666667 0.0004166666666666667
0 0 1 1 -0.125 0.0
1 1 1 1 0.125 0.0
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.20833333333333331 0.0
"""

[[observable.twosite]]
Expand All @@ -298,8 +318,18 @@ bonds = """
3 2 0
"""
elements = """
0 0 0 0 -0.08333333333333333 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
0 1 1 0 0.125 0.0
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.125 0.0
1 1 0 1 -0.004166666666666667 0.0004166666666666667
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.08333333333333333 0.0
"""

[[observable.twosite]]
Expand All @@ -313,14 +343,22 @@ bonds = """
3 0 2
"""
elements = """
0 0 0 0 0.0625 0.0
0 0 0 0 -0.02083333333333333 0.0
1 0 0 0 -0.004166666666666667 0.0004166666666666667
0 1 0 0 -0.004166666666666667 0.0004166666666666667
1 1 0 0 -0.0625 0.0
0 0 1 0 -0.004166666666666667 -0.0004166666666666667
1 0 1 0 -0.0625 0.0
0 1 1 0 0.0625 0.0
1 1 1 0 -0.004166666666666667 0.0004166666666666667
0 0 0 1 -0.004166666666666667 -0.0004166666666666667
1 0 0 1 0.0625 0.0
0 1 0 1 -0.0625 0.0
1 1 0 1 -0.004166666666666667 0.0004166666666666667
0 0 1 1 -0.0625 0.0
1 1 1 1 0.0625 0.0
1 0 1 1 -0.004166666666666667 -0.0004166666666666667
0 1 1 1 -0.004166666666666667 -0.0004166666666666667
1 1 1 1 0.14583333333333331 0.0
"""

[[observable.twosite]]
Expand Down
4 changes: 2 additions & 2 deletions test/data/output_simple_mode_2.toml
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,8 @@ group = 2
sites = []
dim = 2
elements = """
1 0 0.0 0.5
0 1 0.0 -0.5
1 0 0.0 -0.5
0 1 0.0 0.5
"""

[[observable.twosite]]
Expand Down
4 changes: 2 additions & 2 deletions tool/tenes_simple.py
Original file line number Diff line number Diff line change
Expand Up @@ -635,7 +635,7 @@ def Splus(S: float) -> np.ndarray:
ret = np.zeros((N, N))
for i in range(1, N):
m = S - i
ret[i - 1, i] = np.sqrt((S - m) * (S + m + 1.0))
ret[i, i - 1] = np.sqrt((S - m) * (S + m + 1.0))
return ret


Expand All @@ -644,7 +644,7 @@ def Sminus(S: float) -> np.ndarray:
ret = np.zeros((N, N))
for i in range(N - 1):
m = S - i
ret[i + 1, i] = np.sqrt((S + m) * (S - m + 1.0))
ret[i, i + 1] = np.sqrt((S + m) * (S - m + 1.0))
return ret


Expand Down

0 comments on commit deb9d83

Please sign in to comment.