qilisdk 0.1.5__py3-none-any.whl → 0.1.7__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.
- qilisdk/analog/__init__.py +1 -2
- qilisdk/analog/hamiltonian.py +4 -71
- qilisdk/analog/schedule.py +291 -313
- qilisdk/backends/backend.py +5 -1
- qilisdk/backends/cuda_backend.py +10 -6
- qilisdk/backends/qutip_backend.py +24 -32
- qilisdk/{common → core}/__init__.py +4 -0
- qilisdk/core/interpolator.py +406 -0
- qilisdk/{common → core}/model.py +7 -7
- qilisdk/core/parameterizable.py +131 -0
- qilisdk/{common → core}/qtensor.py +1 -1
- qilisdk/{common → core}/variables.py +192 -11
- qilisdk/cost_functions/cost_function.py +1 -1
- qilisdk/cost_functions/model_cost_function.py +5 -5
- qilisdk/cost_functions/observable_cost_function.py +2 -2
- qilisdk/digital/ansatz.py +0 -3
- qilisdk/digital/circuit.py +3 -2
- qilisdk/digital/circuit_transpiler.py +46 -0
- qilisdk/digital/circuit_transpiler_passes/__init__.py +18 -0
- qilisdk/digital/circuit_transpiler_passes/circuit_transpiler_pass.py +36 -0
- qilisdk/digital/circuit_transpiler_passes/decompose_multi_controlled_gates_pass.py +216 -0
- qilisdk/digital/circuit_transpiler_passes/numeric_helpers.py +82 -0
- qilisdk/digital/gates.py +15 -5
- qilisdk/{speqtrum/experiments → experiments}/__init__.py +13 -2
- qilisdk/{speqtrum/experiments → experiments}/experiment_functional.py +90 -2
- qilisdk/{speqtrum/experiments → experiments}/experiment_result.py +16 -0
- qilisdk/functionals/functional.py +2 -2
- qilisdk/functionals/functional_result.py +1 -1
- qilisdk/functionals/sampling.py +8 -1
- qilisdk/functionals/time_evolution.py +8 -4
- qilisdk/functionals/time_evolution_result.py +2 -2
- qilisdk/functionals/variational_program.py +58 -0
- qilisdk/optimizers/optimizer_result.py +1 -1
- qilisdk/speqtrum/__init__.py +2 -0
- qilisdk/speqtrum/speqtrum.py +537 -152
- qilisdk/speqtrum/speqtrum_models.py +258 -2
- qilisdk/utils/openfermion/__init__.py +38 -0
- qilisdk/{common/algorithm.py → utils/openfermion/__init__.pyi} +2 -3
- qilisdk/utils/openfermion/openfermion.py +45 -0
- qilisdk/utils/visualization/schedule_renderers.py +22 -9
- {qilisdk-0.1.5.dist-info → qilisdk-0.1.7.dist-info}/METADATA +89 -39
- qilisdk-0.1.7.dist-info/RECORD +76 -0
- {qilisdk-0.1.5.dist-info → qilisdk-0.1.7.dist-info}/WHEEL +1 -1
- qilisdk/analog/linear_schedule.py +0 -118
- qilisdk/common/parameterizable.py +0 -75
- qilisdk-0.1.5.dist-info/RECORD +0 -69
- /qilisdk/{common → core}/exceptions.py +0 -0
- /qilisdk/{common → core}/result.py +0 -0
- {qilisdk-0.1.5.dist-info → qilisdk-0.1.7.dist-info}/licenses/LICENCE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: qilisdk
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.7
|
|
4
4
|
Summary: QiliSDK is a Python framework for writing digital and analog quantum algorithms and executing them across multiple quantum backends. Its modular design streamlines the development process and enables easy integration with a variety of quantum platforms.
|
|
5
5
|
Project-URL: Homepage, https://github.com/qilimanjaro-tech/qilisdk
|
|
6
6
|
Project-URL: Documentation, https://qilimanjaro-tech.github.io/qilisdk/
|
|
@@ -10,35 +10,39 @@ Project-URL: Changelog, https://github.com/qilimanjaro-tech/qilisdk/blob/main/CH
|
|
|
10
10
|
Author-email: Qilimanjaro Quantum Tech <info@qilimanjaro.tech>
|
|
11
11
|
License-File: LICENCE
|
|
12
12
|
Keywords: analog quantum computing,digital quantum computing,qilimanjaro,quantum computing
|
|
13
|
-
Classifier: Development Status ::
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
14
|
Classifier: Environment :: Console
|
|
15
15
|
Classifier: Intended Audience :: Developers
|
|
16
16
|
Classifier: Intended Audience :: Science/Research
|
|
17
17
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
18
18
|
Classifier: Operating System :: POSIX :: Linux
|
|
19
19
|
Classifier: Programming Language :: Python :: 3
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
23
|
Classifier: Topic :: Scientific/Engineering
|
|
24
24
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
25
25
|
Classifier: Topic :: Scientific/Engineering :: Quantum Computing
|
|
26
|
-
Requires-Python: >=3.
|
|
26
|
+
Requires-Python: >=3.11
|
|
27
27
|
Requires-Dist: dill>=0.3.9
|
|
28
28
|
Requires-Dist: loguru>=0.7.3
|
|
29
29
|
Requires-Dist: matplotlib>=3.10.7
|
|
30
|
-
Requires-Dist:
|
|
30
|
+
Requires-Dist: mkl-service>=2.4.2; sys_platform != 'darwin'
|
|
31
|
+
Requires-Dist: numpy>=2.2.0
|
|
31
32
|
Requires-Dist: pydantic-settings>=2.11.0
|
|
32
|
-
Requires-Dist: pydantic>=2.12.
|
|
33
|
-
Requires-Dist: ruamel-yaml>=0.18.
|
|
34
|
-
Requires-Dist: scipy
|
|
33
|
+
Requires-Dist: pydantic>=2.12.3
|
|
34
|
+
Requires-Dist: ruamel-yaml>=0.18.16
|
|
35
|
+
Requires-Dist: scipy<1.16.3,>=1.15; sys_platform != 'darwin'
|
|
36
|
+
Requires-Dist: scipy>=1.16.3; sys_platform == 'darwin'
|
|
35
37
|
Provides-Extra: cuda
|
|
36
|
-
Requires-Dist: cuda-quantum-cu12==0.
|
|
38
|
+
Requires-Dist: cuda-quantum-cu12==0.13.0; extra == 'cuda'
|
|
39
|
+
Provides-Extra: openfermion
|
|
40
|
+
Requires-Dist: openfermion>=1.7.1; extra == 'openfermion'
|
|
37
41
|
Provides-Extra: qutip
|
|
38
42
|
Requires-Dist: qutip-qip>=0.4.1; extra == 'qutip'
|
|
39
|
-
Requires-Dist: qutip>=5.2.
|
|
43
|
+
Requires-Dist: qutip>=5.2.2; extra == 'qutip'
|
|
40
44
|
Provides-Extra: speqtrum
|
|
41
|
-
Requires-Dist: httpx
|
|
45
|
+
Requires-Dist: httpx==0.28.1; extra == 'speqtrum'
|
|
42
46
|
Requires-Dist: keyring>=25.6.0; extra == 'speqtrum'
|
|
43
47
|
Requires-Dist: keyrings-alt>=5.0.2; extra == 'speqtrum'
|
|
44
48
|
Description-Content-Type: text/markdown
|
|
@@ -48,6 +52,7 @@ Description-Content-Type: text/markdown
|
|
|
48
52
|
[](https://pypi.org/project/qilisdk/)
|
|
49
53
|
[](https://pypi.org/project/qilisdk/)
|
|
50
54
|
[](#license)
|
|
55
|
+
[](https://qilimanjaro-tech.github.io/qilisdk/main/index.html)
|
|
51
56
|
|
|
52
57
|
**QiliSDK** is a Python framework for writing digital and analog quantum algorithms and executing them across multiple quantum backends. Its modular design streamlines the development process and enables easy integration with a variety of quantum platforms.
|
|
53
58
|
|
|
@@ -58,15 +63,15 @@ Description-Content-Type: text/markdown
|
|
|
58
63
|
- [Table of Contents](#table-of-contents)
|
|
59
64
|
- [Installation](#installation)
|
|
60
65
|
- [Base Installation](#base-installation)
|
|
61
|
-
- [Optional
|
|
66
|
+
- [Optional Dependencies: speqtrum, cuda, qutip](#optional-dependencies-speqtrum-cuda-qutip)
|
|
62
67
|
- [Usage](#usage)
|
|
63
68
|
- [Digital Quantum Circuits](#digital-quantum-circuits)
|
|
64
|
-
- [
|
|
69
|
+
- [Hamiltonians](#hamiltonians)
|
|
65
70
|
- [Optimizers](#optimizers)
|
|
66
|
-
- [
|
|
67
|
-
- [CUDA-Accelerated
|
|
68
|
-
- [Time Evolution](#time-evolution)
|
|
69
|
-
- [Variational
|
|
71
|
+
- [Qilimanjaro SpeQtrum](#qilimanjaro-speqtrum)
|
|
72
|
+
- [Sample a quantum Circuit Using a CUDA-Accelerated Simulator](#sample-a-quantum-circuit-using-a-cuda-accelerated-simulator)
|
|
73
|
+
- [Time Evolution using Qutip](#time-evolution-using-qutip)
|
|
74
|
+
- [Variational Programs](#variational-programs)
|
|
70
75
|
- [Open QASM Serialization](#open-qasm-serialization)
|
|
71
76
|
- [YAML Serialization](#yaml-serialization)
|
|
72
77
|
- [Development](#development)
|
|
@@ -94,7 +99,7 @@ Install the core QiliSDK package using pip:
|
|
|
94
99
|
pip install qilisdk
|
|
95
100
|
```
|
|
96
101
|
|
|
97
|
-
### Optional Dependencies
|
|
102
|
+
### Optional Dependencies: speqtrum, cuda, qutip
|
|
98
103
|
|
|
99
104
|
QiliSDK supports optional modules for additional functionality:
|
|
100
105
|
|
|
@@ -197,26 +202,35 @@ print("Optimal cost:", result.optimal_cost)
|
|
|
197
202
|
print("Optimal Parameters:", result.optimal_parameters)
|
|
198
203
|
```
|
|
199
204
|
|
|
200
|
-
### SpeQtrum
|
|
205
|
+
### Qilimanjaro SpeQtrum
|
|
201
206
|
|
|
202
207
|
QiliSDK includes a client for interacting with Qilimanjaro's SpeQtrum platform. This module supports secure login and a unified interface for both digital circuits and analog evolutions:
|
|
203
208
|
|
|
204
209
|
```python
|
|
205
|
-
from qilisdk.
|
|
210
|
+
from qilisdk.backends import CudaBackend, CudaSamplingMethod
|
|
211
|
+
from qilisdk.digital import Circuit, H, M
|
|
206
212
|
from qilisdk.functionals import Sampling
|
|
213
|
+
from qilisdk.speqtrum import SpeQtrum
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
# Build a single-qubit circuit
|
|
217
|
+
circuit = Circuit(nqubits=1)
|
|
218
|
+
circuit.add(H(0))
|
|
219
|
+
circuit.add(M(0))
|
|
207
220
|
|
|
208
221
|
# Login to QaaSBackend with credentials (or use environment variables)
|
|
209
222
|
# This only needs to be run once.
|
|
210
|
-
SpeQtrum.login(username="
|
|
223
|
+
SpeQtrum.login(username="YOUR_USERNAME", apikey="YOUR_APIKEY")
|
|
211
224
|
|
|
212
225
|
# Instantiate QaaSBackend
|
|
213
226
|
client = SpeQtrum()
|
|
214
227
|
|
|
215
|
-
#
|
|
216
|
-
|
|
228
|
+
# Execute a pre-built circuit (see Digital Quantum Circuits section)
|
|
229
|
+
# make sure to select the device (you can list available devices using ``client.list_devices()``)
|
|
230
|
+
job_id = client.submit(Sampling(circuit, 1000), device="SELECTED_DEVICE")
|
|
217
231
|
print("job id:", job_id)
|
|
218
|
-
print("job status:", client.
|
|
219
|
-
print("job result:", client.
|
|
232
|
+
print("job status:", client.get_job(job_id).status)
|
|
233
|
+
print("job result:", client.get_job(job_id).result)
|
|
220
234
|
```
|
|
221
235
|
|
|
222
236
|
### Sample a quantum Circuit Using a CUDA-Accelerated Simulator
|
|
@@ -241,18 +255,17 @@ print("CUDA Backend Results:", results)
|
|
|
241
255
|
|
|
242
256
|
### Time Evolution using Qutip
|
|
243
257
|
|
|
244
|
-
For analog simulations, the
|
|
258
|
+
For analog simulations, the `TimeEvolution` and unified `Schedule` classes allow you to simulate time-dependent quantum dynamics. The following example uses callable coefficients defined over an interval to interpolate between two Hamiltonians on a Qutip backend:
|
|
245
259
|
|
|
246
260
|
```python
|
|
247
|
-
import numpy as np
|
|
248
261
|
from qilisdk.analog import Schedule, X, Z, Y
|
|
249
|
-
from qilisdk.
|
|
262
|
+
from qilisdk.core import ket, tensor_prod
|
|
250
263
|
from qilisdk.backends import QutipBackend
|
|
251
264
|
from qilisdk.functionals import TimeEvolution
|
|
252
265
|
|
|
253
266
|
# Define total time and timestep
|
|
254
|
-
T = 100
|
|
255
|
-
|
|
267
|
+
T = 100.0
|
|
268
|
+
dt = 0.1
|
|
256
269
|
nqubits = 1
|
|
257
270
|
|
|
258
271
|
# Define Hamiltonians
|
|
@@ -260,13 +273,14 @@ Hx = sum(X(i) for i in range(nqubits))
|
|
|
260
273
|
Hz = sum(Z(i) for i in range(nqubits))
|
|
261
274
|
|
|
262
275
|
# Build a time‑dependent schedule
|
|
263
|
-
schedule = Schedule(
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
276
|
+
schedule = Schedule(
|
|
277
|
+
hamiltonians={"hx": Hx, "hz": Hz},
|
|
278
|
+
coefficients={
|
|
279
|
+
"hx": {(0.0, T): lambda t: 1 - t / T},
|
|
280
|
+
"hz": {(0.0, T): lambda t: t / T},
|
|
281
|
+
},
|
|
282
|
+
dt=dt,
|
|
283
|
+
)
|
|
270
284
|
|
|
271
285
|
# draw the schedule
|
|
272
286
|
schedule.draw()
|
|
@@ -299,8 +313,8 @@ Here you find an example of building a Variational Quantum Eigensolver (VQE). To
|
|
|
299
313
|
```python
|
|
300
314
|
from qilisdk.digital.gates import U2, CNOT
|
|
301
315
|
from qilisdk.optimizers import SciPyOptimizer
|
|
302
|
-
from qilisdk.
|
|
303
|
-
from qilisdk.
|
|
316
|
+
from qilisdk.core.model import Model
|
|
317
|
+
from qilisdk.core.variables import LEQ, BinaryVariable
|
|
304
318
|
from qilisdk.digital.ansatz import HardwareEfficientAnsatz
|
|
305
319
|
from qilisdk.functionals import VariationalProgram, Sampling
|
|
306
320
|
from qilisdk.backends import CudaBackend
|
|
@@ -418,6 +432,42 @@ print("Reconstructed Circuit:")
|
|
|
418
432
|
restored_circuit.draw()
|
|
419
433
|
```
|
|
420
434
|
|
|
435
|
+
### OpenFermion Integration
|
|
436
|
+
|
|
437
|
+
`QiliSDK` can translate ``QubitOperator`` objects from ``OpenFermion`` to ``QiliSDK``'s ``Hamiltonian`` Objects and vice versa.
|
|
438
|
+
|
|
439
|
+
This code is available under an optional dependency that can be installed using ``pip install qilisdk[openfermion]``.
|
|
440
|
+
|
|
441
|
+
here is an example of the usage:
|
|
442
|
+
```python
|
|
443
|
+
from openfermion.hamiltonians import jellium_model
|
|
444
|
+
from openfermion.transforms import fourier_transform, jordan_wigner
|
|
445
|
+
from openfermion.utils import Grid
|
|
446
|
+
|
|
447
|
+
from qilisdk.utils.openfermion import openfermion_to_qilisdk, qilisdk_to_openfermion
|
|
448
|
+
|
|
449
|
+
# Let's look at a very small model of jellium in 1D.
|
|
450
|
+
grid = Grid(dimensions=1, length=3, scale=1.0)
|
|
451
|
+
spinless = True
|
|
452
|
+
|
|
453
|
+
# Get the momentum Hamiltonian.
|
|
454
|
+
momentum_hamiltonian = jellium_model(grid, spinless)
|
|
455
|
+
momentum_qubit_operator = jordan_wigner(momentum_hamiltonian)
|
|
456
|
+
momentum_qubit_operator.compress()
|
|
457
|
+
|
|
458
|
+
# Fourier transform the Hamiltonian to the position basis.
|
|
459
|
+
position_hamiltonian = fourier_transform(momentum_hamiltonian, grid, spinless)
|
|
460
|
+
position_qubit_operator = jordan_wigner(position_hamiltonian)
|
|
461
|
+
position_qubit_operator.compress()
|
|
462
|
+
|
|
463
|
+
qilisdk_ham = openfermion_to_qilisdk(position_qubit_operator)
|
|
464
|
+
openfermion_ham = qilisdk_to_openfermion(qilisdk_ham)
|
|
465
|
+
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
|
|
421
471
|
---
|
|
422
472
|
|
|
423
473
|
## Development
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
qilisdk/__init__.py,sha256=ewlADDRquvUClgPp1fDx5gfsPsmUHl3LF42ROLqeI5g,824
|
|
2
|
+
qilisdk/__init__.pyi,sha256=7O8kvYmk9hl0OKHgXJkemmYp-x_zppNRuN_WAZeHjbo,630
|
|
3
|
+
qilisdk/_logging.py,sha256=vCKCClIwAY9KptzieYbldU6MVs-HYZ4P1imG2oXkumM,4063
|
|
4
|
+
qilisdk/_optionals.py,sha256=WkYAtoE4RcPtgl7l4OJNGeXwJc0xc8M_UQCpVHS1lmo,3459
|
|
5
|
+
qilisdk/logging_config.yaml,sha256=DxsAJBPr1o54pjtYRnzMHuDbrr8hv4ruym8rLRmUKEk,381
|
|
6
|
+
qilisdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
+
qilisdk/settings.py,sha256=PtiO3iInoBIBLTO_t6D5iWN5a3FuqO4DXyPKmpnph-A,2827
|
|
8
|
+
qilisdk/yaml.py,sha256=UcildGIQq1vMmjKLgFAbd-tN5nwYHlAUi6cs_8r8_As,8050
|
|
9
|
+
qilisdk/analog/__init__.py,sha256=VKy42hUP__jaQcaAhNU0Wai08r1UzjwsysLBF0uN10g,800
|
|
10
|
+
qilisdk/analog/exceptions.py,sha256=oYRJD00ICs9M6hezXPv7C7Ug6amcbbGDeP-1o1GkECc,717
|
|
11
|
+
qilisdk/analog/hamiltonian.py,sha256=tybXon1-DnfDK0YwhNwhipsemsaIyUbcObHkYXUaOys,37129
|
|
12
|
+
qilisdk/analog/schedule.py,sha256=9HCHV7-w2QF6DK8BUfizWJN8srwBQeneI--yVqfwuV4,20063
|
|
13
|
+
qilisdk/backends/__init__.py,sha256=QHJ99ub4WPMmSMEs_Zdx3yF6d7K9uBapKp0FgvZ12L8,1666
|
|
14
|
+
qilisdk/backends/__init__.pyi,sha256=JP6QY7BqO0LuN7NPAWU0ebBwfcKEJ5w5p4xHa5GNKhA,752
|
|
15
|
+
qilisdk/backends/backend.py,sha256=wHbQQfaiLfjp2hWPN8besfkBbm0iAeDK6uIeNIu_bTo,5397
|
|
16
|
+
qilisdk/backends/cuda_backend.py,sha256=oQRbT56XdhAvB44Q2uOgFuCIbJwu0AbKd55-NiPcmeY,17368
|
|
17
|
+
qilisdk/backends/qutip_backend.py,sha256=tO1X31mwNJguDc00EkS8c7F1nNV9xSygii9ooV_47JE,19477
|
|
18
|
+
qilisdk/core/__init__.py,sha256=lb-PD21HztYO3_354pFwJ79GbC8f2uyiIXgl7RJ0zVQ,1453
|
|
19
|
+
qilisdk/core/exceptions.py,sha256=f72N4SRj-oUkHVKVV_Drj6oinTJODNM0LxdFn6AHuBE,1034
|
|
20
|
+
qilisdk/core/interpolator.py,sha256=jSZ04KSdgD-btwSyX7aaKYa77_F1x7qaWPcdyizCA48,17494
|
|
21
|
+
qilisdk/core/model.py,sha256=ty1vnMzBWDQYwc7lJnVAW62THs2y2er0J-p1W48MJVQ,41569
|
|
22
|
+
qilisdk/core/parameterizable.py,sha256=pc35JtU8fpyXv-oCCYXSPOPBLbCNqgXupwZuHvBFfh0,5392
|
|
23
|
+
qilisdk/core/qtensor.py,sha256=_Ru3qaxntjyIkP_mWxr7I8oVgJddi2eQizUwWXwnRUQ,26014
|
|
24
|
+
qilisdk/core/result.py,sha256=EUCWebtdeBwGjhVCBgStuEVmx-U1WR0ZOX7ALAnLrmI,700
|
|
25
|
+
qilisdk/core/variables.py,sha256=SEEgaAm-0XssaeO9JRHKtRdcOqO5NKR7y2qpLOTLHAo,77647
|
|
26
|
+
qilisdk/cost_functions/__init__.py,sha256=tKoEm4eVb8oTGGhj25nM2YQE73CRXaLgLyfipa2I70s,760
|
|
27
|
+
qilisdk/cost_functions/cost_function.py,sha256=7Ap_tpUEJXrJAzAJ1QyrPT_Nmqv2dzkUyYPL6TpdqY8,2850
|
|
28
|
+
qilisdk/cost_functions/model_cost_function.py,sha256=93ui_yO8vpoZ22Ro9W9E9rkHVYrFoSzMipU6Op7wWr0,5705
|
|
29
|
+
qilisdk/cost_functions/observable_cost_function.py,sha256=PalzTjRaXdeU69fcvPBsAnf_MNcJni_dwXUXchmA1Lo,4184
|
|
30
|
+
qilisdk/digital/__init__.py,sha256=qmE0VTKdD9ILlx6ClhBjvOXbpD0nr3uavG-l3VSh69c,989
|
|
31
|
+
qilisdk/digital/ansatz.py,sha256=r2g0hISPhXpTIgvqQgeu9tZ9OO3mQ7h_Cq9tlMZDruQ,7999
|
|
32
|
+
qilisdk/digital/circuit.py,sha256=YM2iBaGL6GdoHt23_c5hYss9nRc-pTZSesII916juhc,6947
|
|
33
|
+
qilisdk/digital/circuit_transpiler.py,sha256=pbqB2QETyclmd_ZexsD8a-3mTKj97jJ5XVGgcgi8y2g,2060
|
|
34
|
+
qilisdk/digital/exceptions.py,sha256=dtMN9yjX_qRWJ5iFfNTHWVwKB7BrrSecvjB4D0KeoEA,1292
|
|
35
|
+
qilisdk/digital/gates.py,sha256=l7HkGxWX59dkTqlbBIrGwim4z0pEIUuZfTKHTXaGUp8,34068
|
|
36
|
+
qilisdk/digital/circuit_transpiler_passes/__init__.py,sha256=nH_z1rTH3UNOAbKeFFF8LedaRk06W_2gXHDeUr23500,807
|
|
37
|
+
qilisdk/digital/circuit_transpiler_passes/circuit_transpiler_pass.py,sha256=bMj0duwgLYHj4jKZAx-YyW9zx5ViyVsJFeCHNZS0Yz8,1182
|
|
38
|
+
qilisdk/digital/circuit_transpiler_passes/decompose_multi_controlled_gates_pass.py,sha256=mWcPmdsvuM5K1mwWkvGFp0625nlSrPtaQ9zHuWS2i4M,7180
|
|
39
|
+
qilisdk/digital/circuit_transpiler_passes/numeric_helpers.py,sha256=sd6WAzPBWJCTrA08KGhU3gbo2zjrsCq_rxjAX9W4Bhw,2412
|
|
40
|
+
qilisdk/experiments/__init__.py,sha256=I2djCoersUrA5UnoPtbifSgpIryxfDqdztQLAT48e90,1168
|
|
41
|
+
qilisdk/experiments/experiment_functional.py,sha256=ZWnSHCu7Ihn2bJf4VRoT8UbKqp3C1trlaonMRE6UE8s,7532
|
|
42
|
+
qilisdk/experiments/experiment_result.py,sha256=WYQ1h0F4GhyiAycppgkdeLUod3klcLy9WJueF5-bsEY,8637
|
|
43
|
+
qilisdk/functionals/__init__.py,sha256=1Yrk8SyJ98yNYm658HeyaPFaNdMBH96PPlv6oEGGwpM,1037
|
|
44
|
+
qilisdk/functionals/functional.py,sha256=21JFxoBXhHm4FkeBzLXlQOU2jEB2DcTXOKp9Zq0ve98,1445
|
|
45
|
+
qilisdk/functionals/functional_result.py,sha256=NZwgV5m90wdo__Q6ILL-VoWyBU5tiAbEqBzb3zJ-4eU,741
|
|
46
|
+
qilisdk/functionals/sampling.py,sha256=g7jD_4QXiN8-6XQKqJoutvE6OiuCqCq2gIGYfzjq7s4,3558
|
|
47
|
+
qilisdk/functionals/sampling_result.py,sha256=tUXOHJOtznGyWsHK4MLtP1bTSdD6zppbT2K2lcQFkyo,3411
|
|
48
|
+
qilisdk/functionals/time_evolution.py,sha256=OrtYJCPatfGXtpal2AEt-nMzSCFQg8UqCf5v0A1X7dM,4364
|
|
49
|
+
qilisdk/functionals/time_evolution_result.py,sha256=l53aBACRWPzOaVPJ86DgiHRTXK4cVcxlKcD91cY_KNY,3491
|
|
50
|
+
qilisdk/functionals/variational_program.py,sha256=PeBk1gyAzCd3e04VmH936HpeB2Y1PTjCuCB7YEJsRqU,6126
|
|
51
|
+
qilisdk/functionals/variational_program_result.py,sha256=Dii9D1BnUpfsBfgN60eFVp7Qhsr2mIFSbUtM5Q4KZeI,2657
|
|
52
|
+
qilisdk/optimizers/__init__.py,sha256=v3pLS__wnVRCiz83y8-gUjRuW-BoAGXFpd6HUmLodgY,663
|
|
53
|
+
qilisdk/optimizers/optimizer.py,sha256=GT9ziwPJ2ZjckOeeoyc07O3XyaVsRmUnVxN0UXNaO7Y,1570
|
|
54
|
+
qilisdk/optimizers/optimizer_result.py,sha256=t3iD9CGBNLZr6hjKtCsJk04rCfIUpoHUyszfcBLuCV4,3475
|
|
55
|
+
qilisdk/optimizers/scipy_optimizer.py,sha256=JquRPvpWJ6ccpzxlo9HKV66cz4kYwEXEPe3jNeT8_sE,5020
|
|
56
|
+
qilisdk/speqtrum/__init__.py,sha256=kGBrSF949ppWDRsnWuIt61WqBcb6qIQaJ9gRZrnMdo4,1700
|
|
57
|
+
qilisdk/speqtrum/__init__.pyi,sha256=2_3FiMTnJe0rUuK-arKd4JuIt3tJ9ci-a8ipgMdOSSo,728
|
|
58
|
+
qilisdk/speqtrum/keyring.py,sha256=zPYSAqq9A0hfjWdchTCy9oZi72HPFvtxDoblHDvpjhA,1898
|
|
59
|
+
qilisdk/speqtrum/speqtrum.py,sha256=s-JrUrpYvG8wV976SrzO85oHXbPLftlvYa-q3o3hg_k,32037
|
|
60
|
+
qilisdk/speqtrum/speqtrum_models.py,sha256=uaASy1gWAGu3XEDVB33ZPCJgVKiT-3ox6c6LUQt4ZsY,20987
|
|
61
|
+
qilisdk/utils/__init__.py,sha256=LDSTo7NstSbHMvvqvx7ZLxh0HFTEXg1O_B76SyEEHk8,588
|
|
62
|
+
qilisdk/utils/openqasm2.py,sha256=IMHT3BRbpS4giKg5JCZ4tt6BpD7eDEJMALrW7w1RvPw,8322
|
|
63
|
+
qilisdk/utils/serialization.py,sha256=_SmxxbshMtSozCHdzi_Y_3YZ7-KNjsrlfgkBtJ3mAjw,3870
|
|
64
|
+
qilisdk/utils/openfermion/__init__.py,sha256=bFSfbvRIVkM4n02g4sfEg_NHSrNSJWuU0H_oI3yPWDQ,1480
|
|
65
|
+
qilisdk/utils/openfermion/__init__.pyi,sha256=d-KapuuD9ciD7R-ZLNqyQ7FSidqO_pFA5wakdFIEA-8,725
|
|
66
|
+
qilisdk/utils/openfermion/openfermion.py,sha256=IcKy73s-VWMKbOMxXLAUwitVh3O5GOqILoKrYbTfklk,1464
|
|
67
|
+
qilisdk/utils/visualization/PlusJakartaSans-SemiBold.ttf,sha256=kcACUvAhK3AgdI7-50kwPyG0xdtAodY9-UhPbw2NtTk,94844
|
|
68
|
+
qilisdk/utils/visualization/__init__.py,sha256=p3OTMwM2eF5_LZW0-kYU8IqcEyQySxjDKnqDfCw3dpg,769
|
|
69
|
+
qilisdk/utils/visualization/circuit_renderers.py,sha256=20X--lgQdwmu08pvuekdebOI01hRHknl0Z8ct4OVWOU,29908
|
|
70
|
+
qilisdk/utils/visualization/schedule_renderers.py,sha256=bMfEOEQhWcwfp8J6uebWAnYxy8PP7eiZhahL-i5Rh4A,6284
|
|
71
|
+
qilisdk/utils/visualization/style.py,sha256=l50u4UGCbU0r_BBuij35M4sTrmYh_e0m1IgRY-DjfH8,7288
|
|
72
|
+
qilisdk/utils/visualization/themes.py,sha256=uganZjDx742bmGVG73UU6Lde5XXjlDNfVNEa9y_icBw,2346
|
|
73
|
+
qilisdk-0.1.7.dist-info/METADATA,sha256=GqgYhVRAjFO0lWufXYiu7VjWOj8Dhu8d_5s-Zpc9X_s,21152
|
|
74
|
+
qilisdk-0.1.7.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
75
|
+
qilisdk-0.1.7.dist-info/licenses/LICENCE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
76
|
+
qilisdk-0.1.7.dist-info/RECORD,,
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
# Copyright 2025 Qilimanjaro Quantum Tech
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
from __future__ import annotations
|
|
15
|
-
|
|
16
|
-
from qilisdk.analog.hamiltonian import Hamiltonian
|
|
17
|
-
from qilisdk.analog.schedule import Schedule
|
|
18
|
-
from qilisdk.common.variables import Number, Parameter, Term
|
|
19
|
-
from qilisdk.yaml import yaml
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
@yaml.register_class
|
|
23
|
-
class LinearSchedule(Schedule):
|
|
24
|
-
"""
|
|
25
|
-
Schedule implementation that linearly interpolates coefficients between defined time steps.
|
|
26
|
-
|
|
27
|
-
Example:
|
|
28
|
-
.. code-block:: python
|
|
29
|
-
|
|
30
|
-
from qilisdk.analog.hamiltonian import Hamiltonian, Z
|
|
31
|
-
from qilisdk.analog.linear_schedule import LinearSchedule
|
|
32
|
-
|
|
33
|
-
h = 2 * Z(0)
|
|
34
|
-
schedule = LinearSchedule(T=4.0, dt=1.0, hamiltonians={"hz": h})
|
|
35
|
-
schedule.add_schedule_step(0, {"hz": 0.0})
|
|
36
|
-
schedule.add_schedule_step(4, {"hz": 1.0})
|
|
37
|
-
assert schedule.get_coefficient(2.0, "hz") == 0.5
|
|
38
|
-
"""
|
|
39
|
-
|
|
40
|
-
def get_coefficient_expression(self, time_step: float, hamiltonian_key: str) -> Number | Term | Parameter:
|
|
41
|
-
"""
|
|
42
|
-
Return the symbolic coefficient for a Hamiltonian at an arbitrary time step.
|
|
43
|
-
|
|
44
|
-
Args:
|
|
45
|
-
time_step (float): The time at which to evaluate the coefficient.
|
|
46
|
-
hamiltonian_key (str): Label of the Hamiltonian inside the schedule.
|
|
47
|
-
|
|
48
|
-
Returns:
|
|
49
|
-
Number | Term: The (possibly symbolic) coefficient associated with ``hamiltonian_key``.
|
|
50
|
-
|
|
51
|
-
Raises:
|
|
52
|
-
ValueError: If something unexpected happens during coefficient retrieval.
|
|
53
|
-
"""
|
|
54
|
-
t = time_step / self.dt
|
|
55
|
-
t_idx = int(t)
|
|
56
|
-
|
|
57
|
-
if t_idx in self._schedule and hamiltonian_key in self._schedule[t_idx]:
|
|
58
|
-
return self._schedule[t_idx][hamiltonian_key]
|
|
59
|
-
|
|
60
|
-
# search backwards
|
|
61
|
-
prev_idx, prev_expr = None, None
|
|
62
|
-
for i in range(t_idx, -1, -1):
|
|
63
|
-
if i in self._schedule and hamiltonian_key in self._schedule[i]:
|
|
64
|
-
prev_idx = i
|
|
65
|
-
prev_expr = self._schedule[i][hamiltonian_key]
|
|
66
|
-
break
|
|
67
|
-
|
|
68
|
-
# search forwards
|
|
69
|
-
next_idx, next_expr = None, None
|
|
70
|
-
for i in range(t_idx + 1, int(self.T / self.dt) + 1):
|
|
71
|
-
if i in self._schedule and hamiltonian_key in self._schedule[i]:
|
|
72
|
-
next_idx = i
|
|
73
|
-
next_expr = self._schedule[i][hamiltonian_key]
|
|
74
|
-
break
|
|
75
|
-
|
|
76
|
-
# cases
|
|
77
|
-
if prev_expr is None and next_expr is None:
|
|
78
|
-
return 0
|
|
79
|
-
if prev_expr is None and next_expr is not None:
|
|
80
|
-
return next_expr
|
|
81
|
-
if next_expr is None and prev_expr is not None:
|
|
82
|
-
return prev_expr
|
|
83
|
-
|
|
84
|
-
# linear interpolation (keeps expressions if they are Terms/Parameters)
|
|
85
|
-
if next_idx is None or prev_idx is None or prev_expr is None or next_expr is None:
|
|
86
|
-
raise ValueError("Something unexpected happened while retrieving the coefficient.")
|
|
87
|
-
alpha: float = (t - prev_idx) / (next_idx - prev_idx)
|
|
88
|
-
return (1 - alpha) * prev_expr + alpha * next_expr
|
|
89
|
-
|
|
90
|
-
def get_coefficient(self, time_step: float, hamiltonian_key: str) -> Number:
|
|
91
|
-
"""
|
|
92
|
-
Return the numeric coefficient for a Hamiltonian at ``time_step``.
|
|
93
|
-
|
|
94
|
-
Args:
|
|
95
|
-
time_step (float): Time at which to evaluate the coefficient.
|
|
96
|
-
hamiltonian_key (str): Label of the Hamiltonian.
|
|
97
|
-
|
|
98
|
-
Returns:
|
|
99
|
-
Number: Evaluated coefficient value.
|
|
100
|
-
"""
|
|
101
|
-
val = self.get_coefficient_expression(time_step=time_step, hamiltonian_key=hamiltonian_key)
|
|
102
|
-
return val.evaluate({}) if isinstance(val, Term) else (val.evaluate() if isinstance(val, Parameter) else val)
|
|
103
|
-
|
|
104
|
-
def __getitem__(self, time_step: int) -> Hamiltonian:
|
|
105
|
-
"""
|
|
106
|
-
Retrieve the interpolated Hamiltonian at the specified discrete time step.
|
|
107
|
-
|
|
108
|
-
Args:
|
|
109
|
-
time_step (int): Discrete index to evaluate (converted internally to ``time_step * dt``).
|
|
110
|
-
|
|
111
|
-
Returns:
|
|
112
|
-
Hamiltonian: Hamiltonian with coefficients interpolated at the requested time step.
|
|
113
|
-
"""
|
|
114
|
-
ham = Hamiltonian()
|
|
115
|
-
for ham_label in self._hamiltonians:
|
|
116
|
-
coeff = self.get_coefficient(time_step * self.dt, ham_label)
|
|
117
|
-
ham += coeff * self._hamiltonians[ham_label]
|
|
118
|
-
return ham.get_static_hamiltonian()
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# Copyright 2025 Qilimanjaro Quantum Tech
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
from __future__ import annotations
|
|
15
|
-
|
|
16
|
-
from abc import ABC, abstractmethod
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class Parameterizable(ABC):
|
|
20
|
-
@property
|
|
21
|
-
@abstractmethod
|
|
22
|
-
def nparameters(self) -> int:
|
|
23
|
-
"""Number of tunable parameters defined by the object."""
|
|
24
|
-
|
|
25
|
-
@abstractmethod
|
|
26
|
-
def get_parameter_values(self) -> list[float]:
|
|
27
|
-
"""Return the current numerical values of the parameters."""
|
|
28
|
-
|
|
29
|
-
@abstractmethod
|
|
30
|
-
def get_parameter_names(self) -> list[str]:
|
|
31
|
-
"""Return the ordered list of parameter labels."""
|
|
32
|
-
|
|
33
|
-
@abstractmethod
|
|
34
|
-
def get_parameters(self) -> dict[str, float]:
|
|
35
|
-
"""Return a mapping from parameter labels to their current numerical values."""
|
|
36
|
-
|
|
37
|
-
@abstractmethod
|
|
38
|
-
def set_parameter_values(self, values: list[float]) -> None:
|
|
39
|
-
"""
|
|
40
|
-
Update all parameter values at once.
|
|
41
|
-
|
|
42
|
-
Args:
|
|
43
|
-
values (list[float]): New parameter values ordered consistently with ``get_parameter_names()``.
|
|
44
|
-
|
|
45
|
-
Raises:
|
|
46
|
-
ValueError: If ``values`` does not contain exactly ``nparameters`` entries.
|
|
47
|
-
"""
|
|
48
|
-
|
|
49
|
-
@abstractmethod
|
|
50
|
-
def set_parameters(self, parameters: dict[str, float]) -> None:
|
|
51
|
-
"""
|
|
52
|
-
Update a subset of parameters by label.
|
|
53
|
-
|
|
54
|
-
Args:
|
|
55
|
-
parameters (dict[str, float]): Mapping from parameter labels to updated numeric values.
|
|
56
|
-
|
|
57
|
-
Raises:
|
|
58
|
-
ValueError: If an unknown parameter label is provided.
|
|
59
|
-
"""
|
|
60
|
-
|
|
61
|
-
@abstractmethod
|
|
62
|
-
def get_parameter_bounds(self) -> dict[str, tuple[float, float]]:
|
|
63
|
-
"""Return the ``(lower, upper)`` bounds associated with each parameter."""
|
|
64
|
-
|
|
65
|
-
@abstractmethod
|
|
66
|
-
def set_parameter_bounds(self, ranges: dict[str, tuple[float, float]]) -> None:
|
|
67
|
-
"""
|
|
68
|
-
Update the allowable ranges for the specified parameters.
|
|
69
|
-
|
|
70
|
-
Args:
|
|
71
|
-
ranges (dict[str, tuple[float, float]]): Mapping from parameter label to ``(lower, upper)`` bounds.
|
|
72
|
-
|
|
73
|
-
Raises:
|
|
74
|
-
ValueError: If an unknown parameter label is provided.
|
|
75
|
-
"""
|
qilisdk-0.1.5.dist-info/RECORD
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
qilisdk/__init__.py,sha256=ewlADDRquvUClgPp1fDx5gfsPsmUHl3LF42ROLqeI5g,824
|
|
2
|
-
qilisdk/__init__.pyi,sha256=7O8kvYmk9hl0OKHgXJkemmYp-x_zppNRuN_WAZeHjbo,630
|
|
3
|
-
qilisdk/_logging.py,sha256=vCKCClIwAY9KptzieYbldU6MVs-HYZ4P1imG2oXkumM,4063
|
|
4
|
-
qilisdk/_optionals.py,sha256=WkYAtoE4RcPtgl7l4OJNGeXwJc0xc8M_UQCpVHS1lmo,3459
|
|
5
|
-
qilisdk/logging_config.yaml,sha256=DxsAJBPr1o54pjtYRnzMHuDbrr8hv4ruym8rLRmUKEk,381
|
|
6
|
-
qilisdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
qilisdk/settings.py,sha256=PtiO3iInoBIBLTO_t6D5iWN5a3FuqO4DXyPKmpnph-A,2827
|
|
8
|
-
qilisdk/yaml.py,sha256=UcildGIQq1vMmjKLgFAbd-tN5nwYHlAUi6cs_8r8_As,8050
|
|
9
|
-
qilisdk/analog/__init__.py,sha256=HZecq1CdbZ9ilgxeXcuNQDYv0qYUqi-Mvta-WZPoGT4,862
|
|
10
|
-
qilisdk/analog/exceptions.py,sha256=oYRJD00ICs9M6hezXPv7C7Ug6amcbbGDeP-1o1GkECc,717
|
|
11
|
-
qilisdk/analog/hamiltonian.py,sha256=UbjPmgGZtAO0O99RTJWuCS4M19XFSr2VsL2utszI9eo,39994
|
|
12
|
-
qilisdk/analog/linear_schedule.py,sha256=lVjSvvOxRHBqfCezWEqa4ndQTj4ffSN0FeFLHKAS2Zw,4775
|
|
13
|
-
qilisdk/analog/schedule.py,sha256=gzyAjjTbiCtlPvQxV8wRfLFXetiyp4_fVhW01rE_nsc,22760
|
|
14
|
-
qilisdk/backends/__init__.py,sha256=QHJ99ub4WPMmSMEs_Zdx3yF6d7K9uBapKp0FgvZ12L8,1666
|
|
15
|
-
qilisdk/backends/__init__.pyi,sha256=JP6QY7BqO0LuN7NPAWU0ebBwfcKEJ5w5p4xHa5GNKhA,752
|
|
16
|
-
qilisdk/backends/backend.py,sha256=G0duQuO6Cf9en36eiFunLpmWNKmtQJzN4RuMxV8sp6w,5241
|
|
17
|
-
qilisdk/backends/cuda_backend.py,sha256=1OnkodWH7u2cDlJ9SuIxBtBjCx-bsTkJYEnyqz4KiqQ,17084
|
|
18
|
-
qilisdk/backends/qutip_backend.py,sha256=LgOMNFGzYHtxeOk9PnBDWRUacT1z_LuqTpae0l-aALU,19585
|
|
19
|
-
qilisdk/common/__init__.py,sha256=etcRx1P5YrIAEqkfRuZ8RuF0AFxLFgwM6VTUcBiev9o,1405
|
|
20
|
-
qilisdk/common/algorithm.py,sha256=RgXo5rhl0yON6M77hRI82fmtflwkwUS7ADZPUZw_pQE,682
|
|
21
|
-
qilisdk/common/exceptions.py,sha256=f72N4SRj-oUkHVKVV_Drj6oinTJODNM0LxdFn6AHuBE,1034
|
|
22
|
-
qilisdk/common/model.py,sha256=FAw_YksZnqrfPUKO7mkOrKYthWYKgOgiz-CVZaym2JY,41583
|
|
23
|
-
qilisdk/common/parameterizable.py,sha256=hdibs--MFKn7Sy3CuFbn7Bk2ozPe0206jAuXfyMQdNY,2575
|
|
24
|
-
qilisdk/common/qtensor.py,sha256=gyPcYpi5fumyFctlniZfjGhDvQZ8LjSFodKxXQSK43w,26016
|
|
25
|
-
qilisdk/common/result.py,sha256=EUCWebtdeBwGjhVCBgStuEVmx-U1WR0ZOX7ALAnLrmI,700
|
|
26
|
-
qilisdk/common/variables.py,sha256=f98valt1445iysG7CXEpPaiqTeLuYwcoPYBAL952_GA,71826
|
|
27
|
-
qilisdk/cost_functions/__init__.py,sha256=tKoEm4eVb8oTGGhj25nM2YQE73CRXaLgLyfipa2I70s,760
|
|
28
|
-
qilisdk/cost_functions/cost_function.py,sha256=NyUy-2pp5A_KMjFZ5vIvl0pw5aGD024i-2X2AUKasDo,2852
|
|
29
|
-
qilisdk/cost_functions/model_cost_function.py,sha256=gU2-nRlPCv_Dwkt2GSWRtAtjkMOyTppMX4uD_cp9Uno,5715
|
|
30
|
-
qilisdk/cost_functions/observable_cost_function.py,sha256=lPYrnQr9Tf6VD7YbDY4l8q9VY-xF_o0rLtbefku3C0M,4188
|
|
31
|
-
qilisdk/digital/__init__.py,sha256=qmE0VTKdD9ILlx6ClhBjvOXbpD0nr3uavG-l3VSh69c,989
|
|
32
|
-
qilisdk/digital/ansatz.py,sha256=HJLhC5o5sh8aw4itLnYoZ6cUZMunFIC0FFFBjYT0OJQ,8074
|
|
33
|
-
qilisdk/digital/circuit.py,sha256=3oSkStK91wPG_ozjEGDoDder6PFs5yV5xp6InonoPPo,6911
|
|
34
|
-
qilisdk/digital/exceptions.py,sha256=dtMN9yjX_qRWJ5iFfNTHWVwKB7BrrSecvjB4D0KeoEA,1292
|
|
35
|
-
qilisdk/digital/gates.py,sha256=3on8XI0zZd7WFF15Rr7KNV-se7AOZSf5FBKgX60w1Tk,33651
|
|
36
|
-
qilisdk/functionals/__init__.py,sha256=1Yrk8SyJ98yNYm658HeyaPFaNdMBH96PPlv6oEGGwpM,1037
|
|
37
|
-
qilisdk/functionals/functional.py,sha256=z0KrJ6CPD_FawpYYereXnaiFnX1TyfEmK5pf9HzY_ew,1449
|
|
38
|
-
qilisdk/functionals/functional_result.py,sha256=jEtMEoJcezFgIa1AsJDNg0nm5HSJJOEXkr5eVo2u4bI,743
|
|
39
|
-
qilisdk/functionals/sampling.py,sha256=LkZJW2oHqDcGiARmKJPp3qwNmUEd0ygJfIUAjigKlnY,3266
|
|
40
|
-
qilisdk/functionals/sampling_result.py,sha256=tUXOHJOtznGyWsHK4MLtP1bTSdD6zppbT2K2lcQFkyo,3411
|
|
41
|
-
qilisdk/functionals/time_evolution.py,sha256=ixSTvtd5zckhTmyZsylpEUxTdPYx9siag_l5NfIy6CU,4155
|
|
42
|
-
qilisdk/functionals/time_evolution_result.py,sha256=kwagAEZdumaWcJzRL0t25wXYIqH9hIax7jL4i0KEDV8,3495
|
|
43
|
-
qilisdk/functionals/variational_program.py,sha256=wD5oHYBMUGRNCn-SFjTHE6r0oqd5y3KxQ8dkgbANS94,3029
|
|
44
|
-
qilisdk/functionals/variational_program_result.py,sha256=Dii9D1BnUpfsBfgN60eFVp7Qhsr2mIFSbUtM5Q4KZeI,2657
|
|
45
|
-
qilisdk/optimizers/__init__.py,sha256=v3pLS__wnVRCiz83y8-gUjRuW-BoAGXFpd6HUmLodgY,663
|
|
46
|
-
qilisdk/optimizers/optimizer.py,sha256=GT9ziwPJ2ZjckOeeoyc07O3XyaVsRmUnVxN0UXNaO7Y,1570
|
|
47
|
-
qilisdk/optimizers/optimizer_result.py,sha256=OjwgED_tAKkp4rqqnq0ordaLp09B2lbN5Yfjed9qUak,3477
|
|
48
|
-
qilisdk/optimizers/scipy_optimizer.py,sha256=JquRPvpWJ6ccpzxlo9HKV66cz4kYwEXEPe3jNeT8_sE,5020
|
|
49
|
-
qilisdk/speqtrum/__init__.py,sha256=7fvKWdhNrfhRFNJuCNg-VKZ-mr0VlPlfbbLWYUBdqqM,1537
|
|
50
|
-
qilisdk/speqtrum/__init__.pyi,sha256=2_3FiMTnJe0rUuK-arKd4JuIt3tJ9ci-a8ipgMdOSSo,728
|
|
51
|
-
qilisdk/speqtrum/keyring.py,sha256=zPYSAqq9A0hfjWdchTCy9oZi72HPFvtxDoblHDvpjhA,1898
|
|
52
|
-
qilisdk/speqtrum/speqtrum.py,sha256=Je-Euanqa2yANhLaeRZ59OMpsCQatPq6MRBjJANS9E4,17387
|
|
53
|
-
qilisdk/speqtrum/speqtrum_models.py,sha256=eI5xg3flP6N-UObffI75BhNcSmNp511N3WoGSw-yCHU,9952
|
|
54
|
-
qilisdk/speqtrum/experiments/__init__.py,sha256=FlXV-8SR8VMRKMxbgj3sa8kHcueTsw6NT9j0zm6Tk_U,955
|
|
55
|
-
qilisdk/speqtrum/experiments/experiment_functional.py,sha256=0yuuDZJzI2OaHsKmbQrkXeK4Ih2PQilKLuwqdXZxdC4,4363
|
|
56
|
-
qilisdk/speqtrum/experiments/experiment_result.py,sha256=O398vInFShp4n8YvUSfit1kgNCnlSZ9F07xHipxRHkc,8201
|
|
57
|
-
qilisdk/utils/__init__.py,sha256=LDSTo7NstSbHMvvqvx7ZLxh0HFTEXg1O_B76SyEEHk8,588
|
|
58
|
-
qilisdk/utils/openqasm2.py,sha256=IMHT3BRbpS4giKg5JCZ4tt6BpD7eDEJMALrW7w1RvPw,8322
|
|
59
|
-
qilisdk/utils/serialization.py,sha256=_SmxxbshMtSozCHdzi_Y_3YZ7-KNjsrlfgkBtJ3mAjw,3870
|
|
60
|
-
qilisdk/utils/visualization/PlusJakartaSans-SemiBold.ttf,sha256=kcACUvAhK3AgdI7-50kwPyG0xdtAodY9-UhPbw2NtTk,94844
|
|
61
|
-
qilisdk/utils/visualization/__init__.py,sha256=p3OTMwM2eF5_LZW0-kYU8IqcEyQySxjDKnqDfCw3dpg,769
|
|
62
|
-
qilisdk/utils/visualization/circuit_renderers.py,sha256=20X--lgQdwmu08pvuekdebOI01hRHknl0Z8ct4OVWOU,29908
|
|
63
|
-
qilisdk/utils/visualization/schedule_renderers.py,sha256=RhigVpXgZF_iHg2W8EOdvwL_g2j_mCw-gIgFvgJcjLM,6005
|
|
64
|
-
qilisdk/utils/visualization/style.py,sha256=l50u4UGCbU0r_BBuij35M4sTrmYh_e0m1IgRY-DjfH8,7288
|
|
65
|
-
qilisdk/utils/visualization/themes.py,sha256=uganZjDx742bmGVG73UU6Lde5XXjlDNfVNEa9y_icBw,2346
|
|
66
|
-
qilisdk-0.1.5.dist-info/METADATA,sha256=Yclcu1KkOs4WMosRTkCT_lT6mLNsvMQqeOoP4UIhQuw,19301
|
|
67
|
-
qilisdk-0.1.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
68
|
-
qilisdk-0.1.5.dist-info/licenses/LICENCE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
69
|
-
qilisdk-0.1.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|