PyQUDA-Utils 0.9.10.dev1__tar.gz → 0.9.11.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/PKG-INFO +1 -1
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/PyQUDA_Utils.egg-info/PKG-INFO +1 -1
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/PyQUDA_Utils.egg-info/SOURCES.txt +14 -12
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/PyQUDA_Utils.egg-info/top_level.txt +1 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyproject.toml +1 -1
- pyquda_utils-0.9.11.dev1/pyquda_io/__init__.py +46 -0
- pyquda_utils-0.9.10.dev1/pyquda_utils/io/gauge_utils.py → pyquda_utils-0.9.11.dev1/pyquda_io/_field_utils.py +43 -25
- pyquda_utils-0.9.11.dev1/pyquda_io/_version.py +1 -0
- {pyquda_utils-0.9.10.dev1/pyquda_utils/io → pyquda_utils-0.9.11.dev1/pyquda_io}/chroma.py +1 -1
- {pyquda_utils-0.9.10.dev1/pyquda_utils/io → pyquda_utils-0.9.11.dev1/pyquda_io}/kyu.py +4 -1
- {pyquda_utils-0.9.10.dev1/pyquda_utils/io → pyquda_utils-0.9.11.dev1/pyquda_io}/milc.py +1 -1
- {pyquda_utils-0.9.10.dev1/pyquda_utils/io → pyquda_utils-0.9.11.dev1/pyquda_io}/nersc.py +2 -2
- {pyquda_utils-0.9.10.dev1/pyquda_utils/io → pyquda_utils-0.9.11.dev1/pyquda_io}/npy.py +1 -1
- {pyquda_utils-0.9.10.dev1/pyquda_utils/io → pyquda_utils-0.9.11.dev1/pyquda_io}/openqcd.py +2 -2
- {pyquda_utils-0.9.10.dev1/pyquda_utils/io → pyquda_utils-0.9.11.dev1/pyquda_io}/xqcd.py +4 -1
- pyquda_utils-0.9.11.dev1/pyquda_utils/_version.py +1 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/core.py +4 -1
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/deprecated.py +4 -4
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/gpt.py +10 -7
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/io/__init__.py +39 -51
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/phase.py +2 -3
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/quasi_axial_gauge_fixing.py +2 -3
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/source.py +1 -1
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/setup.py +2 -0
- pyquda_utils-0.9.10.dev1/pyquda_utils/_version.py +0 -1
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/LICENSE +0 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/MANIFEST.in +0 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/PyQUDA_Utils.egg-info/dependency_links.txt +0 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/PyQUDA_Utils.egg-info/requires.txt +0 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/README.md +0 -0
- /pyquda_utils-0.9.10.dev1/pyquda_utils/io/mpi_file.py → /pyquda_utils-0.9.11.dev1/pyquda_io/_mpi_file.py +0 -0
- {pyquda_utils-0.9.10.dev1/pyquda_utils/io → pyquda_utils-0.9.11.dev1/pyquda_io}/io_general.py +0 -0
- {pyquda_utils-0.9.10.dev1/pyquda_utils/io → pyquda_utils-0.9.11.dev1/pyquda_io}/lime.py +0 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/__init__.py +0 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/convert.py +0 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/gamma.py +0 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/hmc_param.py +0 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/milc_rhmc_param.py +0 -0
- {pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyQUDA-Utils
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.11.dev1
|
|
4
4
|
Summary: Utility scripts based on PyQUDA
|
|
5
5
|
Author-email: SaltyChiang <SaltyChiang@users.noreply.github.com>
|
|
6
6
|
Maintainer-email: SaltyChiang <SaltyChiang@users.noreply.github.com>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyQUDA-Utils
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.11.dev1
|
|
4
4
|
Summary: Utility scripts based on PyQUDA
|
|
5
5
|
Author-email: SaltyChiang <SaltyChiang@users.noreply.github.com>
|
|
6
6
|
Maintainer-email: SaltyChiang <SaltyChiang@users.noreply.github.com>
|
|
@@ -8,6 +8,19 @@ PyQUDA_Utils.egg-info/SOURCES.txt
|
|
|
8
8
|
PyQUDA_Utils.egg-info/dependency_links.txt
|
|
9
9
|
PyQUDA_Utils.egg-info/requires.txt
|
|
10
10
|
PyQUDA_Utils.egg-info/top_level.txt
|
|
11
|
+
pyquda_io/__init__.py
|
|
12
|
+
pyquda_io/_field_utils.py
|
|
13
|
+
pyquda_io/_mpi_file.py
|
|
14
|
+
pyquda_io/_version.py
|
|
15
|
+
pyquda_io/chroma.py
|
|
16
|
+
pyquda_io/io_general.py
|
|
17
|
+
pyquda_io/kyu.py
|
|
18
|
+
pyquda_io/lime.py
|
|
19
|
+
pyquda_io/milc.py
|
|
20
|
+
pyquda_io/nersc.py
|
|
21
|
+
pyquda_io/npy.py
|
|
22
|
+
pyquda_io/openqcd.py
|
|
23
|
+
pyquda_io/xqcd.py
|
|
11
24
|
pyquda_utils/__init__.py
|
|
12
25
|
pyquda_utils/_version.py
|
|
13
26
|
pyquda_utils/convert.py
|
|
@@ -20,15 +33,4 @@ pyquda_utils/milc_rhmc_param.py
|
|
|
20
33
|
pyquda_utils/phase.py
|
|
21
34
|
pyquda_utils/quasi_axial_gauge_fixing.py
|
|
22
35
|
pyquda_utils/source.py
|
|
23
|
-
pyquda_utils/io/__init__.py
|
|
24
|
-
pyquda_utils/io/chroma.py
|
|
25
|
-
pyquda_utils/io/gauge_utils.py
|
|
26
|
-
pyquda_utils/io/io_general.py
|
|
27
|
-
pyquda_utils/io/kyu.py
|
|
28
|
-
pyquda_utils/io/lime.py
|
|
29
|
-
pyquda_utils/io/milc.py
|
|
30
|
-
pyquda_utils/io/mpi_file.py
|
|
31
|
-
pyquda_utils/io/nersc.py
|
|
32
|
-
pyquda_utils/io/npy.py
|
|
33
|
-
pyquda_utils/io/openqcd.py
|
|
34
|
-
pyquda_utils/io/xqcd.py
|
|
36
|
+
pyquda_utils/io/__init__.py
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# flake8: noqa
|
|
2
|
+
|
|
3
|
+
from .io_general import (
|
|
4
|
+
IOGeneral,
|
|
5
|
+
read as readIOGeneral,
|
|
6
|
+
write as writeIOGeneral,
|
|
7
|
+
)
|
|
8
|
+
from .lime import (
|
|
9
|
+
Lime,
|
|
10
|
+
)
|
|
11
|
+
from .npy import (
|
|
12
|
+
readGauge as readNPYGauge,
|
|
13
|
+
writeGauge as writeNPYGauge,
|
|
14
|
+
readPropagator as readNPYPropagator,
|
|
15
|
+
writePropagator as writeNPYPropagator,
|
|
16
|
+
)
|
|
17
|
+
from .chroma import (
|
|
18
|
+
readQIOGauge as readChromaQIOGauge,
|
|
19
|
+
readQIOPropagator as readChromaQIOPropagator,
|
|
20
|
+
readILDGBinGauge,
|
|
21
|
+
)
|
|
22
|
+
from .milc import (
|
|
23
|
+
readGauge as readMILCGauge,
|
|
24
|
+
writeGauge as writeMILCGauge,
|
|
25
|
+
readQIOPropagator as readMILCQIOPropagator,
|
|
26
|
+
)
|
|
27
|
+
from .kyu import (
|
|
28
|
+
readGauge as readKYUGauge,
|
|
29
|
+
writeGauge as writeKYUGauge,
|
|
30
|
+
readPropagator as readKYUPropagator,
|
|
31
|
+
writePropagator as writeKYUPropagator,
|
|
32
|
+
)
|
|
33
|
+
from .xqcd import (
|
|
34
|
+
readPropagator as readXQCDPropagator,
|
|
35
|
+
writePropagator as writeXQCDPropagator,
|
|
36
|
+
readPropagatorFast as readXQCDPropagatorFast,
|
|
37
|
+
writePropagatorFast as writeXQCDPropagatorFast,
|
|
38
|
+
)
|
|
39
|
+
from .nersc import (
|
|
40
|
+
readGauge as readNERSCGauge,
|
|
41
|
+
writeGauge as writeNERSCGauge,
|
|
42
|
+
)
|
|
43
|
+
from .openqcd import (
|
|
44
|
+
readGauge as readOpenQCDGauge,
|
|
45
|
+
writeGauge as writeOpenQCDGauge,
|
|
46
|
+
)
|
|
@@ -3,7 +3,7 @@ from typing import List
|
|
|
3
3
|
from mpi4py import MPI
|
|
4
4
|
import numpy
|
|
5
5
|
|
|
6
|
-
from .
|
|
6
|
+
from ._mpi_file import getSublatticeSize, getNeighbourRank
|
|
7
7
|
|
|
8
8
|
Nd, Nc = 4, 3
|
|
9
9
|
|
|
@@ -72,30 +72,12 @@ def gaugeLexicoPlaquette(latt_size: List[int], grid_size: List[int], gauge: nump
|
|
|
72
72
|
extended[:, -1, :-1, :-1, :-1] = buf
|
|
73
73
|
|
|
74
74
|
plaq = numpy.zeros((6))
|
|
75
|
-
plaq[0] = numpy.vdot(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
).real
|
|
79
|
-
plaq[
|
|
80
|
-
|
|
81
|
-
numpy.linalg.matmul(gauge[2], extended[0, :-1, 1:, :-1, :-1]),
|
|
82
|
-
).real
|
|
83
|
-
plaq[2] = numpy.vdot(
|
|
84
|
-
numpy.linalg.matmul(gauge[1], extended[2, :-1, :-1, 1:, :-1]),
|
|
85
|
-
numpy.linalg.matmul(gauge[2], extended[1, :-1, 1:, :-1, :-1]),
|
|
86
|
-
).real
|
|
87
|
-
plaq[3] = numpy.vdot(
|
|
88
|
-
numpy.linalg.matmul(gauge[0], extended[3, :-1, :-1, :-1, 1:]),
|
|
89
|
-
numpy.linalg.matmul(gauge[3], extended[0, 1:, :-1, :-1, :-1]),
|
|
90
|
-
).real
|
|
91
|
-
plaq[4] = numpy.vdot(
|
|
92
|
-
numpy.linalg.matmul(gauge[1], extended[3, :-1, :-1, 1:, :-1]),
|
|
93
|
-
numpy.linalg.matmul(gauge[3], extended[1, 1:, :-1, :-1, :-1]),
|
|
94
|
-
).real
|
|
95
|
-
plaq[5] = numpy.vdot(
|
|
96
|
-
numpy.linalg.matmul(gauge[2], extended[3, :-1, 1:, :-1, :-1]),
|
|
97
|
-
numpy.linalg.matmul(gauge[3], extended[2, 1:, :-1, :-1, :-1]),
|
|
98
|
-
).real
|
|
75
|
+
plaq[0] = numpy.vdot(gauge[0] @ extended[1, :-1, :-1, :-1, 1:], gauge[1] @ extended[0, :-1, :-1, 1:, :-1]).real
|
|
76
|
+
plaq[1] = numpy.vdot(gauge[0] @ extended[2, :-1, :-1, :-1, 1:], gauge[2] @ extended[0, :-1, 1:, :-1, :-1]).real
|
|
77
|
+
plaq[2] = numpy.vdot(gauge[1] @ extended[2, :-1, :-1, 1:, :-1], gauge[2] @ extended[1, :-1, 1:, :-1, :-1]).real
|
|
78
|
+
plaq[3] = numpy.vdot(gauge[0] @ extended[3, :-1, :-1, :-1, 1:], gauge[3] @ extended[0, 1:, :-1, :-1, :-1]).real
|
|
79
|
+
plaq[4] = numpy.vdot(gauge[1] @ extended[3, :-1, :-1, 1:, :-1], gauge[3] @ extended[1, 1:, :-1, :-1, :-1]).real
|
|
80
|
+
plaq[5] = numpy.vdot(gauge[2] @ extended[3, :-1, 1:, :-1, :-1], gauge[3] @ extended[2, 1:, :-1, :-1, :-1]).real
|
|
99
81
|
|
|
100
82
|
plaq /= int(numpy.prod(latt_size)) * Nc
|
|
101
83
|
plaq = MPI.COMM_WORLD.allreduce(plaq, MPI.SUM)
|
|
@@ -186,3 +168,39 @@ def gaugeEvenShiftBackward(latt_size: List[int], grid_size: List[int], gauge: nu
|
|
|
186
168
|
MPI.COMM_WORLD.Sendrecv_replace(buf, dest=neighbour_rank[3], source=neighbour_rank[7])
|
|
187
169
|
gauge_shift[3, 1, 0, :, :, :] = buf
|
|
188
170
|
return gauge_shift
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
# matrices to convert gamma basis bewteen DeGrand-Rossi and Dirac-Pauli
|
|
174
|
+
# DP for Dirac-Pauli, DR for DeGrand-Rossi
|
|
175
|
+
# \psi(DP) = _DR_TO_DP \psi(DR)
|
|
176
|
+
# \psi(DR) = _DP_TO_DR \psi(DP)
|
|
177
|
+
_DP_TO_DR = numpy.array(
|
|
178
|
+
[
|
|
179
|
+
[0, 1, 0, -1],
|
|
180
|
+
[-1, 0, 1, 0],
|
|
181
|
+
[0, 1, 0, 1],
|
|
182
|
+
[-1, 0, -1, 0],
|
|
183
|
+
]
|
|
184
|
+
)
|
|
185
|
+
_DR_TO_DP = numpy.array(
|
|
186
|
+
[
|
|
187
|
+
[0, -1, 0, -1],
|
|
188
|
+
[1, 0, 1, 0],
|
|
189
|
+
[0, 1, 0, -1],
|
|
190
|
+
[-1, 0, 1, 0],
|
|
191
|
+
]
|
|
192
|
+
)
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
def propagatorDeGrandRossiToDiracPauli(propagator: numpy.ndarray):
|
|
196
|
+
P = _DR_TO_DP
|
|
197
|
+
Pinv = _DP_TO_DR / 2
|
|
198
|
+
|
|
199
|
+
return numpy.ascontiguousarray(numpy.einsum("ij,tzyxjkab,kl->tzyxilab", P, propagator.data, Pinv, optimize=True))
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
def propagatorDiracPauliToDeGrandRossi(propagator: numpy.ndarray):
|
|
203
|
+
P = _DP_TO_DR
|
|
204
|
+
Pinv = _DR_TO_DP / 2
|
|
205
|
+
|
|
206
|
+
return numpy.ascontiguousarray(numpy.einsum("ij,tzyxjkab,kl->tzyxilab", P, propagator.data, Pinv, optimize=True))
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.9.11.dev1"
|
|
@@ -4,7 +4,7 @@ from xml.etree import ElementTree as ET
|
|
|
4
4
|
|
|
5
5
|
from mpi4py import MPI
|
|
6
6
|
|
|
7
|
-
from .
|
|
7
|
+
from ._mpi_file import getSublatticeSize, getGridCoord, readMPIFile
|
|
8
8
|
|
|
9
9
|
Nd, Ns, Nc = 4, 4, 3
|
|
10
10
|
_precision_map = {"D": 8, "F": 4, "S": 4}
|
|
@@ -3,7 +3,8 @@ from typing import List
|
|
|
3
3
|
|
|
4
4
|
import numpy
|
|
5
5
|
|
|
6
|
-
from .
|
|
6
|
+
from ._mpi_file import getSublatticeSize, readMPIFile, writeMPIFile
|
|
7
|
+
from ._field_utils import propagatorDiracPauliToDeGrandRossi, propagatorDeGrandRossiToDiracPauli
|
|
7
8
|
|
|
8
9
|
Nd, Ns, Nc = 4, 4, 3
|
|
9
10
|
|
|
@@ -48,6 +49,7 @@ def readPropagator(filename: str, latt_size: List[int], grid_size: List[int]):
|
|
|
48
49
|
.reshape(Lt, Lz, Ly, Lx, Ns, Ns, Nc, Nc * 2)
|
|
49
50
|
.view("<c16")
|
|
50
51
|
)
|
|
52
|
+
propagator = propagatorDiracPauliToDeGrandRossi(propagator)
|
|
51
53
|
return propagator
|
|
52
54
|
|
|
53
55
|
|
|
@@ -56,6 +58,7 @@ def writePropagator(filename: str, latt_size: List[int], grid_size: List[int], p
|
|
|
56
58
|
Lx, Ly, Lz, Lt = getSublatticeSize(latt_size, grid_size)
|
|
57
59
|
dtype, offset = ">f8", 0
|
|
58
60
|
|
|
61
|
+
propagator = propagatorDeGrandRossiToDiracPauli(propagator)
|
|
59
62
|
propagator = (
|
|
60
63
|
propagator.view("<f8")
|
|
61
64
|
.reshape(Lt, Lz, Ly, Lx, Ns, Ns, Nc, Nc, 2)
|
|
@@ -7,7 +7,7 @@ from xml.etree import ElementTree as ET
|
|
|
7
7
|
import numpy
|
|
8
8
|
from mpi4py import MPI
|
|
9
9
|
|
|
10
|
-
from .
|
|
10
|
+
from ._mpi_file import getGridCoord, getSublatticeSize, readMPIFile, writeMPIFile
|
|
11
11
|
|
|
12
12
|
Nd, Ns, Nc = 4, 4, 3
|
|
13
13
|
_precision_map = {"D": 8, "F": 4, "S": 4}
|
|
@@ -5,8 +5,8 @@ from typing import Dict, List
|
|
|
5
5
|
import numpy
|
|
6
6
|
from mpi4py import MPI
|
|
7
7
|
|
|
8
|
-
from .
|
|
9
|
-
from .
|
|
8
|
+
from ._mpi_file import getSublatticeSize, readMPIFile, writeMPIFile
|
|
9
|
+
from ._field_utils import gaugeLexicoPlaquette
|
|
10
10
|
|
|
11
11
|
Nd, Ns, Nc = 4, 4, 3
|
|
12
12
|
|
|
@@ -5,7 +5,7 @@ import numpy
|
|
|
5
5
|
from numpy.lib.format import dtype_to_descr, read_magic, read_array_header_1_0, write_array_header_1_0
|
|
6
6
|
from mpi4py import MPI
|
|
7
7
|
|
|
8
|
-
from .
|
|
8
|
+
from ._mpi_file import getSublatticeSize, readMPIFile, writeMPIFile
|
|
9
9
|
|
|
10
10
|
Nd, Ns, Nc = 4, 4, 3
|
|
11
11
|
|
|
@@ -5,8 +5,8 @@ from typing import List
|
|
|
5
5
|
import numpy
|
|
6
6
|
from mpi4py import MPI
|
|
7
7
|
|
|
8
|
-
from .
|
|
9
|
-
from .
|
|
8
|
+
from ._mpi_file import getSublatticeSize, readMPIFile, writeMPIFile
|
|
9
|
+
from ._field_utils import gaugeEvenOdd, gaugeLexico, gaugeLexicoPlaquette, gaugeOddShiftForward, gaugeEvenShiftBackward
|
|
10
10
|
|
|
11
11
|
Nd, Ns, Nc = 4, 4, 3
|
|
12
12
|
|
|
@@ -3,7 +3,8 @@ from typing import List
|
|
|
3
3
|
|
|
4
4
|
import numpy
|
|
5
5
|
|
|
6
|
-
from .
|
|
6
|
+
from ._mpi_file import getSublatticeSize, readMPIFile, writeMPIFile
|
|
7
|
+
from ._field_utils import propagatorDiracPauliToDeGrandRossi, propagatorDeGrandRossiToDiracPauli
|
|
7
8
|
|
|
8
9
|
Ns, Nc = 4, 3
|
|
9
10
|
|
|
@@ -16,6 +17,7 @@ def readPropagator(filename: str, latt_size: List[int], grid_size: List[int], st
|
|
|
16
17
|
if not staggered:
|
|
17
18
|
propagator = readMPIFile(filename, dtype, offset, (Ns, Nc, Lt, Lz, Ly, Lx, Ns, Nc), (5, 4, 3, 2), grid_size)
|
|
18
19
|
propagator = propagator.transpose(2, 3, 4, 5, 6, 0, 7, 1).astype("<c16")
|
|
20
|
+
propagator = propagatorDiracPauliToDeGrandRossi(propagator)
|
|
19
21
|
else:
|
|
20
22
|
# QDP_ALIGN16 makes the last Nc to be aligned with 16 Bytes.
|
|
21
23
|
propagator_align16 = readMPIFile(filename, dtype, offset, (Nc, Lt, Lz, Ly, Lx, 4), (4, 3, 2, 1), grid_size)
|
|
@@ -32,6 +34,7 @@ def writePropagator(
|
|
|
32
34
|
dtype, offset = "<c8", 0
|
|
33
35
|
|
|
34
36
|
if not staggered:
|
|
37
|
+
propagator = propagatorDeGrandRossiToDiracPauli(propagator)
|
|
35
38
|
propagator = propagator.astype(dtype).transpose(5, 7, 0, 1, 2, 3, 4, 6).copy()
|
|
36
39
|
writeMPIFile(filename, dtype, offset, (Ns, Nc, Lt, Lz, Ly, Lx, Ns, Nc), (5, 4, 3, 2), grid_size, propagator)
|
|
37
40
|
else:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.9.11.dev1"
|
|
@@ -4,6 +4,7 @@ import numpy
|
|
|
4
4
|
|
|
5
5
|
from pyquda import (
|
|
6
6
|
initGPU,
|
|
7
|
+
initGrid,
|
|
7
8
|
initQUDA,
|
|
8
9
|
init,
|
|
9
10
|
getCoordFromRank,
|
|
@@ -15,6 +16,7 @@ from pyquda import (
|
|
|
15
16
|
getGridCoord,
|
|
16
17
|
setDefaultLattice,
|
|
17
18
|
getDefaultLattice,
|
|
19
|
+
getCUDABackend,
|
|
18
20
|
getLogger,
|
|
19
21
|
setLoggerLevel,
|
|
20
22
|
dirac as fermion,
|
|
@@ -41,7 +43,8 @@ from pyquda.field import (
|
|
|
41
43
|
LatticePropagator,
|
|
42
44
|
LatticeStaggeredPropagator,
|
|
43
45
|
lexico,
|
|
44
|
-
|
|
46
|
+
evenodd,
|
|
47
|
+
evenodd as cb2,
|
|
45
48
|
)
|
|
46
49
|
from pyquda.dirac.abstract import Multigrid, FermionDirac, StaggeredFermionDirac
|
|
47
50
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from typing import List
|
|
2
2
|
|
|
3
|
-
from pyquda import getLogger, getGridSize, quda, enum_quda
|
|
3
|
+
from pyquda import getLogger, getGridSize, pyquda as quda, enum_quda
|
|
4
4
|
from pyquda.field import LatticeFermion, LatticeGauge, LatticeInfo, LatticePropagator, Nc, Ns
|
|
5
5
|
from pyquda.dirac.abstract import FermionDirac
|
|
6
6
|
|
|
@@ -101,11 +101,11 @@ def getDslash(
|
|
|
101
101
|
latt_info = LatticeInfo([Lx, Ly, Lz, Lt], t_boundary, xi)
|
|
102
102
|
|
|
103
103
|
if clover_csw != 0.0:
|
|
104
|
-
from .dirac.clover_wilson import CloverWilsonDirac
|
|
104
|
+
from pyquda.dirac.clover_wilson import CloverWilsonDirac
|
|
105
105
|
|
|
106
106
|
return CloverWilsonDirac(latt_info, mass, tol, maxiter, clover_csw, clover_xi, geo_block_size)
|
|
107
107
|
else:
|
|
108
|
-
from .dirac.wilson import WilsonDirac
|
|
108
|
+
from pyquda.dirac.wilson import WilsonDirac
|
|
109
109
|
|
|
110
110
|
return WilsonDirac(latt_info, mass, tol, maxiter, geo_block_size)
|
|
111
111
|
|
|
@@ -131,6 +131,6 @@ def getStaggeredDslash(
|
|
|
131
131
|
t_boundary = 1
|
|
132
132
|
latt_info = LatticeInfo([Lx, Ly, Lz, Lt], t_boundary, 1.0)
|
|
133
133
|
|
|
134
|
-
from .dirac.hisq import HISQDirac
|
|
134
|
+
from pyquda.dirac.hisq import HISQDirac
|
|
135
135
|
|
|
136
136
|
return HISQDirac(latt_info, mass, tol, maxiter, naik_epsilon, None)
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
from typing import List
|
|
2
2
|
import numpy
|
|
3
3
|
|
|
4
|
-
from
|
|
5
|
-
from pyquda.field import cb2, LatticeGauge, LatticeInfo, LatticePropagator
|
|
4
|
+
from .core import evenodd, getGridSize, LatticeGauge, LatticeInfo, LatticePropagator
|
|
6
5
|
|
|
7
6
|
import gpt as g
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
def LatticeInfoGPT(grid: g.grid, gen_simd_width: int):
|
|
11
10
|
assert getGridSize() == grid.mpi
|
|
12
|
-
|
|
11
|
+
GLx, GLy, GLz, GLt = grid.fdimensions
|
|
12
|
+
Gx, Gy, Gz, Gt = grid.mpi
|
|
13
|
+
Lx, Ly, Lz, Lt = GLx // Gx, GLy // Gy, GLz // Gz, GLt // Gt
|
|
14
|
+
sublatt_size = [Lx, Ly, Lz, Lt]
|
|
13
15
|
Nd = len(sublatt_size)
|
|
14
16
|
precision = grid.precision.nbytes
|
|
15
17
|
n_simd = gen_simd_width // (2 * precision)
|
|
@@ -32,7 +34,7 @@ def LatticeGaugeGPT(lattice: List[g.lattice], gen_simd_width: int, gauge: Lattic
|
|
|
32
34
|
value = []
|
|
33
35
|
for index in range(latt_info.Nd):
|
|
34
36
|
value.append(
|
|
35
|
-
|
|
37
|
+
evenodd(
|
|
36
38
|
numpy.asarray(lattice[index].mview()[0])
|
|
37
39
|
.view(f"<c{2 * gpt_prec}")
|
|
38
40
|
.reshape(*gpt_latt[::-1], Nc, Nc, *gpt_simd[::-1])
|
|
@@ -47,9 +49,10 @@ def LatticeGaugeGPT(lattice: List[g.lattice], gen_simd_width: int, gauge: Lattic
|
|
|
47
49
|
else:
|
|
48
50
|
assert latt_info.size == gauge.latt_info.size
|
|
49
51
|
for index in range(latt_info.Nd):
|
|
50
|
-
gpt_shape = [i for sl in zip(gpt_simd, gpt_latt) for i in sl]
|
|
52
|
+
gpt_shape = [i for sl in zip(gpt_simd[::-1], gpt_latt[::-1]) for i in sl]
|
|
51
53
|
lattice[index].mview()[0][:] = (
|
|
52
|
-
gauge[index]
|
|
54
|
+
gauge[index]
|
|
55
|
+
.lexico()
|
|
53
56
|
.astype(f"<c{2 * gpt_prec}")
|
|
54
57
|
.reshape(*gpt_shape, Nc, Nc)
|
|
55
58
|
.transpose(1, 3, 5, 7, 8, 9, 0, 2, 4, 6)
|
|
@@ -65,7 +68,7 @@ def LatticePropagatorGPT(lattice: g.lattice, gen_simd_width: int, propagator: La
|
|
|
65
68
|
Ns, Nc = latt_info.Ns, latt_info.Nc
|
|
66
69
|
assert lattice.describe().startswith(f"ot_matrix_spin_color({Ns},{Nc})")
|
|
67
70
|
if propagator is None:
|
|
68
|
-
value =
|
|
71
|
+
value = evenodd(
|
|
69
72
|
numpy.asarray(lattice.mview()[0])
|
|
70
73
|
.view(f"<c{2 * gpt_prec}")
|
|
71
74
|
.reshape(*gpt_latt[::-1], Ns, Ns, Nc, Nc, *gpt_simd[::-1])
|
|
@@ -2,7 +2,7 @@ from typing import List, Union
|
|
|
2
2
|
|
|
3
3
|
import numpy
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from ..core import Ns, Nc, LatticeInfo, LatticeGauge, LatticePropagator, LatticeStaggeredPropagator, evenodd, lexico
|
|
6
6
|
|
|
7
7
|
# matrices to convert gamma basis bewteen DeGrand-Rossi and Dirac-Pauli
|
|
8
8
|
# \psi(DP) = _DR_TO_DP \psi(DR)
|
|
@@ -71,119 +71,107 @@ def rotateToDeGrandRossi(propagator: LatticePropagator):
|
|
|
71
71
|
|
|
72
72
|
def readChromaQIOGauge(filename: str, checksum: bool = True):
|
|
73
73
|
from pyquda import getGridSize
|
|
74
|
-
from .chroma import readQIOGauge as read
|
|
74
|
+
from pyquda_io.chroma import readQIOGauge as read
|
|
75
75
|
|
|
76
76
|
latt_size, gauge_raw = read(filename, getGridSize(), checksum)
|
|
77
|
-
return LatticeGauge(LatticeInfo(latt_size),
|
|
77
|
+
return LatticeGauge(LatticeInfo(latt_size), evenodd(gauge_raw, [1, 2, 3, 4]))
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
def readILDGBinGauge(filename: str, dtype: str, latt_size: List[int]):
|
|
81
81
|
from pyquda import getGridSize
|
|
82
|
-
from .chroma import readILDGBinGauge as read
|
|
82
|
+
from pyquda_io.chroma import readILDGBinGauge as read
|
|
83
83
|
|
|
84
84
|
gauge_raw = read(filename, dtype, latt_size, getGridSize())
|
|
85
|
-
return LatticeGauge(LatticeInfo(latt_size),
|
|
85
|
+
return LatticeGauge(LatticeInfo(latt_size), evenodd(gauge_raw, [1, 2, 3, 4]))
|
|
86
86
|
|
|
87
87
|
|
|
88
88
|
def readChromaQIOPropagator(filename: str, checksum: bool = True):
|
|
89
89
|
from pyquda import getGridSize
|
|
90
|
-
from .chroma import readQIOPropagator as read
|
|
90
|
+
from pyquda_io.chroma import readQIOPropagator as read
|
|
91
91
|
|
|
92
92
|
latt_size, staggered, propagator_raw = read(filename, getGridSize(), checksum)
|
|
93
93
|
if not staggered:
|
|
94
|
-
return LatticePropagator(LatticeInfo(latt_size),
|
|
94
|
+
return LatticePropagator(LatticeInfo(latt_size), evenodd(propagator_raw, [0, 1, 2, 3]))
|
|
95
95
|
else:
|
|
96
|
-
return LatticeStaggeredPropagator(LatticeInfo(latt_size),
|
|
96
|
+
return LatticeStaggeredPropagator(LatticeInfo(latt_size), evenodd(propagator_raw, [0, 1, 2, 3]))
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
def readMILCGauge(filename: str, checksum: bool = True):
|
|
100
100
|
from pyquda import getGridSize
|
|
101
|
-
from .milc import readGauge as read
|
|
101
|
+
from pyquda_io.milc import readGauge as read
|
|
102
102
|
|
|
103
103
|
latt_size, gauge_raw = read(filename, getGridSize(), checksum)
|
|
104
|
-
return LatticeGauge(LatticeInfo(latt_size),
|
|
104
|
+
return LatticeGauge(LatticeInfo(latt_size), evenodd(gauge_raw, [1, 2, 3, 4]))
|
|
105
105
|
|
|
106
106
|
|
|
107
107
|
def writeMILCGauge(filename: str, gauge: LatticeGauge):
|
|
108
|
-
from .milc import writeGauge as write
|
|
108
|
+
from pyquda_io.milc import writeGauge as write
|
|
109
109
|
|
|
110
110
|
write(filename, gauge.latt_info.global_size, gauge.latt_info.grid_size, gauge.lexico())
|
|
111
111
|
|
|
112
112
|
|
|
113
113
|
def readMILCQIOPropagator(filename: str):
|
|
114
114
|
from pyquda import getGridSize
|
|
115
|
-
from .milc import readQIOPropagator as read
|
|
115
|
+
from pyquda_io.milc import readQIOPropagator as read
|
|
116
116
|
|
|
117
117
|
latt_size, staggered, propagator_raw = read(filename, getGridSize())
|
|
118
118
|
if not staggered:
|
|
119
|
-
return LatticePropagator(LatticeInfo(latt_size),
|
|
119
|
+
return LatticePropagator(LatticeInfo(latt_size), evenodd(propagator_raw, [0, 1, 2, 3]))
|
|
120
120
|
else:
|
|
121
|
-
return LatticeStaggeredPropagator(LatticeInfo(latt_size),
|
|
121
|
+
return LatticeStaggeredPropagator(LatticeInfo(latt_size), evenodd(propagator_raw, [0, 1, 2, 3]))
|
|
122
122
|
|
|
123
123
|
|
|
124
124
|
def readKYUGauge(filename: str, latt_size: List[int]):
|
|
125
125
|
from pyquda import getGridSize
|
|
126
|
-
from .kyu import readGauge as read
|
|
126
|
+
from pyquda_io.kyu import readGauge as read
|
|
127
127
|
|
|
128
128
|
gauge_raw = read(filename, latt_size, getGridSize())
|
|
129
|
-
return LatticeGauge(LatticeInfo(latt_size),
|
|
129
|
+
return LatticeGauge(LatticeInfo(latt_size), evenodd(gauge_raw, [1, 2, 3, 4]))
|
|
130
130
|
|
|
131
131
|
|
|
132
132
|
def writeKYUGauge(filename: str, gauge: LatticeGauge):
|
|
133
|
-
from .kyu import writeGauge as write
|
|
133
|
+
from pyquda_io.kyu import writeGauge as write
|
|
134
134
|
|
|
135
135
|
write(filename, gauge.latt_info.global_size, gauge.latt_info.grid_size, gauge.lexico())
|
|
136
136
|
|
|
137
137
|
|
|
138
138
|
def readKYUPropagator(filename: str, latt_size: List[int]):
|
|
139
139
|
from pyquda import getGridSize
|
|
140
|
-
from .kyu import readPropagator as read
|
|
140
|
+
from pyquda_io.kyu import readPropagator as read
|
|
141
141
|
|
|
142
142
|
propagator_raw = read(filename, latt_size, getGridSize())
|
|
143
|
-
|
|
144
|
-
propagator = rotateToDeGrandRossi(propagator)
|
|
145
|
-
return propagator
|
|
143
|
+
return LatticePropagator(LatticeInfo(latt_size), evenodd(propagator_raw, [0, 1, 2, 3]))
|
|
146
144
|
|
|
147
145
|
|
|
148
146
|
def writeKYUPropagator(filename: str, propagator: LatticePropagator):
|
|
149
|
-
from .kyu import writePropagator as write
|
|
147
|
+
from pyquda_io.kyu import writePropagator as write
|
|
150
148
|
|
|
151
|
-
propagator
|
|
152
|
-
propagator_raw = propagator.lexico()
|
|
153
|
-
write(filename, propagator.latt_info.global_size, propagator.latt_info.grid_size, propagator_raw)
|
|
149
|
+
write(filename, propagator.latt_info.global_size, propagator.latt_info.grid_size, propagator.lexico())
|
|
154
150
|
|
|
155
151
|
|
|
156
152
|
def readXQCDPropagator(filename: str, latt_size: List[int], staggered: bool):
|
|
157
153
|
from pyquda import getGridSize
|
|
158
|
-
from .xqcd import readPropagator as read
|
|
154
|
+
from pyquda_io.xqcd import readPropagator as read
|
|
159
155
|
|
|
160
156
|
propagator_raw = read(filename, latt_size, getGridSize(), staggered)
|
|
161
|
-
|
|
162
|
-
return rotateToDeGrandRossi(LatticePropagator(LatticeInfo(latt_size), cb2(propagator_raw, [0, 1, 2, 3])))
|
|
163
|
-
else:
|
|
164
|
-
return LatticeStaggeredPropagator(LatticeInfo(latt_size), cb2(propagator_raw, [0, 1, 2, 3]))
|
|
157
|
+
return LatticeStaggeredPropagator(LatticeInfo(latt_size), evenodd(propagator_raw, [0, 1, 2, 3]))
|
|
165
158
|
|
|
166
159
|
|
|
167
160
|
def writeXQCDPropagator(filename: str, propagator: Union[LatticePropagator, LatticeStaggeredPropagator]):
|
|
168
|
-
from .xqcd import writePropagator as write
|
|
161
|
+
from pyquda_io.xqcd import writePropagator as write
|
|
169
162
|
|
|
170
|
-
latt_size = propagator.latt_info.global_size
|
|
171
|
-
grid_size = propagator.latt_info.grid_size
|
|
172
163
|
staggered = isinstance(propagator, LatticeStaggeredPropagator)
|
|
173
|
-
|
|
174
|
-
write(filename, latt_size, grid_size, rotateToDiracPauli(propagator).lexico(), staggered)
|
|
175
|
-
else:
|
|
176
|
-
write(filename, latt_size, grid_size, propagator.lexico(), staggered)
|
|
164
|
+
write(filename, propagator.latt_info.global_size, propagator.latt_info.grid_size, propagator.lexico(), staggered)
|
|
177
165
|
|
|
178
166
|
|
|
179
167
|
def readXQCDPropagatorFast(filename: str, latt_size: List[int]):
|
|
180
168
|
from pyquda import getGridSize
|
|
181
|
-
from .xqcd import readPropagatorFast as read
|
|
169
|
+
from pyquda_io.xqcd import readPropagatorFast as read
|
|
182
170
|
|
|
183
171
|
latt_info = LatticeInfo(latt_size)
|
|
184
172
|
Lx, Ly, Lz, Lt = latt_info.size
|
|
185
173
|
propagator_raw = read(filename, getGridSize(), latt_size)
|
|
186
|
-
propagator = LatticePropagator(latt_info,
|
|
174
|
+
propagator = LatticePropagator(latt_info, evenodd(propagator_raw, [2, 3, 4, 5]))
|
|
187
175
|
propagator.data = propagator.data.reshape(Ns, Nc, 2, Lt, Lz, Ly, Lx // 2, Ns, Nc)
|
|
188
176
|
propagator.toDevice()
|
|
189
177
|
propagator.data = propagator.data.transpose(2, 3, 4, 5, 6, 7, 0, 8, 1).astype("<c16")
|
|
@@ -192,7 +180,7 @@ def readXQCDPropagatorFast(filename: str, latt_size: List[int]):
|
|
|
192
180
|
|
|
193
181
|
|
|
194
182
|
def writeXQCDPropagatorFast(filename: str, propagator: LatticePropagator):
|
|
195
|
-
from .xqcd import writePropagatorFast as write
|
|
183
|
+
from pyquda_io.xqcd import writePropagatorFast as write
|
|
196
184
|
|
|
197
185
|
latt_info = propagator.latt_info
|
|
198
186
|
Lx, Ly, Lz, Lt = latt_info.size
|
|
@@ -206,15 +194,15 @@ def writeXQCDPropagatorFast(filename: str, propagator: LatticePropagator):
|
|
|
206
194
|
|
|
207
195
|
def readNPYGauge(filename: str):
|
|
208
196
|
from pyquda import getGridSize
|
|
209
|
-
from .npy import readGauge as read
|
|
197
|
+
from pyquda_io.npy import readGauge as read
|
|
210
198
|
|
|
211
199
|
filename = filename if filename.endswith(".npy") else filename + ".npy"
|
|
212
200
|
latt_size, gauge_raw = read(filename, getGridSize())
|
|
213
|
-
return LatticeGauge(LatticeInfo(latt_size),
|
|
201
|
+
return LatticeGauge(LatticeInfo(latt_size), evenodd(gauge_raw, [1, 2, 3, 4]))
|
|
214
202
|
|
|
215
203
|
|
|
216
204
|
def writeNPYGauge(filename: str, gauge: LatticeGauge):
|
|
217
|
-
from .npy import writeGauge as write
|
|
205
|
+
from pyquda_io.npy import writeGauge as write
|
|
218
206
|
|
|
219
207
|
filename = filename if filename.endswith(".npy") else filename + ".npy"
|
|
220
208
|
write(filename, gauge.latt_info.global_size, gauge.latt_info.grid_size, gauge.lexico())
|
|
@@ -222,42 +210,42 @@ def writeNPYGauge(filename: str, gauge: LatticeGauge):
|
|
|
222
210
|
|
|
223
211
|
def readNPYPropagator(filename: str):
|
|
224
212
|
from pyquda import getGridSize
|
|
225
|
-
from .npy import readPropagator as read
|
|
213
|
+
from pyquda_io.npy import readPropagator as read
|
|
226
214
|
|
|
227
215
|
latt_size, propagator_raw = read(filename, getGridSize())
|
|
228
|
-
return LatticePropagator(LatticeInfo(latt_size),
|
|
216
|
+
return LatticePropagator(LatticeInfo(latt_size), evenodd(propagator_raw, [0, 1, 2, 3]))
|
|
229
217
|
|
|
230
218
|
|
|
231
219
|
def writeNPYPropagator(filename: str, propagator: LatticePropagator):
|
|
232
|
-
from .npy import writePropagator as write
|
|
220
|
+
from pyquda_io.npy import writePropagator as write
|
|
233
221
|
|
|
234
222
|
write(filename, propagator.latt_info.global_size, propagator.latt_info.grid_size, propagator.lexico())
|
|
235
223
|
|
|
236
224
|
|
|
237
225
|
def readOpenQCDGauge(filename: str, plaquette: bool = True):
|
|
238
226
|
from pyquda import getGridSize
|
|
239
|
-
from .openqcd import readGauge as read
|
|
227
|
+
from pyquda_io.openqcd import readGauge as read
|
|
240
228
|
|
|
241
229
|
latt_size, gauge = read(filename, getGridSize(), plaquette, False)
|
|
242
230
|
return LatticeGauge(LatticeInfo(latt_size), gauge)
|
|
243
231
|
|
|
244
232
|
|
|
245
233
|
def writeOpenQCDGauge(filename: str, gauge: LatticeGauge, plaquette: float = None):
|
|
246
|
-
from .openqcd import writeGauge as write
|
|
234
|
+
from pyquda_io.openqcd import writeGauge as write
|
|
247
235
|
|
|
248
236
|
write(filename, gauge.latt_info.global_size, gauge.latt_info.grid_size, gauge.getHost(), plaquette, False)
|
|
249
237
|
|
|
250
238
|
|
|
251
239
|
def readNERSCGauge(filename: str, plaquette: bool = True, link_trace: bool = True, checksum: bool = True):
|
|
252
240
|
from pyquda import getGridSize
|
|
253
|
-
from .nersc import readGauge as read
|
|
241
|
+
from pyquda_io.nersc import readGauge as read
|
|
254
242
|
|
|
255
243
|
latt_size, gauge_raw = read(filename, getGridSize(), plaquette, link_trace, checksum)
|
|
256
|
-
return LatticeGauge(LatticeInfo(latt_size),
|
|
244
|
+
return LatticeGauge(LatticeInfo(latt_size), evenodd(gauge_raw, [1, 2, 3, 4]))
|
|
257
245
|
|
|
258
246
|
|
|
259
247
|
def writeNERSCGauge(filename: str, gauge: LatticeGauge, plaquette: float = None, use_fp32: bool = False):
|
|
260
|
-
from .nersc import writeGauge as write
|
|
248
|
+
from pyquda_io.nersc import writeGauge as write
|
|
261
249
|
|
|
262
250
|
write(filename, gauge.latt_info.global_size, gauge.latt_info.grid_size, gauge.lexico(), plaquette, use_fp32)
|
|
263
251
|
|
|
@@ -3,8 +3,7 @@ from typing import Sequence
|
|
|
3
3
|
|
|
4
4
|
import numpy
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from pyquda.field import LatticeInfo, cb2
|
|
6
|
+
from .core import getLogger, getCUDABackend, evenodd, LatticeInfo
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
def getMomList(mom2_max, mom2_min=0):
|
|
@@ -120,7 +119,7 @@ class GridPhase:
|
|
|
120
119
|
phase = numpy.zeros((Lt, Lz, Ly, Lx), "<i4")
|
|
121
120
|
if sx < Lx and sy < Ly and sz < Lz and st < Lt:
|
|
122
121
|
phase[st::St, sz::Sz, sy::Sy, sx::Sx] = 1
|
|
123
|
-
phase =
|
|
122
|
+
phase = evenodd(phase, [0, 1, 2, 3])
|
|
124
123
|
|
|
125
124
|
backend = getCUDABackend()
|
|
126
125
|
if backend == "numpy":
|
{pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/pyquda_utils/quasi_axial_gauge_fixing.py
RENAMED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import numpy as np
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from pyquda.field import cb2, LatticeLink, LatticeGauge, LatticeFermion, X, Y, Z, T
|
|
3
|
+
from .core import getRankFromCoord, evenodd, LatticeLink, LatticeGauge, LatticeFermion, X, Y, Z, T
|
|
5
4
|
|
|
6
5
|
|
|
7
6
|
def quasiAxialGaugeFixing(gauge: LatticeGauge, dir: int):
|
|
@@ -58,7 +57,7 @@ def quasiAxialGaugeFixing(gauge: LatticeGauge, dir: int):
|
|
|
58
57
|
rotate[0] = contract("xab,xb->xab", v, cupy.exp(1j * (gi * Li) / GLi * w))
|
|
59
58
|
for i in range(1, Li):
|
|
60
59
|
rotate[i] = contract("xba,xbc,xc->xac", gauge_prod[i - 1].conj(), v, cupy.exp(1j * (i + gi * Li) / GLi * w))
|
|
61
|
-
rotate = LatticeLink(gauge.latt_info,
|
|
60
|
+
rotate = LatticeLink(gauge.latt_info, evenodd(rotate.reshape(*axes_shape).transpose(*axes).get(), [0, 1, 2, 3]))
|
|
62
61
|
rotate.toDevice()
|
|
63
62
|
rotate_ = LatticeFermion(gauge.latt_info)
|
|
64
63
|
rotate.pack(rotate_)
|
|
@@ -11,5 +11,7 @@ if "egg_info" in sys.argv or "dist_info" in sys.argv or "sdist" in sys.argv:
|
|
|
11
11
|
tag, post = describe, 0
|
|
12
12
|
with open(os.path.join(os.path.dirname(__file__), "pyquda_utils", "_version.py"), "w") as f:
|
|
13
13
|
f.write(f'__version__ = "{tag[1:]}.dev{post}"\n')
|
|
14
|
+
with open(os.path.join(os.path.dirname(__file__), "pyquda_io", "_version.py"), "w") as f:
|
|
15
|
+
f.write(f'__version__ = "{tag[1:]}.dev{post}"\n')
|
|
14
16
|
|
|
15
17
|
setup()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.9.10.dev1"
|
|
File without changes
|
|
File without changes
|
{pyquda_utils-0.9.10.dev1 → pyquda_utils-0.9.11.dev1}/PyQUDA_Utils.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyquda_utils-0.9.10.dev1/pyquda_utils/io → pyquda_utils-0.9.11.dev1/pyquda_io}/io_general.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|