qadence 1.5.2__py3-none-any.whl → 1.6.1__py3-none-any.whl
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.
- qadence/__init__.py +33 -5
- qadence/backend.py +2 -2
- qadence/backends/adjoint.py +8 -4
- qadence/backends/braket/backend.py +3 -2
- qadence/backends/braket/config.py +2 -2
- qadence/backends/gpsr.py +1 -1
- qadence/backends/horqrux/backend.py +23 -31
- qadence/backends/horqrux/config.py +2 -2
- qadence/backends/pulser/backend.py +82 -45
- qadence/backends/pulser/config.py +0 -28
- qadence/backends/pulser/convert_ops.py +20 -7
- qadence/backends/pulser/pulses.py +2 -2
- qadence/backends/pyqtorch/backend.py +3 -2
- qadence/backends/pyqtorch/config.py +2 -2
- qadence/backends/pyqtorch/convert_ops.py +40 -16
- qadence/blocks/block_to_tensor.py +7 -6
- qadence/blocks/matrix.py +2 -2
- qadence/blocks/primitive.py +2 -1
- qadence/blocks/utils.py +2 -2
- qadence/circuit.py +5 -2
- qadence/constructors/__init__.py +1 -10
- qadence/constructors/ansatze.py +1 -65
- qadence/constructors/daqc/daqc.py +3 -2
- qadence/constructors/daqc/gen_parser.py +3 -2
- qadence/constructors/daqc/utils.py +3 -3
- qadence/constructors/feature_maps.py +2 -90
- qadence/constructors/hamiltonians.py +2 -6
- qadence/constructors/rydberg_feature_maps.py +2 -2
- qadence/decompose.py +2 -2
- qadence/engines/torch/differentiable_expectation.py +7 -0
- qadence/extensions.py +4 -15
- qadence/log_config.yaml +24 -0
- qadence/logger.py +9 -27
- qadence/measurements/shadow.py +3 -16
- qadence/ml_tools/config.py +11 -1
- qadence/ml_tools/models.py +10 -2
- qadence/ml_tools/printing.py +1 -3
- qadence/ml_tools/saveload.py +23 -6
- qadence/ml_tools/train_grad.py +39 -6
- qadence/ml_tools/train_no_grad.py +2 -2
- qadence/models/quantum_model.py +13 -6
- qadence/noise/readout.py +2 -3
- qadence/operations/__init__.py +0 -2
- qadence/operations/analog.py +2 -12
- qadence/operations/control_ops.py +3 -2
- qadence/operations/ham_evo.py +5 -7
- qadence/operations/parametric.py +3 -2
- qadence/operations/primitive.py +2 -2
- qadence/overlap.py +7 -12
- qadence/parameters.py +2 -2
- qadence/serialization.py +2 -2
- qadence/states.py +20 -5
- qadence/transpile/block.py +2 -2
- qadence/types.py +2 -2
- qadence/utils.py +42 -3
- {qadence-1.5.2.dist-info → qadence-1.6.1.dist-info}/METADATA +15 -9
- {qadence-1.5.2.dist-info → qadence-1.6.1.dist-info}/RECORD +59 -58
- {qadence-1.5.2.dist-info → qadence-1.6.1.dist-info}/WHEEL +0 -0
- {qadence-1.5.2.dist-info → qadence-1.6.1.dist-info}/licenses/LICENSE +0 -0
qadence/overlap.py
CHANGED
@@ -14,21 +14,20 @@ from qadence.circuit import QuantumCircuit
|
|
14
14
|
from qadence.divergences import js_divergence
|
15
15
|
from qadence.measurements import Measurements
|
16
16
|
from qadence.models.quantum_model import QuantumModel
|
17
|
-
from qadence.operations import SWAP, H, I, S
|
17
|
+
from qadence.operations import SWAP, H, I, S
|
18
18
|
from qadence.transpile import reassign
|
19
19
|
from qadence.types import BackendName, DiffMode, OverlapMethod
|
20
|
+
from qadence.utils import P0, P1
|
20
21
|
|
21
22
|
# Modules to be automatically added to the qadence namespace
|
22
23
|
__all__ = ["Overlap", "OverlapMethod"]
|
23
24
|
|
24
25
|
|
25
26
|
def _cswap(control: int, target1: int, target2: int) -> AbstractBlock:
|
26
|
-
# define projectors on control qubit
|
27
|
-
p0 = 0.5 * I(control) + 0.5 * Z(control)
|
28
|
-
p1 = 0.5 * I(control) + (-0.5) * Z(control)
|
29
|
-
|
30
27
|
# construct controlled-SWAP block
|
31
|
-
cswap_blocks = kron(
|
28
|
+
cswap_blocks = kron(P0(control), I(target1), I(target2)) + kron(
|
29
|
+
P1(control), SWAP(target1, target2)
|
30
|
+
)
|
32
31
|
cswap = tag(cswap_blocks, f"CSWAP({control}, {target1}, {target2})")
|
33
32
|
|
34
33
|
return cswap
|
@@ -37,16 +36,12 @@ def _cswap(control: int, target1: int, target2: int) -> AbstractBlock:
|
|
37
36
|
def _controlled_unitary(control: int, unitary_block: AbstractBlock) -> AbstractBlock:
|
38
37
|
n_qubits = unitary_block.n_qubits
|
39
38
|
|
40
|
-
# define projectors on control qubit
|
41
|
-
p0 = 0.5 * I(control) + 0.5 * Z(control)
|
42
|
-
p1 = 0.5 * I(control) + (-0.5) * Z(control)
|
43
|
-
|
44
39
|
# shift qubit support of unitary
|
45
40
|
shifted_unitary_block = reassign(unitary_block, {i: control + i + 1 for i in range(n_qubits)})
|
46
41
|
|
47
42
|
# construct controlled-U block
|
48
|
-
cu_blocks = kron(
|
49
|
-
|
43
|
+
cu_blocks = kron(P0(control), *[I(control + i + 1) for i in range(n_qubits)]) + kron(
|
44
|
+
P1(control), shifted_unitary_block
|
50
45
|
)
|
51
46
|
cu = tag(cu_blocks, f"c-U({control}, {shifted_unitary_block.qubit_support})")
|
52
47
|
|
qadence/parameters.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
+
from logging import getLogger
|
3
4
|
from typing import Any, ItemsView, KeysView, ValuesView, get_args
|
4
5
|
from uuid import uuid4
|
5
6
|
|
@@ -12,13 +13,12 @@ from sympy.physics.quantum.dagger import Dagger
|
|
12
13
|
from sympytorch import SymPyModule as torchSympyModule
|
13
14
|
from torch import Tensor, heaviside, no_grad, rand, tensor
|
14
15
|
|
15
|
-
from qadence.logger import get_logger
|
16
16
|
from qadence.types import DifferentiableExpression, Engine, TNumber
|
17
17
|
|
18
18
|
# Modules to be automatically added to the qadence namespace
|
19
19
|
__all__ = ["FeatureParameter", "Parameter", "VariationalParameter"]
|
20
20
|
|
21
|
-
logger =
|
21
|
+
logger = getLogger(__name__)
|
22
22
|
|
23
23
|
dagger_expression = Dagger
|
24
24
|
|
qadence/serialization.py
CHANGED
@@ -6,6 +6,7 @@ import sys
|
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from dataclasses import field as dataclass_field
|
8
8
|
from functools import lru_cache
|
9
|
+
from logging import getLogger
|
9
10
|
from pathlib import Path
|
10
11
|
from typing import Any, Callable, get_args
|
11
12
|
from typing import Union as TypingUnion
|
@@ -20,7 +21,6 @@ from qadence import QuantumCircuit, operations, parameters
|
|
20
21
|
from qadence import blocks as qadenceblocks
|
21
22
|
from qadence.blocks import AbstractBlock
|
22
23
|
from qadence.blocks.utils import tag
|
23
|
-
from qadence.logger import get_logger
|
24
24
|
from qadence.models import QuantumModel
|
25
25
|
from qadence.parameters import Parameter
|
26
26
|
from qadence.register import Register
|
@@ -30,7 +30,7 @@ from qadence.types import SerializationFormat
|
|
30
30
|
__all__ = ["deserialize", "load", "save", "serialize"]
|
31
31
|
|
32
32
|
|
33
|
-
logger =
|
33
|
+
logger = getLogger(__name__)
|
34
34
|
|
35
35
|
|
36
36
|
def file_extension(file: Path | str) -> str:
|
qadence/states.py
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
import random
|
4
|
+
import warnings
|
4
5
|
from functools import singledispatch
|
5
6
|
from typing import List
|
6
7
|
|
7
8
|
import torch
|
9
|
+
from jax.typing import ArrayLike
|
8
10
|
from torch import Tensor, concat
|
9
11
|
from torch.distributions import Categorical, Distribution
|
10
12
|
|
@@ -12,7 +14,6 @@ from qadence.blocks import ChainBlock, KronBlock, PrimitiveBlock, chain, kron
|
|
12
14
|
from qadence.circuit import QuantumCircuit
|
13
15
|
from qadence.execution import run
|
14
16
|
from qadence.operations import CNOT, RX, RY, RZ, H, I, X
|
15
|
-
from qadence.overlap import fidelity
|
16
17
|
from qadence.types import PI, BackendName, Endianness, StateGeneratorType
|
17
18
|
from qadence.utils import basis_to_int
|
18
19
|
|
@@ -185,14 +186,18 @@ def one_state(n_qubits: int, batch_size: int = 1) -> Tensor:
|
|
185
186
|
|
186
187
|
@singledispatch
|
187
188
|
def product_state(
|
188
|
-
bitstring: str,
|
189
|
-
|
189
|
+
bitstring: str,
|
190
|
+
batch_size: int = 1,
|
191
|
+
endianness: Endianness = Endianness.BIG,
|
192
|
+
backend: str = "pyqtorch",
|
193
|
+
) -> ArrayLike:
|
190
194
|
"""
|
191
195
|
Creates a product state from a bitstring.
|
192
196
|
|
193
197
|
Arguments:
|
194
198
|
bitstring (str): A bitstring.
|
195
199
|
batch_size (int) : Batch size.
|
200
|
+
backend (str): The backend to use. Default is "pyqtorch".
|
196
201
|
|
197
202
|
Returns:
|
198
203
|
A torch.Tensor.
|
@@ -201,10 +206,18 @@ def product_state(
|
|
201
206
|
```python exec="on" source="material-block" result="json"
|
202
207
|
from qadence.states import product_state
|
203
208
|
|
204
|
-
print(product_state("1100"))
|
209
|
+
print(product_state("1100", backend="pyqtorch"))
|
210
|
+
print(product_state("1100", backend="horqrux"))
|
205
211
|
```
|
206
212
|
"""
|
207
|
-
|
213
|
+
if batch_size:
|
214
|
+
warnings.warn(
|
215
|
+
"The input `batch_size` is going to be deprecated. "
|
216
|
+
"For now, default batch_size is set to 1.",
|
217
|
+
DeprecationWarning,
|
218
|
+
stacklevel=2,
|
219
|
+
)
|
220
|
+
return run(product_block(bitstring), backend=backend, endianness=endianness)
|
208
221
|
|
209
222
|
|
210
223
|
@product_state.register
|
@@ -529,6 +542,8 @@ def rand_bitstring(N: int) -> str:
|
|
529
542
|
def equivalent_state(
|
530
543
|
s0: torch.Tensor, s1: torch.Tensor, rtol: float = 0.0, atol: float = NORMALIZATION_ATOL
|
531
544
|
) -> bool:
|
545
|
+
from qadence.overlap import fidelity
|
546
|
+
|
532
547
|
fid = fidelity(s0, s1)
|
533
548
|
expected = torch.ones_like(fid)
|
534
549
|
return torch.allclose(fid, expected, rtol=rtol, atol=atol) # type: ignore[no-any-return]
|
qadence/transpile/block.py
CHANGED
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
from copy import deepcopy
|
4
4
|
from functools import singledispatch
|
5
|
+
from logging import getLogger
|
5
6
|
from typing import Callable, Iterable, Type
|
6
7
|
|
7
8
|
import sympy
|
@@ -26,11 +27,10 @@ from qadence.blocks.utils import (
|
|
26
27
|
_construct,
|
27
28
|
parameters,
|
28
29
|
)
|
29
|
-
from qadence.logger import get_logger
|
30
30
|
from qadence.operations import SWAP, I
|
31
31
|
from qadence.parameters import Parameter
|
32
32
|
|
33
|
-
logger =
|
33
|
+
logger = getLogger(__name__)
|
34
34
|
|
35
35
|
|
36
36
|
def repeat(
|
qadence/types.py
CHANGED
@@ -9,8 +9,8 @@ import sympy
|
|
9
9
|
from numpy.typing import ArrayLike
|
10
10
|
from torch import Tensor, pi
|
11
11
|
|
12
|
-
TNumber = Union[int, float, complex]
|
13
|
-
"""Union of python
|
12
|
+
TNumber = Union[int, float, complex, np.int64, np.float64]
|
13
|
+
"""Union of python and numpy numeric types."""
|
14
14
|
|
15
15
|
TDrawColor = Tuple[float, float, float, float]
|
16
16
|
|
qadence/utils.py
CHANGED
@@ -2,7 +2,9 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
import math
|
4
4
|
from collections import Counter
|
5
|
-
from
|
5
|
+
from functools import partial
|
6
|
+
from logging import getLogger
|
7
|
+
from typing import TYPE_CHECKING, Any
|
6
8
|
|
7
9
|
import numpy as np
|
8
10
|
import sympy
|
@@ -11,14 +13,17 @@ from torch import Tensor, stack, vmap
|
|
11
13
|
from torch import complex as make_complex
|
12
14
|
from torch.linalg import eigvals
|
13
15
|
|
14
|
-
from qadence.logger import get_logger
|
15
16
|
from qadence.types import Endianness, ResultType, TNumber
|
16
17
|
|
18
|
+
if TYPE_CHECKING:
|
19
|
+
from qadence.operations import Projector
|
20
|
+
|
21
|
+
|
17
22
|
# Modules to be automatically added to the qadence namespace
|
18
23
|
__all__ = [] # type: ignore
|
19
24
|
|
20
25
|
|
21
|
-
logger =
|
26
|
+
logger = getLogger(__name__)
|
22
27
|
|
23
28
|
|
24
29
|
def basis_to_int(basis: str, endianness: Endianness = Endianness.BIG) -> int:
|
@@ -259,3 +264,37 @@ def validate_values_and_state(
|
|
259
264
|
else:
|
260
265
|
if not is_qadence_shape(state, n_qubits) or state.shape[0] > 1:
|
261
266
|
raise ValueError("Jax only supports unbatched states.")
|
267
|
+
|
268
|
+
|
269
|
+
def one_qubit_projector(state: str, target: int) -> Projector:
|
270
|
+
"""Returns the projector for a single qubit system.
|
271
|
+
|
272
|
+
Args:
|
273
|
+
state (str): The state of the projector.
|
274
|
+
target (int): The target qubit.
|
275
|
+
|
276
|
+
Returns:
|
277
|
+
Projector: The projector operator.
|
278
|
+
"""
|
279
|
+
from qadence.operations import Projector
|
280
|
+
|
281
|
+
assert state in ["0", "1"], "State must be either '0' or '1'."
|
282
|
+
return Projector(ket=state, bra=state, qubit_support=target)
|
283
|
+
|
284
|
+
|
285
|
+
def one_qubit_projector_matrix(state: str) -> Tensor:
|
286
|
+
"""Returns the projector for a single qubit system.
|
287
|
+
|
288
|
+
Args:
|
289
|
+
state (str): The state of the projector.
|
290
|
+
|
291
|
+
Returns:
|
292
|
+
Tensor: The projector operator.
|
293
|
+
"""
|
294
|
+
return one_qubit_projector(state, 0).tensor().squeeze()
|
295
|
+
|
296
|
+
|
297
|
+
P0 = partial(one_qubit_projector, "0")
|
298
|
+
P1 = partial(one_qubit_projector, "1")
|
299
|
+
P0_MATRIX = one_qubit_projector_matrix("0")
|
300
|
+
P1_MATRIX = one_qubit_projector_matrix("1")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: qadence
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.6.1
|
4
4
|
Summary: Pasqal interface for circuit-based quantum computing SDKs
|
5
5
|
Author-email: Aleksander Wennersteen <aleksander.wennersteen@pasqal.com>, Gert-Jan Both <gert-jan.both@pasqal.com>, Niklas Heim <niklas.heim@pasqal.com>, Mario Dagrada <mario.dagrada@pasqal.com>, Vincent Elfving <vincent.elfving@pasqal.com>, Dominik Seitz <dominik.seitz@pasqal.com>, Roland Guichard <roland.guichard@pasqal.com>, "Joao P. Moutinho" <joao.moutinho@pasqal.com>, Vytautas Abramavicius <vytautas.abramavicius@pasqal.com>, Gergana Velikova <gergana.velikova@pasqal.com>, Eduardo Maschio <eduardo.maschio@pasqal.com>
|
6
6
|
License: Apache 2.0
|
@@ -11,9 +11,10 @@ Classifier: Programming Language :: Python :: 3
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.9
|
12
12
|
Classifier: Programming Language :: Python :: 3.10
|
13
13
|
Classifier: Programming Language :: Python :: 3.11
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
14
15
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
15
16
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
16
|
-
Requires-Python:
|
17
|
+
Requires-Python: >=3.9
|
17
18
|
Requires-Dist: arpeggio==2.0.2
|
18
19
|
Requires-Dist: deepdiff
|
19
20
|
Requires-Dist: jsonschema
|
@@ -21,20 +22,24 @@ Requires-Dist: matplotlib
|
|
21
22
|
Requires-Dist: nevergrad
|
22
23
|
Requires-Dist: numpy
|
23
24
|
Requires-Dist: openfermion
|
24
|
-
Requires-Dist: pyqtorch==1.1.
|
25
|
+
Requires-Dist: pyqtorch==1.1.2
|
26
|
+
Requires-Dist: pyyaml
|
25
27
|
Requires-Dist: rich
|
26
28
|
Requires-Dist: scipy
|
27
29
|
Requires-Dist: sympytorch>=0.1.2
|
28
30
|
Requires-Dist: tensorboard>=2.12.0
|
29
31
|
Requires-Dist: torch
|
30
32
|
Provides-Extra: all
|
31
|
-
Requires-Dist:
|
32
|
-
Requires-Dist: graphviz; extra == 'all'
|
33
|
+
Requires-Dist: braket; extra == 'all'
|
33
34
|
Requires-Dist: libs; extra == 'all'
|
34
35
|
Requires-Dist: protocols; extra == 'all'
|
35
|
-
Requires-Dist: pulser
|
36
|
+
Requires-Dist: pulser; extra == 'all'
|
37
|
+
Requires-Dist: visualization; extra == 'all'
|
36
38
|
Provides-Extra: braket
|
37
|
-
Requires-Dist: amazon-braket-sdk
|
39
|
+
Requires-Dist: amazon-braket-sdk<1.71.2; extra == 'braket'
|
40
|
+
Provides-Extra: dlprof
|
41
|
+
Requires-Dist: nvidia-dlprof[pytorch]; extra == 'dlprof'
|
42
|
+
Requires-Dist: nvidia-pyindex; extra == 'dlprof'
|
38
43
|
Provides-Extra: horqrux
|
39
44
|
Requires-Dist: einops; extra == 'horqrux'
|
40
45
|
Requires-Dist: flax; extra == 'horqrux'
|
@@ -48,8 +53,9 @@ Requires-Dist: qadence-libs; extra == 'libs'
|
|
48
53
|
Provides-Extra: protocols
|
49
54
|
Requires-Dist: qadence-protocols; extra == 'protocols'
|
50
55
|
Provides-Extra: pulser
|
51
|
-
Requires-Dist: pasqal-cloud
|
52
|
-
Requires-Dist: pulser
|
56
|
+
Requires-Dist: pasqal-cloud==0.8.1; extra == 'pulser'
|
57
|
+
Requires-Dist: pulser-core==0.18.1; extra == 'pulser'
|
58
|
+
Requires-Dist: pulser-simulation==0.18.1; extra == 'pulser'
|
53
59
|
Provides-Extra: visualization
|
54
60
|
Requires-Dist: graphviz; extra == 'visualization'
|
55
61
|
Description-Content-Type: text/markdown
|
@@ -1,24 +1,25 @@
|
|
1
|
-
qadence/__init__.py,sha256
|
2
|
-
qadence/backend.py,sha256=
|
3
|
-
qadence/circuit.py,sha256=
|
4
|
-
qadence/decompose.py,sha256=
|
1
|
+
qadence/__init__.py,sha256=LY5QUBt19J4PNAXsDa8w-ClsAXyoAUi1lqzDgsGjemY,2640
|
2
|
+
qadence/backend.py,sha256=TTzWEHEyOg7EH02IBiDkhE-Uwtj0fSLNMvQ48qtAcOk,14401
|
3
|
+
qadence/circuit.py,sha256=3lQdjj_srxgk6f5M3eh3kE-Qdov4FA9TZxZZb0E1_mI,6966
|
4
|
+
qadence/decompose.py,sha256=C4LYia_GcC9Rx3QO0ZLWTI9dN63a8WTEAXO0ZVQWuiE,5221
|
5
5
|
qadence/divergences.py,sha256=JhpELhWSnuDvQxa9hJp_DE3EQg2Ban-Ta0mHZ_fVrHg,1832
|
6
6
|
qadence/execution.py,sha256=5_P5OSatiwEAu7aAkCLau5VcmtIZiC3VFIj5YYdwAbY,9287
|
7
|
-
qadence/extensions.py,sha256=
|
7
|
+
qadence/extensions.py,sha256=qly8STovIr_tB9yJSlIjkaYfKFY-1VLto-Zqq0RdLAw,4247
|
8
8
|
qadence/finitediff.py,sha256=TijuaWUbX9VlbLyMYco6HkK9eCoRTVnKug4Ekd6mlTI,1592
|
9
9
|
qadence/libs.py,sha256=HetkKO8TCTlVCViQdVQJvxwBekrhd-y_iMox4UJMY1M,410
|
10
|
-
qadence/
|
11
|
-
qadence/
|
12
|
-
qadence/
|
10
|
+
qadence/log_config.yaml,sha256=WwSpxqMSXgPJ7wO_wh46UnFzXdgX9NVA4MbN3TcJFyE,485
|
11
|
+
qadence/logger.py,sha256=Hb76pK3VyQjVjJb4_NqFlOJgjYJVa8t7DHJFlzOM86M,407
|
12
|
+
qadence/overlap.py,sha256=VHEXfsqcn7aax1-f_iJ8Fe5Eoz4AcceQbwgqipifgzY,17104
|
13
|
+
qadence/parameters.py,sha256=9BuEt2MZRwxhmPZHVPLt-GF1ZUgXkmg63owgDiJa74U,12325
|
13
14
|
qadence/protocols.py,sha256=bcYTxSjgMPV-a-D6yv90jCpnGik8myzaNpFv9z1gzJ0,442
|
14
15
|
qadence/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
16
|
qadence/qubit_support.py,sha256=Nkn1Q01RVViTcggSIom7EFKdWpAuM4TMGwBZ5feCUxA,2120
|
16
17
|
qadence/register.py,sha256=cBMzwZ7GWZ5ieuFt0bpproEI6a2ncNwfjj7ic379zyg,10276
|
17
18
|
qadence/serial_expr_grammar.peg,sha256=z5ytL7do9kO8o4h-V5GrsDuLdso0KsRcMuIYURFfmAY,328
|
18
|
-
qadence/serialization.py,sha256=
|
19
|
-
qadence/states.py,sha256=
|
20
|
-
qadence/types.py,sha256=
|
21
|
-
qadence/utils.py,sha256=
|
19
|
+
qadence/serialization.py,sha256=0UdcDQP2tJOtygVQI258G3MgnDiZJmBY4o15w0G-O0Y,15686
|
20
|
+
qadence/states.py,sha256=XmywPGJw6vvWa0QkVegJHaYaimzXZQx42Uafo8HoTgo,14809
|
21
|
+
qadence/types.py,sha256=wsxZNik5d8xdw46Dp1xRHpVS1-mSM-kMl2J_W64UhgA,9732
|
22
|
+
qadence/utils.py,sha256=mTDI54uXsFXrKKFshmXFzDdoaeLMLlqA1MR2G061TSc,10092
|
22
23
|
qadence/analog/__init__.py,sha256=BCyS9R4KUjzUXN0Ax3b0eMo8ZAuSkGoJQVtZ4_pvAFs,279
|
23
24
|
qadence/analog/addressing.py,sha256=fu5-xW9lquEbagApNp23S_ET1kl0iDtZUrIYSVNmw9s,6435
|
24
25
|
qadence/analog/constants.py,sha256=B2phQoN1ASL8CwM-Dsa1rbraYwGwwPSeiB3HbVe-MPA,1243
|
@@ -26,55 +27,55 @@ qadence/analog/device.py,sha256=RmPXWxq77pJXzvV6CIVSUVxxy-oKd6SqoSnQESNLIqg,2412
|
|
26
27
|
qadence/analog/hamiltonian_terms.py,sha256=9LKidqqEMJTTdXeaxkxP_otTmcv9i4yeJ-JKCLOCK3Y,3421
|
27
28
|
qadence/analog/parse_analog.py,sha256=ppvMZtsKXOIkIehCgjbdmG9n232DIycSanyuyVth5Wg,4223
|
28
29
|
qadence/backends/__init__.py,sha256=ibm7wmZxuIoMYAQxgAx0MsfLYWOVHNWgLwyS1HjMuuI,215
|
29
|
-
qadence/backends/adjoint.py,sha256=
|
30
|
+
qadence/backends/adjoint.py,sha256=0NF7dFwjYWF-p3IwVdKjm7GaX9TO2CvfJiWiVzwSqNI,6946
|
30
31
|
qadence/backends/api.py,sha256=6PoK4ydhi2tj9w0ePMQl1G4kEFROoWe3lrkrtQwWxkc,3224
|
31
|
-
qadence/backends/gpsr.py,sha256=
|
32
|
+
qadence/backends/gpsr.py,sha256=MapXSAw-9JwJbVaGRlCvw2ltUNLtbOtmLBxxw0-kr-E,4283
|
32
33
|
qadence/backends/jax_utils.py,sha256=VfKhqCKknHDWZO21UFipWH_Lkiq175Z5GkP49gWjbyw,5038
|
33
34
|
qadence/backends/utils.py,sha256=hnV9AXztMvAPcO8mv9UhdGMbS9albiMQBxlYPgLrD68,6490
|
34
35
|
qadence/backends/braket/__init__.py,sha256=eruyDZKMqkh1LE7eJ980vcrLJbia35uUX6krAP78clI,121
|
35
|
-
qadence/backends/braket/backend.py,sha256=
|
36
|
-
qadence/backends/braket/config.py,sha256=
|
36
|
+
qadence/backends/braket/backend.py,sha256=WX5FG4WsrtdnG0at2DvIY0n_AFm44t4g5OIJ1e8r6fQ,8752
|
37
|
+
qadence/backends/braket/config.py,sha256=7cu22dmYdp48Fu760HPfxBHinaUnGmzx9MkE_EPhVN8,594
|
37
38
|
qadence/backends/braket/convert_ops.py,sha256=DVXV7sT9sX_yGOgPKclD9KIGgmbBRuDy_e39i1Z8I1s,3417
|
38
39
|
qadence/backends/horqrux/__init__.py,sha256=0OdVy6cq0oQggV48LO1WXdaZuSkDkz7OYNEPIkNAmfk,140
|
39
|
-
qadence/backends/horqrux/backend.py,sha256=
|
40
|
-
qadence/backends/horqrux/config.py,sha256=
|
40
|
+
qadence/backends/horqrux/backend.py,sha256=W5sYvX9QP-xD3MMjwX-ZMcpHuncPVqBTyn80jgWViUM,9094
|
41
|
+
qadence/backends/horqrux/config.py,sha256=xz7JlUcwW_4JAbvProbSI9hA1SXZRRAN0Hr2bvmLzfg,892
|
41
42
|
qadence/backends/horqrux/convert_ops.py,sha256=nzfYF0yjB7zwaHCEXWZUUYDfz38Yi22xF2zDRFaOwR0,8564
|
42
43
|
qadence/backends/pulser/__init__.py,sha256=capQ-eHqwtOeLf4mWsI0BIseAHhiLGie5cFD4-iVhUo,116
|
43
|
-
qadence/backends/pulser/backend.py,sha256=
|
44
|
+
qadence/backends/pulser/backend.py,sha256=51lbX-KfK6wFxFW7t0QwsXXwAw06D6z2msvSZzM_vD8,15363
|
44
45
|
qadence/backends/pulser/channels.py,sha256=ZF0yEXUFHAmi3IdeXjzdTNGR5NzaRRFTiUpUGVg2sO4,329
|
45
46
|
qadence/backends/pulser/cloud.py,sha256=0uUluvbFV9sOuCPraE-9uiVtC3Q8QaDY1IJMDi8grDM,2057
|
46
|
-
qadence/backends/pulser/config.py,sha256=
|
47
|
-
qadence/backends/pulser/convert_ops.py,sha256=
|
47
|
+
qadence/backends/pulser/config.py,sha256=aoHDmtgq5i0Zryxenw_p3uARY0B1w-UaYvfqDmrWHM0,2175
|
48
|
+
qadence/backends/pulser/convert_ops.py,sha256=of8NCZwHX0zSisRo-sBRSyQVg841iFKLhUm6WWZGsCY,1800
|
48
49
|
qadence/backends/pulser/devices.py,sha256=DermLZNfmCB3SqteKVW4uhg4jp6ya1G6ptnXbBnJogI,2448
|
49
|
-
qadence/backends/pulser/pulses.py,sha256=
|
50
|
+
qadence/backends/pulser/pulses.py,sha256=F4fExIRAhLPMtVg1bhNtDihUYHxu5RExGjovk8-CQIo,11884
|
50
51
|
qadence/backends/pulser/waveforms.py,sha256=0uz95b7rUaUUtN0tuHBZmJ0H6UBmfHST_59ozwsRCzg,2227
|
51
52
|
qadence/backends/pyqtorch/__init__.py,sha256=0OdVy6cq0oQggV48LO1WXdaZuSkDkz7OYNEPIkNAmfk,140
|
52
|
-
qadence/backends/pyqtorch/backend.py,sha256=
|
53
|
-
qadence/backends/pyqtorch/config.py,sha256=
|
54
|
-
qadence/backends/pyqtorch/convert_ops.py,sha256=
|
53
|
+
qadence/backends/pyqtorch/backend.py,sha256=7CkXccCHwK3pijNDmIB_-hdRGa79yhZ3_3A2p7wOSB0,9785
|
54
|
+
qadence/backends/pyqtorch/config.py,sha256=hhea1dDAeee7uDE1fiCh4lJRS0EMSc3mmbXn92HBdyA,1898
|
55
|
+
qadence/backends/pyqtorch/convert_ops.py,sha256=0CLIncSmOSOZh4o7kjdOSc9a60srtegGul-dj_Q8Ufc,18935
|
55
56
|
qadence/blocks/__init__.py,sha256=H6jEA_CptkE-eoB4UfSbUiDszbxxhZwECV_TgoZWXoU,960
|
56
57
|
qadence/blocks/abstract.py,sha256=35RcVlNvD1BmBoJ8bbYJ3LrdU72wixt9ZmTbCtEwNus,11796
|
57
58
|
qadence/blocks/analog.py,sha256=ymnnlSVoW1XL05ZvnnHCqRTHuOXIEY_7E9M0PNKJZy4,10812
|
58
|
-
qadence/blocks/block_to_tensor.py,sha256=
|
59
|
+
qadence/blocks/block_to_tensor.py,sha256=Sg7YGKUoPUUHKvyB8Khztrk7UYnV5SD451_3I00n84w,17367
|
59
60
|
qadence/blocks/composite.py,sha256=z_lXRBVnh-DdvfZdv6T0ZEmVhlU76zBt72P_FGGa-PQ,8897
|
60
61
|
qadence/blocks/embedding.py,sha256=TQt620UIVaNYHP34tpK9slv-PFiLvTQRYw5Ez9RuImE,6513
|
61
62
|
qadence/blocks/manipulate.py,sha256=kPmzej7mnWFoqTJA2CkGulT7hcPha0GGPARC8rjZltg,2387
|
62
|
-
qadence/blocks/matrix.py,sha256=
|
63
|
-
qadence/blocks/primitive.py,sha256=
|
64
|
-
qadence/blocks/utils.py,sha256=
|
65
|
-
qadence/constructors/__init__.py,sha256=
|
66
|
-
qadence/constructors/ansatze.py,sha256=
|
67
|
-
qadence/constructors/feature_maps.py,sha256=
|
68
|
-
qadence/constructors/hamiltonians.py,sha256=
|
63
|
+
qadence/blocks/matrix.py,sha256=WTByjt_0yf3OiK-OcJNEfSGO8Hyq_tIBlklSO_BtOb0,3776
|
64
|
+
qadence/blocks/primitive.py,sha256=NWxgpG77cjBy-APg-kAGOX2kOR-OuH8hzml8U_Zfv1A,16640
|
65
|
+
qadence/blocks/utils.py,sha256=iCJDi6HTYYaQQCoP3cdIKeCDuy8KQCxctrHN5QWXV-M,16349
|
66
|
+
qadence/constructors/__init__.py,sha256=PWfSKcEJmo5azIkcRuRWsmch3FOeXl055iPsboNzryQ,938
|
67
|
+
qadence/constructors/ansatze.py,sha256=bTrcF2RsyA_Btmkk80tWxP1dn9fK_SXAQFueIuWkT-c,9660
|
68
|
+
qadence/constructors/feature_maps.py,sha256=BaAxFi6fSKwjsfFjqZ8T7lyZfjotcgH2OW3b0j67YVk,8644
|
69
|
+
qadence/constructors/hamiltonians.py,sha256=QMYHKLWadj-jVTYGkojGAsy-06A8or6OyQrwE7xXa8M,8738
|
69
70
|
qadence/constructors/iia.py,sha256=z-4AA9Oj-j2oZ0QDkLYNk4duS3UHY_98Qwt9VO_ZDDU,7001
|
70
71
|
qadence/constructors/qft.py,sha256=2LpgQ-z1HUxB3rqHzYsbjqpdU63gyuuaUVCbNEFbjo8,7688
|
71
|
-
qadence/constructors/rydberg_feature_maps.py,sha256=
|
72
|
+
qadence/constructors/rydberg_feature_maps.py,sha256=RuXtuAhjpong78jpKUjZHdh4fOdHBnuht1ffoAMWdEE,4839
|
72
73
|
qadence/constructors/rydberg_hea.py,sha256=GrIrboyjEe1fJEbhtRYeCZ5dYzDVpMt-SQucS9UyNtw,8372
|
73
74
|
qadence/constructors/utils.py,sha256=ozcuu_pTWcuntYUqrMBwcAxHp6-CVs38uifVoD-pljY,3080
|
74
75
|
qadence/constructors/daqc/__init__.py,sha256=50_4Ak32d5A4CZeR65l0s-0lUsxgKerWNDK7GDmkNY4,140
|
75
|
-
qadence/constructors/daqc/daqc.py,sha256=
|
76
|
-
qadence/constructors/daqc/gen_parser.py,sha256=
|
77
|
-
qadence/constructors/daqc/utils.py,sha256=
|
76
|
+
qadence/constructors/daqc/daqc.py,sha256=LSeZBDGueI55Iwh-N9jz4XRvQNCjOMfL_sy14IV0jns,9914
|
77
|
+
qadence/constructors/daqc/gen_parser.py,sha256=taZMJ9BNp672qXqsNSQ8RY71tN2gMV4Rbgbm66Mza7w,3813
|
78
|
+
qadence/constructors/daqc/utils.py,sha256=1T83veISoOXhJYUWXhfocbISpfIgsrKrdDHCMbskGoQ,1067
|
78
79
|
qadence/draw/__init__.py,sha256=A2lU7_CfCjwZCnMRojG5CsoWm-7aWKpUYGyaJ9qBZIQ,2319
|
79
80
|
qadence/draw/themes.py,sha256=VV4YtC8X3UI63AuJO2D0fLMTLbdDUjIyXQcKuDuIVmI,5533
|
80
81
|
qadence/draw/utils.py,sha256=xsSogG76DYRLLetR0u7bDR66UTbDDPFok4YplFXYcso,12108
|
@@ -90,13 +91,13 @@ qadence/engines/jax/differentiable_backend.py,sha256=W5rDA8wb-ECnFWoLj4dVugF9v1l
|
|
90
91
|
qadence/engines/jax/differentiable_expectation.py,sha256=XBYHT1XKRuZfKxTcNy8KJpSDPt-2PR4ZCanImCPI9OI,3677
|
91
92
|
qadence/engines/torch/__init__.py,sha256=iZFdD32ot0B0CVyC-f5dVViOBnqoalxa6M9Lj4WQuPE,160
|
92
93
|
qadence/engines/torch/differentiable_backend.py,sha256=AWthwvKE8pCOih4dZ3tXxQX4W1ps9mBcvo7n4V9V24Y,3553
|
93
|
-
qadence/engines/torch/differentiable_expectation.py,sha256=
|
94
|
+
qadence/engines/torch/differentiable_expectation.py,sha256=fgWRxozb8OL1yRmHSZeltViYAwFq6DogarnUinV6jbQ,9607
|
94
95
|
qadence/exceptions/__init__.py,sha256=BU6vWrI9mshzr1aTPm1Ticr_o_42GjTrWI4OZXhThsI,203
|
95
96
|
qadence/exceptions/exceptions.py,sha256=4j_VJpx2sZ2Mir5BJUWu4nwb131FY1ygO4q8-XlyfRc,190
|
96
97
|
qadence/measurements/__init__.py,sha256=RIjG9tVJMqhNzyj7maZI250Um0KgHl2PizDcKJag-JU,161
|
97
98
|
qadence/measurements/protocols.py,sha256=mD50R9yPs5bIYH7Efd0BsR0503apiyrsZydi_Q6BJag,1161
|
98
99
|
qadence/measurements/samples.py,sha256=AVvszDwgfKnZ_ooATyTA3270vGeg1V3WO94jsfrTk-8,1200
|
99
|
-
qadence/measurements/shadow.py,sha256=
|
100
|
+
qadence/measurements/shadow.py,sha256=lYZWbBCJJh7pFXPV5jSvsyN_0g22ao3jARpKnx1jeJQ,12342
|
100
101
|
qadence/measurements/tomography.py,sha256=8fzXhYOu_DaMiUoZzLvpP03WhuwlZ3ldkWepLUHjWqM,2665
|
101
102
|
qadence/measurements/utils.py,sha256=CJmnSobzdeR4T4FuEpad7d-BSJ9W-wTaU9hRbveB6kY,6534
|
102
103
|
qadence/mitigations/__init__.py,sha256=RzaxYJftePFMloGhBVSixZ8fSe-ps_Jc-EyPm6xz-bs,159
|
@@ -104,38 +105,38 @@ qadence/mitigations/analog_zne.py,sha256=g0QkjSdF-N9Dv2N8Oza4sylnjUMid5ea-4NCT9T
|
|
104
105
|
qadence/mitigations/protocols.py,sha256=Jq9MyLujfTyWmc7XVUGYVRUkJT1MmZw-GgmWpVjmX2Y,1608
|
105
106
|
qadence/mitigations/readout.py,sha256=HPfYmdjRlieUdOBMZTghFK4DRWfveM4KkDkEI0bMI0E,6262
|
106
107
|
qadence/ml_tools/__init__.py,sha256=_H5A_BWZRZVGoJszb9s8XRJnLnJxUNfYjuT9HT2yASo,786
|
107
|
-
qadence/ml_tools/config.py,sha256=
|
108
|
+
qadence/ml_tools/config.py,sha256=bA_9TYeuy0DPdhFg0_3PFctd6bx4hKugg4LmlUB2jyw,2647
|
108
109
|
qadence/ml_tools/data.py,sha256=8ZUFjhQSp94w7icX7RzM2J39Yo7P_T-AgjcThBc8miI,4283
|
109
|
-
qadence/ml_tools/models.py,sha256
|
110
|
+
qadence/ml_tools/models.py,sha256=lELcq__wfGsurUm2UOgYkOzdBDwu66Nik9ySoAjDKnY,12673
|
110
111
|
qadence/ml_tools/optimize_step.py,sha256=ATXWmAqybJVK3QmAaDqVXB5mxjTo2MIi_e0a5WSPFpc,1800
|
111
112
|
qadence/ml_tools/parameters.py,sha256=gew2Kq_5-RgRpaTvs8eauVhgo0sTqqDQEV6WHFEiLGM,1301
|
112
|
-
qadence/ml_tools/printing.py,sha256=
|
113
|
-
qadence/ml_tools/saveload.py,sha256=
|
113
|
+
qadence/ml_tools/printing.py,sha256=YK2zc9SOc5wiLnMxm3Q1gSwPAVW9Vy2Pcnjg9gP0aKU,694
|
114
|
+
qadence/ml_tools/saveload.py,sha256=nKzEKaondgXX9pZaBmkUU3ccI92GbVRRMPfYCwOUJPk,5103
|
114
115
|
qadence/ml_tools/tensors.py,sha256=xZ9ZRzOqEaMgLUGWQf1najDmL6iLuN1ojCGVFs1Tm94,1337
|
115
|
-
qadence/ml_tools/train_grad.py,sha256=
|
116
|
-
qadence/ml_tools/train_no_grad.py,sha256=
|
116
|
+
qadence/ml_tools/train_grad.py,sha256=6ZFFd7wGKFFqz3wpVkSD_xFjQPJ4IgIpA0IjYanohcs,9507
|
117
|
+
qadence/ml_tools/train_no_grad.py,sha256=PrOfPwu6C-YqfFxnRkbeyOQzqSyjRrx4AZZd6C-1xRw,4705
|
117
118
|
qadence/ml_tools/utils.py,sha256=_GZSN5Flk1nRFutkXih397Q3cWKdX0UP8c9CRXpUL7c,1654
|
118
119
|
qadence/models/__init__.py,sha256=0nZzAC2TGr8Yuf40-R7m2cSsr_BlNq_GsMOwaOYZLqM,193
|
119
120
|
qadence/models/qnn.py,sha256=gc_iC1GG6WJbeLaln9jy4yYp9fY0p8fkpKkKJpXJ3ck,10397
|
120
|
-
qadence/models/quantum_model.py,sha256=
|
121
|
+
qadence/models/quantum_model.py,sha256=RcKdkWX0dQaYuJiZbJ1WUYpLKmlJLiUglWV0Gv0-DIo,14417
|
121
122
|
qadence/noise/__init__.py,sha256=r0nR8uEZeB1M9pI2UisjWq0bjw50fPFfVGzIMev923g,147
|
122
123
|
qadence/noise/protocols.py,sha256=-aZ06JvMnpxCeT5v5lI_RNPOLbb9Ju1Pi1AB6uAXxVE,1653
|
123
|
-
qadence/noise/readout.py,sha256=
|
124
|
-
qadence/operations/__init__.py,sha256=
|
125
|
-
qadence/operations/analog.py,sha256=
|
126
|
-
qadence/operations/control_ops.py,sha256=
|
127
|
-
qadence/operations/ham_evo.py,sha256=
|
128
|
-
qadence/operations/parametric.py,sha256=
|
129
|
-
qadence/operations/primitive.py,sha256=
|
124
|
+
qadence/noise/readout.py,sha256=UpUdxaGu09SmqKXn0O7RYfF7b7UcRZiNMfDlpY0weV0,6726
|
125
|
+
qadence/operations/__init__.py,sha256=HAAo9VZUTq2H7kcEarChTgTWCIq7LT25-xBxkwE0F9c,1922
|
126
|
+
qadence/operations/analog.py,sha256=v11DSrg-XUbwIAWAWM43y3VQbYKsx2ynx-HimUoC-x0,7435
|
127
|
+
qadence/operations/control_ops.py,sha256=ZDOmTXxQJXSP2ASNWNUlt7pIuEjAVNT2FmexbK_TisM,9484
|
128
|
+
qadence/operations/ham_evo.py,sha256=4KdIIkvkDZwoMs19qxDdNBsDC3W4keg33j1wZHXJNrE,7387
|
129
|
+
qadence/operations/parametric.py,sha256=BHGGn8k7hIZX8_0V1K1_FOnILAROEtqZGjBdIfzMcWI,4911
|
130
|
+
qadence/operations/primitive.py,sha256=ekiylIW7mWjesBXVyVmowF75Ek82T_eNUVcDTEAGzFg,9002
|
130
131
|
qadence/transpile/__init__.py,sha256=lb5LwsYb6lN5YFBsU3YBey7-0OcUQpYa3Q4hG6zmgi0,457
|
131
132
|
qadence/transpile/apply_fn.py,sha256=glZo2_wMOjw7_KgWKYbqg8j-9SDs-RefWIfxWgdQK8I,1336
|
132
|
-
qadence/transpile/block.py,sha256=
|
133
|
+
qadence/transpile/block.py,sha256=jV-EyatrwwdL2ahjF3wyEhC3PKMBPLaL5sQN1VNFc_w,11582
|
133
134
|
qadence/transpile/circuit.py,sha256=KTh6Gv1czZddFuA1JhNNszheZbwViVixiGh4rGvIgTM,451
|
134
135
|
qadence/transpile/digitalize.py,sha256=iWRwYAYQsD2INHj0HNbGJriv_3fRCuBW1nDBrwtKSuI,1523
|
135
136
|
qadence/transpile/flatten.py,sha256=EdhSG5WyF56nbnxINNLqrHgY84MRM1YFjT3fR4aph5Q,3427
|
136
137
|
qadence/transpile/invert.py,sha256=KAefHTG2AWr39aengVhXrzCtJPhrZC-ZnL6vYvmbnY0,4867
|
137
138
|
qadence/transpile/transpile.py,sha256=6MRRkk1OS279L1fwUQjazA6qlfpbd-T_EJMKT8hAhOU,2721
|
138
|
-
qadence-1.
|
139
|
-
qadence-1.
|
140
|
-
qadence-1.
|
141
|
-
qadence-1.
|
139
|
+
qadence-1.6.1.dist-info/METADATA,sha256=Pxh7WJ1Ox0a0x-ydT-YDAABkP5RMC-AJx_oxbFQsSkU,9168
|
140
|
+
qadence-1.6.1.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
|
141
|
+
qadence-1.6.1.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
142
|
+
qadence-1.6.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|