eqc-models 0.13.0__py3-none-any.whl → 0.14.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.
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/algorithms/penaltymultiplier.py +0 -1
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/assignment/resource.py +1 -1
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/polyeval.c +122 -122
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/polyeval.cpython-310-darwin.so +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/results.py +18 -16
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/classifierbase.py +0 -4
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/classifierqboost.py +114 -72
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/clustering.py +29 -1
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/clusteringbase.py +29 -6
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/decomposition.py +50 -10
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/regressor.py +14 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/regressorbase.py +24 -5
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/reservoir.py +17 -2
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/solvers/__init__.py +1 -1
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/solvers/eqcdirect.py +18 -2
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/solvers/mip.py +4 -4
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/utilities/__init__.py +2 -1
- eqc_models-0.14.1.data/platlib/eqc_models/utilities/general.py +83 -0
- {eqc_models-0.13.0.dist-info → eqc_models-0.14.1.dist-info}/METADATA +6 -4
- eqc_models-0.14.1.dist-info/RECORD +70 -0
- eqc_models-0.13.0.dist-info/RECORD +0 -69
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/compile_extensions.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/__init__.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/algorithms/__init__.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/algorithms/base.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/allocation/__init__.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/allocation/allocation.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/allocation/portbase.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/allocation/portmomentum.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/assignment/__init__.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/assignment/qap.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/assignment/setpartition.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/__init__.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/base.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/binaries.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/constraints.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/operators.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/polyeval.pyx +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/polynomial.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/base/quadratic.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/combinatorics/__init__.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/combinatorics/setcover.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/combinatorics/setpartition.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/decoding.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/graph/__init__.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/graph/base.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/graph/hypergraph.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/graph/maxcut.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/graph/maxkcut.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/graph/partition.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/graph/rcshortestpath.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/graph/shortestpath.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/__init__.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/classifierqsvm.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.c +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.h +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/forecast.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/ml/forecastbase.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/process/base.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/process/mpc.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/sequence/__init__.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/sequence/tsp.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/solvers/qciclient.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/solvers/responselog.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/utilities/fileio.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/utilities/polynomial.py +0 -0
- {eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/utilities/qplib.py +0 -0
- {eqc_models-0.13.0.dist-info → eqc_models-0.14.1.dist-info}/WHEEL +0 -0
- {eqc_models-0.13.0.dist-info → eqc_models-0.14.1.dist-info}/licenses/LICENSE.txt +0 -0
- {eqc_models-0.13.0.dist-info → eqc_models-0.14.1.dist-info}/top_level.txt +0 -0
|
@@ -14,10 +14,8 @@ from qci_client import QciClient
|
|
|
14
14
|
from eqc_models import QuadraticModel
|
|
15
15
|
from eqc_models.solvers.qciclient import (
|
|
16
16
|
Dirac3CloudSolver,
|
|
17
|
-
Dirac3ContinuousCloudSolver,
|
|
18
|
-
Dirac1CloudSolver,
|
|
19
17
|
)
|
|
20
|
-
|
|
18
|
+
from eqc_models.solvers.eqcdirect import Dirac3DirectSolver
|
|
21
19
|
|
|
22
20
|
class DecompBase(QuadraticModel):
|
|
23
21
|
"""An Base class for decomposition algorithms.
|
|
@@ -30,17 +28,30 @@ class DecompBase(QuadraticModel):
|
|
|
30
28
|
|
|
31
29
|
num_samples: Number of samples used by Dirac-3; default: 1.
|
|
32
30
|
|
|
31
|
+
solver_access: Solver access type: cloud or direct; default: cloud.
|
|
32
|
+
|
|
33
|
+
ip_addr: IP address of the device when direct access is used; default: None.
|
|
34
|
+
|
|
35
|
+
port: Port number of the device when direct access is used; default: None.
|
|
33
36
|
"""
|
|
34
37
|
|
|
35
38
|
def __init__(
|
|
36
39
|
self,
|
|
37
40
|
relaxation_schedule=2,
|
|
38
41
|
num_samples=1,
|
|
42
|
+
solver_access="cloud",
|
|
43
|
+
ip_addr=None,
|
|
44
|
+
port=None,
|
|
39
45
|
):
|
|
40
46
|
super(self).__init__(None, None, None)
|
|
41
47
|
|
|
48
|
+
assert solver_access in ["cloud", "direct"]
|
|
49
|
+
|
|
42
50
|
self.relaxation_schedule = relaxation_schedule
|
|
43
51
|
self.num_samples = num_samples
|
|
52
|
+
self.solver_access = solver_access
|
|
53
|
+
self.ip_addr = ip_addr
|
|
54
|
+
self.port = port
|
|
44
55
|
|
|
45
56
|
def _get_hamiltonian(
|
|
46
57
|
self,
|
|
@@ -62,15 +73,31 @@ class DecompBase(QuadraticModel):
|
|
|
62
73
|
return
|
|
63
74
|
|
|
64
75
|
def _solve(self):
|
|
65
|
-
|
|
76
|
+
|
|
77
|
+
if self.solver_access == "direct":
|
|
78
|
+
solver = Dirac3DirectSolver()
|
|
79
|
+
solver.connect(self.ip_addr, self.port)
|
|
80
|
+
else:
|
|
81
|
+
solver = Dirac3CloudSolver()
|
|
82
|
+
|
|
66
83
|
response = solver.solve(
|
|
67
84
|
self,
|
|
68
|
-
relaxation_schedule=self.relaxation_schedule,
|
|
69
85
|
sum_constraint=self._sum_constraint,
|
|
86
|
+
relaxation_schedule=self.relaxation_schedule,
|
|
70
87
|
num_samples=self.num_samples,
|
|
71
88
|
)
|
|
72
89
|
|
|
73
|
-
|
|
90
|
+
if self.solver_access == "cloud":
|
|
91
|
+
energies = response["results"]["energies"]
|
|
92
|
+
solutions = response["results"]["solutions"]
|
|
93
|
+
elif self.solver_access == "direct":
|
|
94
|
+
energies = response["energy"]
|
|
95
|
+
solutions = response["solution"]
|
|
96
|
+
|
|
97
|
+
min_id = np.argmin(energies)
|
|
98
|
+
sol = solutions[min_id]
|
|
99
|
+
|
|
100
|
+
print(response)
|
|
74
101
|
|
|
75
102
|
return sol, response
|
|
76
103
|
|
|
@@ -180,6 +207,12 @@ class PCA(DecompBase):
|
|
|
180
207
|
|
|
181
208
|
num_samples: Number of samples used by Dirac-3; default: 1.
|
|
182
209
|
|
|
210
|
+
solver_access: Solver access type: cloud or direct; default: cloud.
|
|
211
|
+
|
|
212
|
+
ip_addr: IP address of the device when direct access is used; default: None.
|
|
213
|
+
|
|
214
|
+
port: Port number of the device when direct access is used; default: None.
|
|
215
|
+
|
|
183
216
|
mode: Compute the largest or smallest principal components,
|
|
184
217
|
largest_components vs. smallest_components; default:
|
|
185
218
|
largest_components.
|
|
@@ -212,16 +245,23 @@ class PCA(DecompBase):
|
|
|
212
245
|
n_components=None,
|
|
213
246
|
relaxation_schedule=2,
|
|
214
247
|
num_samples=1,
|
|
248
|
+
solver_access="cloud",
|
|
249
|
+
ip_addr=None,
|
|
250
|
+
port=None,
|
|
215
251
|
mode="largest_components",
|
|
216
252
|
):
|
|
217
|
-
self.n_components = n_components
|
|
218
|
-
self.relaxation_schedule = relaxation_schedule
|
|
219
|
-
self.num_samples = num_samples
|
|
220
253
|
|
|
254
|
+
assert solver_access in ["cloud", "direct"]
|
|
221
255
|
assert mode in ["largest_components", "smallest_components"], (
|
|
222
256
|
"Invalid value of mode <%s>" % mode
|
|
223
257
|
)
|
|
224
|
-
|
|
258
|
+
|
|
259
|
+
self.n_components = n_components
|
|
260
|
+
self.relaxation_schedule = relaxation_schedule
|
|
261
|
+
self.num_samples = num_samples
|
|
262
|
+
self.solver_access = solver_access
|
|
263
|
+
self.ip_addr = ip_addr
|
|
264
|
+
self.port = port
|
|
225
265
|
self.mode = mode
|
|
226
266
|
self.X = None
|
|
227
267
|
self.X_pca = None
|
|
@@ -45,6 +45,12 @@ class LinearRegression(RegressorBase):
|
|
|
45
45
|
|
|
46
46
|
num_samples: Number of samples used by Dirac-3; default: 1.
|
|
47
47
|
|
|
48
|
+
solver_access: Solver access type: cloud or direct; default: cloud.
|
|
49
|
+
|
|
50
|
+
ip_addr: IP address of the device when direct access is used; default: None.
|
|
51
|
+
|
|
52
|
+
port: Port number of the device when direct access is used; default: None.
|
|
53
|
+
|
|
48
54
|
l2_reg_coef: L2 regularization penalty multiplier; default: 0.
|
|
49
55
|
|
|
50
56
|
alpha: A penalty multiplier to ensure the correct sign of a
|
|
@@ -72,13 +78,21 @@ class LinearRegression(RegressorBase):
|
|
|
72
78
|
self,
|
|
73
79
|
relaxation_schedule=2,
|
|
74
80
|
num_samples=1,
|
|
81
|
+
solver_access="cloud",
|
|
82
|
+
ip_addr=None,
|
|
83
|
+
port=None,
|
|
75
84
|
l2_reg_coef=0,
|
|
76
85
|
alpha=0,
|
|
77
86
|
):
|
|
78
87
|
super(LinearRegression).__init__()
|
|
79
88
|
|
|
89
|
+
assert solver_access in ["cloud", "direct"]
|
|
90
|
+
|
|
80
91
|
self.relaxation_schedule = relaxation_schedule
|
|
81
92
|
self.num_samples = num_samples
|
|
93
|
+
self.solver_access = solver_access
|
|
94
|
+
self.ip_addr = ip_addr
|
|
95
|
+
self.port = port
|
|
82
96
|
self.l2_reg_coef = l2_reg_coef
|
|
83
97
|
self.alpha = alpha
|
|
84
98
|
self.params = None
|
|
@@ -11,19 +11,27 @@ import numpy as np
|
|
|
11
11
|
|
|
12
12
|
from eqc_models import QuadraticModel
|
|
13
13
|
from eqc_models.solvers.qciclient import Dirac3CloudSolver
|
|
14
|
-
|
|
14
|
+
from eqc_models.solvers.eqcdirect import Dirac3DirectSolver
|
|
15
15
|
|
|
16
16
|
class RegressorBase(QuadraticModel):
|
|
17
17
|
def __init__(
|
|
18
18
|
self,
|
|
19
19
|
relaxation_schedule=2,
|
|
20
20
|
num_samples=1,
|
|
21
|
+
solver_access="cloud",
|
|
22
|
+
ip_addr=None,
|
|
23
|
+
port=None,
|
|
21
24
|
):
|
|
22
25
|
|
|
23
26
|
super(self).__init__(None, None, None)
|
|
27
|
+
|
|
28
|
+
assert solver_access in ["cloud", "direct"]
|
|
24
29
|
|
|
25
30
|
self.relaxation_schedule = relaxation_schedule
|
|
26
31
|
self.num_samples = num_samples
|
|
32
|
+
self.solver_access = solver_access
|
|
33
|
+
self.ip_addr = ip_addr
|
|
34
|
+
self.port = port
|
|
27
35
|
self.params = None
|
|
28
36
|
|
|
29
37
|
def predict(self, X: np.array):
|
|
@@ -51,7 +59,12 @@ class RegressorBase(QuadraticModel):
|
|
|
51
59
|
return
|
|
52
60
|
|
|
53
61
|
def solve(self):
|
|
54
|
-
|
|
62
|
+
if self.solver_access == "direct":
|
|
63
|
+
solver = Dirac3DirectSolver()
|
|
64
|
+
solver.connect(self.ip_addr, self.port)
|
|
65
|
+
else:
|
|
66
|
+
solver = Dirac3CloudSolver()
|
|
67
|
+
|
|
55
68
|
response = solver.solve(
|
|
56
69
|
self,
|
|
57
70
|
sum_constraint=self._sum_constraint,
|
|
@@ -59,9 +72,15 @@ class RegressorBase(QuadraticModel):
|
|
|
59
72
|
num_samples=self.num_samples,
|
|
60
73
|
)
|
|
61
74
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
75
|
+
if self.solver_access == "cloud":
|
|
76
|
+
energies = response["results"]["energies"]
|
|
77
|
+
solutions = response["results"]["solutions"]
|
|
78
|
+
elif self.solver_access == "direct":
|
|
79
|
+
energies = response["energy"]
|
|
80
|
+
solutions = response["solution"]
|
|
81
|
+
|
|
82
|
+
min_id = np.argmin(energies)
|
|
83
|
+
sol = solutions[min_id]
|
|
65
84
|
|
|
66
85
|
print(response)
|
|
67
86
|
|
|
@@ -1,5 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# (C) Quantum Computing Inc., 2025.
|
|
2
|
+
import logging
|
|
3
|
+
|
|
4
|
+
try:
|
|
5
|
+
from emucore_direct.client import EmuCoreClient
|
|
6
|
+
except ModuleNotFoundError:
|
|
7
|
+
# Only warn here to try to disrupt package behavior as least as possible.
|
|
8
|
+
logging.warning("emucore-direct package not available")
|
|
9
|
+
|
|
10
|
+
class EmuCoreClient:
|
|
11
|
+
"""This is a stub for unsupported EmuCoreClient."""
|
|
12
|
+
|
|
13
|
+
def __init__(*_, **__) -> None:
|
|
14
|
+
"""Raise exception when client cannot be created."""
|
|
15
|
+
raise ModuleNotFoundError(
|
|
16
|
+
"emucore-direct package not available, likely because Python version is 3.11+"
|
|
17
|
+
)
|
|
3
18
|
|
|
4
19
|
# Parameters
|
|
5
20
|
VBIAS = 0.31
|
|
@@ -12,5 +12,5 @@ class Dirac3MIPDirectSolver(MIPMixin, Dirac3DirectSolver):
|
|
|
12
12
|
|
|
13
13
|
__all__ = ["Dirac3DirectSolver", "Dirac1CloudSolver", "Dirac3CloudSolver",
|
|
14
14
|
"EqcDirectSolver", "QciClientSolver", "Dirac3IntegerCloudSolver",
|
|
15
|
-
"Dirac3ContinuousCloudSolver", "
|
|
15
|
+
"Dirac3ContinuousCloudSolver", "MIPMixin",
|
|
16
16
|
"Dirac3MIPCloudSolver", "Dirac3MIPDirectSolver"]
|
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
# (C) Quantum Computing Inc., 2025.
|
|
2
2
|
import logging
|
|
3
|
-
import numpy as np
|
|
4
3
|
from typing import Dict
|
|
5
|
-
|
|
4
|
+
|
|
5
|
+
try:
|
|
6
|
+
from eqc_direct.client import EqcClient
|
|
7
|
+
except ModuleNotFoundError:
|
|
8
|
+
# Only warn here to try to disrupt package behavior as least as possible.
|
|
9
|
+
logging.warning("eqc-direct package not available")
|
|
10
|
+
|
|
11
|
+
class EqcClient:
|
|
12
|
+
"""This is a stub for unsupported EqcClient."""
|
|
13
|
+
|
|
14
|
+
def __init__(*_, **__) -> None:
|
|
15
|
+
"""Raise exception when client cannot be created."""
|
|
16
|
+
raise ModuleNotFoundError(
|
|
17
|
+
"eqc-direct package not available, likely because Python version is 3.11+"
|
|
18
|
+
)
|
|
19
|
+
|
|
6
20
|
from eqc_models.base.base import EqcModel, ModelSolver
|
|
7
21
|
from eqc_models.base.results import SolutionResults
|
|
8
22
|
|
|
@@ -68,6 +82,8 @@ class Dirac3DirectSolver(ModelSolver):
|
|
|
68
82
|
|
|
69
83
|
@property
|
|
70
84
|
def client(self) -> EqcClient:
|
|
85
|
+
"""Return a new client from eqc-direct based on class config."""
|
|
86
|
+
|
|
71
87
|
return EqcClient(self.ip_addr, self.port, cert_file=self.cert_file)
|
|
72
88
|
|
|
73
89
|
def makeResults(self, model : EqcModel, response : Dict):
|
|
@@ -77,11 +77,11 @@ class MIPMixin:
|
|
|
77
77
|
for i in range(len(solutions)):
|
|
78
78
|
log.debug("SolutionResults solution: %s", solutions[i])
|
|
79
79
|
if hasattr(model, "evaluateObjective"):
|
|
80
|
-
new_objectives =
|
|
80
|
+
new_objectives = np.zeros((len(solutions),), dtype=np.float32)
|
|
81
81
|
else:
|
|
82
82
|
new_objectives = None
|
|
83
83
|
if hasattr(model, "evaluatePenalties"):
|
|
84
|
-
new_penalties =
|
|
84
|
+
new_penalties = np.zeros((len(solutions),), dtype=np.float32)
|
|
85
85
|
else:
|
|
86
86
|
new_penalties = None
|
|
87
87
|
new_solutions = []
|
|
@@ -98,12 +98,12 @@ class MIPMixin:
|
|
|
98
98
|
log.debug("%d - New solution %s", i, new_sol)
|
|
99
99
|
if new_objectives is not None:
|
|
100
100
|
try:
|
|
101
|
-
new_objectives
|
|
101
|
+
new_objectives[i:i+1] = model.evaluateObjective(new_sol)
|
|
102
102
|
except NotImplementedError as err:
|
|
103
103
|
pass
|
|
104
104
|
if new_penalties is not None:
|
|
105
105
|
try:
|
|
106
|
-
new_penalties
|
|
106
|
+
new_penalties[i:i+1] = model.evaluatePenalties(new_sol)
|
|
107
107
|
except NotImplementedError as err:
|
|
108
108
|
pass
|
|
109
109
|
new_solutions.append(new_sol)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# (C) Quantum Computing Inc., 2024.
|
|
2
2
|
from .polynomial import evaluate_polynomial, convert_hamiltonian_to_polynomial
|
|
3
3
|
from .fileio import read_coefficient_file, read_config_file, read_index_file
|
|
4
|
+
from .general import create_json_problem
|
|
4
5
|
|
|
5
6
|
__all__ = ["evaluate_polynomial",
|
|
6
|
-
"read_coefficient_file", "read_index_file", "read_config_file", "convert_hamiltonian_to_polynomial"]
|
|
7
|
+
"read_coefficient_file", "read_index_file", "read_config_file", "convert_hamiltonian_to_polynomial", "create_json_problem"]
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# (C) Quantum Computing Inc., 2024.
|
|
2
|
+
import numpy as np
|
|
3
|
+
from eqc_models.utilities.polynomial import convert_hamiltonian_to_polynomial
|
|
4
|
+
|
|
5
|
+
def create_json_problem(
|
|
6
|
+
A: np.array,
|
|
7
|
+
B: np.array,
|
|
8
|
+
C: np.array,
|
|
9
|
+
D: np.array,
|
|
10
|
+
num_vars: int,
|
|
11
|
+
sum_constraint: float = None,
|
|
12
|
+
num_levels: int = None,
|
|
13
|
+
):
|
|
14
|
+
|
|
15
|
+
"""Converts a hamiltonian of up to fourth order to a polynomial.
|
|
16
|
+
|
|
17
|
+
D_{ijkl} x_i x_j x_k x_l + C_{ijk} x_i x_j x_k + B_{ij} x_i x_j
|
|
18
|
+
+ A_i x_i
|
|
19
|
+
|
|
20
|
+
Input:
|
|
21
|
+
|
|
22
|
+
A: First order hamiltonian.
|
|
23
|
+
B: Second order hamiltonian.
|
|
24
|
+
C: Third order hamiltonian.
|
|
25
|
+
D: Fourth order hamiltonian.
|
|
26
|
+
num_vars: Number of variables.
|
|
27
|
+
|
|
28
|
+
Output:
|
|
29
|
+
|
|
30
|
+
Problem in json format.
|
|
31
|
+
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
if D is not None:
|
|
35
|
+
assert len(D.shape) == 4, "Incorrect shape!"
|
|
36
|
+
assert D.shape[0] == num_vars, "Inconsistent dimensions!"
|
|
37
|
+
assert D.shape[1] == num_vars, "Inconsistent dimensions!"
|
|
38
|
+
assert D.shape[2] == num_vars, "Inconsistent dimensions!"
|
|
39
|
+
assert D.shape[3] == num_vars, "Inconsistent dimensions!"
|
|
40
|
+
degree = 4
|
|
41
|
+
elif C is not None:
|
|
42
|
+
assert len(C.shape) == 3, "Incorrect shape!"
|
|
43
|
+
assert C.shape[0] == num_vars, "Inconsistent dimensions!"
|
|
44
|
+
assert C.shape[1] == num_vars, "Inconsistent dimensions!"
|
|
45
|
+
assert C.shape[2] == num_vars, "Inconsistent dimensions!"
|
|
46
|
+
degree = 3
|
|
47
|
+
elif B is not None:
|
|
48
|
+
assert len(B.shape) == 2, "Incorrect shape!"
|
|
49
|
+
assert B.shape[0] == num_vars, "Inconsistent dimensions!"
|
|
50
|
+
assert B.shape[1] == num_vars, "Inconsistent dimensions!"
|
|
51
|
+
degree = 2
|
|
52
|
+
elif A is not None:
|
|
53
|
+
assert len(A.shape) in [1, 2], "Incorrect shape!"
|
|
54
|
+
if len(A.shape) == 2:
|
|
55
|
+
if A.shape[1] == 1:
|
|
56
|
+
A = A.reshape((A.shape[0]))
|
|
57
|
+
else:
|
|
58
|
+
assert False, "Incorrect shape!"
|
|
59
|
+
|
|
60
|
+
assert A.shape[0] == num_vars, "Inconsistent dimensions!"
|
|
61
|
+
|
|
62
|
+
degree = 1
|
|
63
|
+
else:
|
|
64
|
+
assert False, "No hamiltonian provided!"
|
|
65
|
+
|
|
66
|
+
poly_indices, poly_coefs = convert_hamiltonian_to_polynomial(
|
|
67
|
+
A, B, C, D, num_vars,
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
json_object = {
|
|
71
|
+
"degree": degree,
|
|
72
|
+
"num_variables": num_vars,
|
|
73
|
+
"poly_indices": poly_indices,
|
|
74
|
+
"poly_coefficients": poly_coefs,
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if num_levels is not None:
|
|
78
|
+
json_object["levels"] = [num_levels] * num_vars
|
|
79
|
+
|
|
80
|
+
if sum_constraint is not None:
|
|
81
|
+
json_object["sum_constraint"] = sum_constraint
|
|
82
|
+
|
|
83
|
+
return json_object
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eqc-models
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.1
|
|
4
4
|
Summary: Optimization and ML modeling package targeting EQC devices
|
|
5
5
|
Author-email: "Quantum Computing Inc." <support@quantumcomputinginc.com>
|
|
6
6
|
Project-URL: Homepage, https://quantumcomputinginc.com
|
|
7
7
|
Project-URL: Documentation, https://quantumcomputinginc.com/learn/support/software-packages/
|
|
8
8
|
Project-URL: Issues, https://support.quantumcomputinginc.com/
|
|
9
|
-
Requires-Python: <3.
|
|
9
|
+
Requires-Python: <3.14,>=3.9
|
|
10
10
|
Description-Content-Type: text/markdown
|
|
11
11
|
License-File: LICENSE.txt
|
|
12
|
+
Requires-Dist: emucore-direct==1.0.7; python_version < "3.11"
|
|
13
|
+
Requires-Dist: eqc-direct==2.0.2; python_version < "3.11"
|
|
12
14
|
Requires-Dist: numpy<2,>=1.22.1
|
|
13
15
|
Requires-Dist: networkx<3,>=2.6.3
|
|
14
16
|
Requires-Dist: pandas<3,>=2.1.0
|
|
15
17
|
Requires-Dist: scikit-learn<2,>=1.2.1
|
|
18
|
+
Requires-Dist: lightgbm<5,>=4.6.0
|
|
19
|
+
Requires-Dist: xgboost<2,>=1.7.4
|
|
16
20
|
Requires-Dist: qci-client<6,>=5
|
|
17
|
-
Requires-Dist: emucore-direct==1.0.7
|
|
18
|
-
Requires-Dist: eqc-direct==2.0.2
|
|
19
21
|
Provides-Extra: dev
|
|
20
22
|
Requires-Dist: pytest<8,>=7.1.0; extra == "dev"
|
|
21
23
|
Requires-Dist: pytest-cov; extra == "dev"
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
eqc_models-0.14.1.data/platlib/compile_extensions.py,sha256=ivFZ87WFzBITU7IwK_72C41MDNMortJIF8tKevm2aW4,1946
|
|
2
|
+
eqc_models-0.14.1.data/platlib/eqc_models/__init__.py,sha256=WPUijJz2-4UZU-ZTqBofDc-Yaah24geHdmF16SkwIj4,683
|
|
3
|
+
eqc_models-0.14.1.data/platlib/eqc_models/decoding.py,sha256=G3JgbIFzvZ3DIKW0kZ1JeTMIZmrc8hy9kzdbX2Xv5Og,637
|
|
4
|
+
eqc_models-0.14.1.data/platlib/eqc_models/algorithms/__init__.py,sha256=lzQoMMSs2QTqp5suEYNvcQaSEN16d0LwIsZ1mRstumU,135
|
|
5
|
+
eqc_models-0.14.1.data/platlib/eqc_models/algorithms/base.py,sha256=qfQQTwuVyewn7Qpg1_SVoD_7TsdA8vdwSKGqOeZSmNI,204
|
|
6
|
+
eqc_models-0.14.1.data/platlib/eqc_models/algorithms/penaltymultiplier.py,sha256=8mXF-Gbz9CfLEmZ_jSGVLE8dd0c8ce8fWXfajUllU7I,7844
|
|
7
|
+
eqc_models-0.14.1.data/platlib/eqc_models/allocation/__init__.py,sha256=op_udrapTlWrakTuQId3M0ggo-Y1w4nGJLPcYKOQ-8I,239
|
|
8
|
+
eqc_models-0.14.1.data/platlib/eqc_models/allocation/allocation.py,sha256=PAQn4M75Zegeoy0i6r3hycWs4TKeRglHk05TvwZOoLk,15506
|
|
9
|
+
eqc_models-0.14.1.data/platlib/eqc_models/allocation/portbase.py,sha256=BTnYYduHydPbrE2yQr_Sgv3XJACH_GpIJstuMrfGqCU,3269
|
|
10
|
+
eqc_models-0.14.1.data/platlib/eqc_models/allocation/portmomentum.py,sha256=oMod63rNDC-01dLZjmhUb24SN3_GVgfc6CItgQL_obI,3756
|
|
11
|
+
eqc_models-0.14.1.data/platlib/eqc_models/assignment/__init__.py,sha256=WDlTjWGu75UTxuNUPGNVGoMaYvYILWzZOuS-o72n054,160
|
|
12
|
+
eqc_models-0.14.1.data/platlib/eqc_models/assignment/qap.py,sha256=WMiQQmTORsgi2w7kbmMA1xo-93dESLECWqYTF-zkmTs,2963
|
|
13
|
+
eqc_models-0.14.1.data/platlib/eqc_models/assignment/resource.py,sha256=I0yAKjap2yQNpqDE9k7YoKbzVtsv_PVVpZzkUQuhbAE,6887
|
|
14
|
+
eqc_models-0.14.1.data/platlib/eqc_models/assignment/setpartition.py,sha256=5SQxF_ZlQk4ubWf5_3TgL83k01hAakUP-5AydlD-BvE,161
|
|
15
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/__init__.py,sha256=wKBppDk1lBiDvGOFnNpzu4lh7n4dQiyd_x3lNQJumTw,2952
|
|
16
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/base.py,sha256=3ESnRDa9KrOmyGFtDHP10X-TNBnOaDnBQ549uVcSB34,6721
|
|
17
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/binaries.py,sha256=rS-EUl2vzlDRTvHQ9Qn6SkyXfpyLMik50wh-h_bX5Qs,726
|
|
18
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/constraints.py,sha256=BKTQlkITRE8C-_ix6pVWbIK42RxrLsmzS3e8faD5Y7U,9540
|
|
19
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/operators.py,sha256=9nCeN6fRP-_YBfs-Gm57D-O_376qcOQiqGDuVlSlf00,7392
|
|
20
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/polyeval.c,sha256=qoXN_4c7J2ynbD6TGs66vFkgltuJH2dCHnKsBpS85Ug,483061
|
|
21
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/polyeval.cpython-310-darwin.so,sha256=RcREMUT8bGC-0c50WRJeNhp5VZ2BkXVykv4s7aIBIlM,109312
|
|
22
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/polyeval.pyx,sha256=76Bf99Jt1_rLh5byrZxAjavE2F4_yCysirViqOBFIXw,2547
|
|
23
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/polynomial.py,sha256=dkRs05mkItOwvWQgZjdAPG93OP3Pkd8jnJ0a2e1t-lU,13846
|
|
24
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/quadratic.py,sha256=IKjd-tL6pQosl217knS_ul2BXpk5a8ZZiSUzvKPg8S8,8082
|
|
25
|
+
eqc_models-0.14.1.data/platlib/eqc_models/base/results.py,sha256=pOX9AuVDRWuinzyw6YMqETmvKlA0-LdYbiEKwX9dYSA,8970
|
|
26
|
+
eqc_models-0.14.1.data/platlib/eqc_models/combinatorics/__init__.py,sha256=BhzcVxwpWu2b4jIe0bmPzD5VmSyzwp0oW2q9iYx2IUs,167
|
|
27
|
+
eqc_models-0.14.1.data/platlib/eqc_models/combinatorics/setcover.py,sha256=T5hXoE9Ecw3mTHPLmifBwTzpF_4MhoCUgo2rkSOWt5s,3396
|
|
28
|
+
eqc_models-0.14.1.data/platlib/eqc_models/combinatorics/setpartition.py,sha256=ZD69kgEYSU3KWnx0b4MVCP8XSxbA_VCXOW22_Yssl_M,6254
|
|
29
|
+
eqc_models-0.14.1.data/platlib/eqc_models/graph/__init__.py,sha256=mpueOOcKklmtw1A3yUsjFNXU5DJ5XnItmGJKapaBLPg,392
|
|
30
|
+
eqc_models-0.14.1.data/platlib/eqc_models/graph/base.py,sha256=K9d7hLgLuBtywEdK9Rz1dUV70Xtf-oVrwqtHyzXK7k4,2117
|
|
31
|
+
eqc_models-0.14.1.data/platlib/eqc_models/graph/hypergraph.py,sha256=ABvutT0NOdIEpUF4TjUzboE4Y_J5iUZyj6-AzKr4R28,13268
|
|
32
|
+
eqc_models-0.14.1.data/platlib/eqc_models/graph/maxcut.py,sha256=o8xVsAwTa9jcpmsIoCQ5z7HSstVdraT8TENomdT519o,4132
|
|
33
|
+
eqc_models-0.14.1.data/platlib/eqc_models/graph/maxkcut.py,sha256=rEDBjto2MbuPh4c0RwTOZoVffKgcriqHNOZAIuBlclQ,4654
|
|
34
|
+
eqc_models-0.14.1.data/platlib/eqc_models/graph/partition.py,sha256=HMpRRipLp14x8pHucY-g6fU7v0PGoy1pf_KpzbanfD0,5800
|
|
35
|
+
eqc_models-0.14.1.data/platlib/eqc_models/graph/rcshortestpath.py,sha256=g5sy8pRk6c5x4nHVrs9vd0DjDxqlaLDkSytsiIp1hRw,3127
|
|
36
|
+
eqc_models-0.14.1.data/platlib/eqc_models/graph/shortestpath.py,sha256=p0NMGQt9pGbRQwu2pSIXXetSJfHB9K7K0rXP5JvDpQE,6443
|
|
37
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/__init__.py,sha256=CLfraacr0FrD5ynxlNB6cyNy0lpbavcQT45TvkDrNvY,369
|
|
38
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/classifierbase.py,sha256=IJxHMVnF7L2ClYI5b-gshs1q1t0apz5yWQtmEFSbR8E,2856
|
|
39
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/classifierqboost.py,sha256=YxUpzz2wpfT2M9cX6ZUuzDK3g6Jgv7BIgSdpDYnfahc,20692
|
|
40
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/classifierqsvm.py,sha256=ELKAdOMExeNjJIJCHd28bf7xQYBI2TpQDGkifldThkU,12120
|
|
41
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/clustering.py,sha256=wdzJVZwXKoK1L2QHhF0WiAjGDzDNfuoqcmNd46x7qqY,10503
|
|
42
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/clusteringbase.py,sha256=BbhyJfUpe5EgcCquz64qahK3HISsaQcEI2N6G64FJQU,3514
|
|
43
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx,sha256=3PMmEJ_xfmmWXGfire0t-WASnmKj6-CblufgQ2NTARo,2111
|
|
44
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.c,sha256=ZoKgm_uGjTewhk4W6s-x8QoFuZO0KVkxILIFh6JKsoI,1851
|
|
45
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.h,sha256=aOImMG5pziUnZxGpDXyWjLrvcY7ZdsczwwSQ2ay4T88,272
|
|
46
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/decomposition.py,sha256=sDvJmHMqHbdRKnfIN1DV3h9qmiH38NMAdJW3SZP7xEg,10992
|
|
47
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/forecast.py,sha256=fFcBxQK9ZryfEuyvlr9HXicHoZRzLFybimYYttzhI9E,7403
|
|
48
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/forecastbase.py,sha256=s-6nUMvtYqG07r7MmmkFVj8_QqgeGkD-HVoEEDTE2bk,3654
|
|
49
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/regressor.py,sha256=cF9L5MjoFKkdcKs3bCm6qaSzvSDiSIi1JtJeZE974hw,6174
|
|
50
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/regressorbase.py,sha256=a5PMOEOxIOkpYwvrkReh_edgAcjBm6e3lR6petNkqTg,2798
|
|
51
|
+
eqc_models-0.14.1.data/platlib/eqc_models/ml/reservoir.py,sha256=HDY-diloMevbtNDjKPoDJmx37NGxwBOI7d8Y-8KeGfA,3375
|
|
52
|
+
eqc_models-0.14.1.data/platlib/eqc_models/process/base.py,sha256=QmwbPRc9w9Yr7cwPvdnV6LBdgajif_8WGYGfwApvO34,443
|
|
53
|
+
eqc_models-0.14.1.data/platlib/eqc_models/process/mpc.py,sha256=V7RlA6t08IayV-VKkpK4mC01Lvk3ZTD-HlFYk60snks,645
|
|
54
|
+
eqc_models-0.14.1.data/platlib/eqc_models/sequence/__init__.py,sha256=VXlYufO3GYFsM00oii9Cite2WsQEF8XTwRcjLPH_Zlg,92
|
|
55
|
+
eqc_models-0.14.1.data/platlib/eqc_models/sequence/tsp.py,sha256=YM641FTyK5NkgRGxHrU1QmMkEU0gf77nEmIElTqa6Qw,7680
|
|
56
|
+
eqc_models-0.14.1.data/platlib/eqc_models/solvers/__init__.py,sha256=uC1fL2y-S_XwxnuN_ln-Tk3UvF4PGUKN_YolqnQZWDs,676
|
|
57
|
+
eqc_models-0.14.1.data/platlib/eqc_models/solvers/eqcdirect.py,sha256=dq0QjJhQcljCZr8FKTfPpheOfsb7ly3E28fXT-KYLE8,2875
|
|
58
|
+
eqc_models-0.14.1.data/platlib/eqc_models/solvers/mip.py,sha256=SvET_HzspqY3JoH_fnZSoU-wtBS0YXE9C9kpvE9TJHs,5358
|
|
59
|
+
eqc_models-0.14.1.data/platlib/eqc_models/solvers/qciclient.py,sha256=ore3YcZ9GAoLfdkYQUgo7XLU1WKvobHzl22DuwINWj8,26677
|
|
60
|
+
eqc_models-0.14.1.data/platlib/eqc_models/solvers/responselog.py,sha256=Vl0ZDYixwH2OnuCECP-TRwJ6PGfvPodWUgpvYOvYzRk,1735
|
|
61
|
+
eqc_models-0.14.1.data/platlib/eqc_models/utilities/__init__.py,sha256=6CpihFOS9_TVoR-9DBARUCb7aCwBTgA7hs3aW38rFkg,404
|
|
62
|
+
eqc_models-0.14.1.data/platlib/eqc_models/utilities/fileio.py,sha256=alWPTfjGFx6Iio9HZAAWtYcLmZsBBifg6S6_YbFMQhk,1088
|
|
63
|
+
eqc_models-0.14.1.data/platlib/eqc_models/utilities/general.py,sha256=mHOG0rSxk8icd4ij5DWKxlZuki4mBggZyEA94P-bSlo,2564
|
|
64
|
+
eqc_models-0.14.1.data/platlib/eqc_models/utilities/polynomial.py,sha256=blXfu7Ehz9lT4nEmIinRzJOL27_qUHSbQ57zxmwDJCA,4735
|
|
65
|
+
eqc_models-0.14.1.data/platlib/eqc_models/utilities/qplib.py,sha256=Do-MjmCFdI5HyDOAjfoz4_5lugySLMBlMAWDLUWx2OA,15796
|
|
66
|
+
eqc_models-0.14.1.dist-info/licenses/LICENSE.txt,sha256=8eh0oqsNNVR1Jk-13gkqRRSo2axtUU5kp2KzH4f9u3U,11354
|
|
67
|
+
eqc_models-0.14.1.dist-info/METADATA,sha256=XHaLkqfVnK3McL3ddtfJpKsLc0w1qP2qTb8bb-kGY_A,7199
|
|
68
|
+
eqc_models-0.14.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
69
|
+
eqc_models-0.14.1.dist-info/top_level.txt,sha256=9ZfFeKNEvkRlKWoUnfcZ9TzmTdgdsuPEnTPy11Hqf4Q,30
|
|
70
|
+
eqc_models-0.14.1.dist-info/RECORD,,
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
eqc_models-0.13.0.data/platlib/compile_extensions.py,sha256=ivFZ87WFzBITU7IwK_72C41MDNMortJIF8tKevm2aW4,1946
|
|
2
|
-
eqc_models-0.13.0.data/platlib/eqc_models/__init__.py,sha256=WPUijJz2-4UZU-ZTqBofDc-Yaah24geHdmF16SkwIj4,683
|
|
3
|
-
eqc_models-0.13.0.data/platlib/eqc_models/decoding.py,sha256=G3JgbIFzvZ3DIKW0kZ1JeTMIZmrc8hy9kzdbX2Xv5Og,637
|
|
4
|
-
eqc_models-0.13.0.data/platlib/eqc_models/algorithms/__init__.py,sha256=lzQoMMSs2QTqp5suEYNvcQaSEN16d0LwIsZ1mRstumU,135
|
|
5
|
-
eqc_models-0.13.0.data/platlib/eqc_models/algorithms/base.py,sha256=qfQQTwuVyewn7Qpg1_SVoD_7TsdA8vdwSKGqOeZSmNI,204
|
|
6
|
-
eqc_models-0.13.0.data/platlib/eqc_models/algorithms/penaltymultiplier.py,sha256=SndGxCZDS3JTaxFOPJpTBumFdIKcB0dKwSHwfl_BI6o,7845
|
|
7
|
-
eqc_models-0.13.0.data/platlib/eqc_models/allocation/__init__.py,sha256=op_udrapTlWrakTuQId3M0ggo-Y1w4nGJLPcYKOQ-8I,239
|
|
8
|
-
eqc_models-0.13.0.data/platlib/eqc_models/allocation/allocation.py,sha256=PAQn4M75Zegeoy0i6r3hycWs4TKeRglHk05TvwZOoLk,15506
|
|
9
|
-
eqc_models-0.13.0.data/platlib/eqc_models/allocation/portbase.py,sha256=BTnYYduHydPbrE2yQr_Sgv3XJACH_GpIJstuMrfGqCU,3269
|
|
10
|
-
eqc_models-0.13.0.data/platlib/eqc_models/allocation/portmomentum.py,sha256=oMod63rNDC-01dLZjmhUb24SN3_GVgfc6CItgQL_obI,3756
|
|
11
|
-
eqc_models-0.13.0.data/platlib/eqc_models/assignment/__init__.py,sha256=WDlTjWGu75UTxuNUPGNVGoMaYvYILWzZOuS-o72n054,160
|
|
12
|
-
eqc_models-0.13.0.data/platlib/eqc_models/assignment/qap.py,sha256=WMiQQmTORsgi2w7kbmMA1xo-93dESLECWqYTF-zkmTs,2963
|
|
13
|
-
eqc_models-0.13.0.data/platlib/eqc_models/assignment/resource.py,sha256=Ux9e3Badty6bFMqRaLKAGbVRUtb1k1r1_E_2ajOhgb4,6883
|
|
14
|
-
eqc_models-0.13.0.data/platlib/eqc_models/assignment/setpartition.py,sha256=5SQxF_ZlQk4ubWf5_3TgL83k01hAakUP-5AydlD-BvE,161
|
|
15
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/__init__.py,sha256=wKBppDk1lBiDvGOFnNpzu4lh7n4dQiyd_x3lNQJumTw,2952
|
|
16
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/base.py,sha256=3ESnRDa9KrOmyGFtDHP10X-TNBnOaDnBQ549uVcSB34,6721
|
|
17
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/binaries.py,sha256=rS-EUl2vzlDRTvHQ9Qn6SkyXfpyLMik50wh-h_bX5Qs,726
|
|
18
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/constraints.py,sha256=BKTQlkITRE8C-_ix6pVWbIK42RxrLsmzS3e8faD5Y7U,9540
|
|
19
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/operators.py,sha256=9nCeN6fRP-_YBfs-Gm57D-O_376qcOQiqGDuVlSlf00,7392
|
|
20
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/polyeval.c,sha256=wu3gWbakYpq0kWgmJfj5XiEhPpk3Dc54xHNMGwKdXUE,483061
|
|
21
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/polyeval.cpython-310-darwin.so,sha256=MvVkAT8p-rYhwEo7-rWGqgPyi-tb_S97PvX4cWXroTs,109312
|
|
22
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/polyeval.pyx,sha256=76Bf99Jt1_rLh5byrZxAjavE2F4_yCysirViqOBFIXw,2547
|
|
23
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/polynomial.py,sha256=dkRs05mkItOwvWQgZjdAPG93OP3Pkd8jnJ0a2e1t-lU,13846
|
|
24
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/quadratic.py,sha256=IKjd-tL6pQosl217knS_ul2BXpk5a8ZZiSUzvKPg8S8,8082
|
|
25
|
-
eqc_models-0.13.0.data/platlib/eqc_models/base/results.py,sha256=P_tetLKJm-xWl6k00C0TFSTinq8jEeolwGsRTwsc-Zo,8777
|
|
26
|
-
eqc_models-0.13.0.data/platlib/eqc_models/combinatorics/__init__.py,sha256=BhzcVxwpWu2b4jIe0bmPzD5VmSyzwp0oW2q9iYx2IUs,167
|
|
27
|
-
eqc_models-0.13.0.data/platlib/eqc_models/combinatorics/setcover.py,sha256=T5hXoE9Ecw3mTHPLmifBwTzpF_4MhoCUgo2rkSOWt5s,3396
|
|
28
|
-
eqc_models-0.13.0.data/platlib/eqc_models/combinatorics/setpartition.py,sha256=ZD69kgEYSU3KWnx0b4MVCP8XSxbA_VCXOW22_Yssl_M,6254
|
|
29
|
-
eqc_models-0.13.0.data/platlib/eqc_models/graph/__init__.py,sha256=mpueOOcKklmtw1A3yUsjFNXU5DJ5XnItmGJKapaBLPg,392
|
|
30
|
-
eqc_models-0.13.0.data/platlib/eqc_models/graph/base.py,sha256=K9d7hLgLuBtywEdK9Rz1dUV70Xtf-oVrwqtHyzXK7k4,2117
|
|
31
|
-
eqc_models-0.13.0.data/platlib/eqc_models/graph/hypergraph.py,sha256=ABvutT0NOdIEpUF4TjUzboE4Y_J5iUZyj6-AzKr4R28,13268
|
|
32
|
-
eqc_models-0.13.0.data/platlib/eqc_models/graph/maxcut.py,sha256=o8xVsAwTa9jcpmsIoCQ5z7HSstVdraT8TENomdT519o,4132
|
|
33
|
-
eqc_models-0.13.0.data/platlib/eqc_models/graph/maxkcut.py,sha256=rEDBjto2MbuPh4c0RwTOZoVffKgcriqHNOZAIuBlclQ,4654
|
|
34
|
-
eqc_models-0.13.0.data/platlib/eqc_models/graph/partition.py,sha256=HMpRRipLp14x8pHucY-g6fU7v0PGoy1pf_KpzbanfD0,5800
|
|
35
|
-
eqc_models-0.13.0.data/platlib/eqc_models/graph/rcshortestpath.py,sha256=g5sy8pRk6c5x4nHVrs9vd0DjDxqlaLDkSytsiIp1hRw,3127
|
|
36
|
-
eqc_models-0.13.0.data/platlib/eqc_models/graph/shortestpath.py,sha256=p0NMGQt9pGbRQwu2pSIXXetSJfHB9K7K0rXP5JvDpQE,6443
|
|
37
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/__init__.py,sha256=CLfraacr0FrD5ynxlNB6cyNy0lpbavcQT45TvkDrNvY,369
|
|
38
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/classifierbase.py,sha256=1D6EYgiEqbtoXpBHnCaBqPDXKEjsIpJpM5UTIGxumfk,3080
|
|
39
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/classifierqboost.py,sha256=oxYnex7Z_iXglupqmMN9bK6gU1DxKcHOo03fLCmELfQ,19456
|
|
40
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/classifierqsvm.py,sha256=ELKAdOMExeNjJIJCHd28bf7xQYBI2TpQDGkifldThkU,12120
|
|
41
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/clustering.py,sha256=KD8mv_xY9-pRGKDRgeLDO3e38cjftzca4SUBvN4__-I,9522
|
|
42
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/clusteringbase.py,sha256=mBlNe72QJmiGUhgq_jepHauNvANWhG0hEZQY2EHWKtA,2604
|
|
43
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx,sha256=3PMmEJ_xfmmWXGfire0t-WASnmKj6-CblufgQ2NTARo,2111
|
|
44
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.c,sha256=ZoKgm_uGjTewhk4W6s-x8QoFuZO0KVkxILIFh6JKsoI,1851
|
|
45
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.h,sha256=aOImMG5pziUnZxGpDXyWjLrvcY7ZdsczwwSQ2ay4T88,272
|
|
46
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/decomposition.py,sha256=VbYAM6tJ0FSwvSezhHDrhpQjqbChVED9DAJPJd98I4A,9475
|
|
47
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/forecast.py,sha256=fFcBxQK9ZryfEuyvlr9HXicHoZRzLFybimYYttzhI9E,7403
|
|
48
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/forecastbase.py,sha256=s-6nUMvtYqG07r7MmmkFVj8_QqgeGkD-HVoEEDTE2bk,3654
|
|
49
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/regressor.py,sha256=LA1woXCnefG0wfoOxilX1kszgCUmfNcbQgs_WZ4Ai0o,5683
|
|
50
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/regressorbase.py,sha256=ZG1lCek3VEH8iONa5N-sNxRa_7X9gO3Tg_-uX2ItLnc,2075
|
|
51
|
-
eqc_models-0.13.0.data/platlib/eqc_models/ml/reservoir.py,sha256=cPRvpCaWLYTBkui35jCssHcOPQgSQZallrG6Ac9djVI,2827
|
|
52
|
-
eqc_models-0.13.0.data/platlib/eqc_models/process/base.py,sha256=QmwbPRc9w9Yr7cwPvdnV6LBdgajif_8WGYGfwApvO34,443
|
|
53
|
-
eqc_models-0.13.0.data/platlib/eqc_models/process/mpc.py,sha256=V7RlA6t08IayV-VKkpK4mC01Lvk3ZTD-HlFYk60snks,645
|
|
54
|
-
eqc_models-0.13.0.data/platlib/eqc_models/sequence/__init__.py,sha256=VXlYufO3GYFsM00oii9Cite2WsQEF8XTwRcjLPH_Zlg,92
|
|
55
|
-
eqc_models-0.13.0.data/platlib/eqc_models/sequence/tsp.py,sha256=YM641FTyK5NkgRGxHrU1QmMkEU0gf77nEmIElTqa6Qw,7680
|
|
56
|
-
eqc_models-0.13.0.data/platlib/eqc_models/solvers/__init__.py,sha256=Q6QZkkeji_QyeBmgMT5qUs7mzdjK8hPUxw3zLqPxq00,677
|
|
57
|
-
eqc_models-0.13.0.data/platlib/eqc_models/solvers/eqcdirect.py,sha256=CUchx3GH0VqNaE6SlZN75tH6CoztwGdGbLuhLdUr85s,2319
|
|
58
|
-
eqc_models-0.13.0.data/platlib/eqc_models/solvers/mip.py,sha256=jdH2nHUZ5FZ2LCW2Tm08PjWfh5LM_SM0x5tLvlWNM_w,5270
|
|
59
|
-
eqc_models-0.13.0.data/platlib/eqc_models/solvers/qciclient.py,sha256=ore3YcZ9GAoLfdkYQUgo7XLU1WKvobHzl22DuwINWj8,26677
|
|
60
|
-
eqc_models-0.13.0.data/platlib/eqc_models/solvers/responselog.py,sha256=Vl0ZDYixwH2OnuCECP-TRwJ6PGfvPodWUgpvYOvYzRk,1735
|
|
61
|
-
eqc_models-0.13.0.data/platlib/eqc_models/utilities/__init__.py,sha256=SI2U7JKmPWSiq-F1WcSyfd7l9V6nbOZv_p8quMAZaT0,340
|
|
62
|
-
eqc_models-0.13.0.data/platlib/eqc_models/utilities/fileio.py,sha256=alWPTfjGFx6Iio9HZAAWtYcLmZsBBifg6S6_YbFMQhk,1088
|
|
63
|
-
eqc_models-0.13.0.data/platlib/eqc_models/utilities/polynomial.py,sha256=blXfu7Ehz9lT4nEmIinRzJOL27_qUHSbQ57zxmwDJCA,4735
|
|
64
|
-
eqc_models-0.13.0.data/platlib/eqc_models/utilities/qplib.py,sha256=Do-MjmCFdI5HyDOAjfoz4_5lugySLMBlMAWDLUWx2OA,15796
|
|
65
|
-
eqc_models-0.13.0.dist-info/licenses/LICENSE.txt,sha256=8eh0oqsNNVR1Jk-13gkqRRSo2axtUU5kp2KzH4f9u3U,11354
|
|
66
|
-
eqc_models-0.13.0.dist-info/METADATA,sha256=KOi9xU2l9f1w678joAy7798-Z08D0CAXIF4-IkUtWcg,7082
|
|
67
|
-
eqc_models-0.13.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
68
|
-
eqc_models-0.13.0.dist-info/top_level.txt,sha256=9ZfFeKNEvkRlKWoUnfcZ9TzmTdgdsuPEnTPy11Hqf4Q,30
|
|
69
|
-
eqc_models-0.13.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/allocation/allocation.py
RENAMED
|
File without changes
|
|
File without changes
|
{eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/allocation/portmomentum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/assignment/setpartition.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
|
|
File without changes
|
{eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/combinatorics/__init__.py
RENAMED
|
File without changes
|
{eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/combinatorics/setcover.py
RENAMED
|
File without changes
|
{eqc_models-0.13.0.data → eqc_models-0.14.1.data}/platlib/eqc_models/combinatorics/setpartition.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|