eqc-models 0.14.3__py3-none-any.whl → 0.14.4__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.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/polyeval.c +122 -122
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/polyeval.cpython-310-darwin.so +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/classifierbase.py +11 -9
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/classifierqboost.py +12 -5
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/classifierqsvm.py +30 -14
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/clustering.py +39 -23
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/clusteringbase.py +11 -5
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/decomposition.py +30 -14
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/forecast.py +24 -23
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/forecastbase.py +1 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/regressor.py +15 -7
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/regressorbase.py +14 -10
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/reservoir.py +20 -19
- {eqc_models-0.14.3.dist-info → eqc_models-0.14.4.dist-info}/METADATA +1 -1
- eqc_models-0.14.4.dist-info/RECORD +70 -0
- eqc_models-0.14.3.dist-info/RECORD +0 -70
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/compile_extensions.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/algorithms/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/algorithms/base.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/algorithms/penaltymultiplier.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/allocation/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/allocation/allocation.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/allocation/portbase.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/allocation/portmomentum.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/assignment/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/assignment/qap.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/assignment/resource.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/assignment/setpartition.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/base.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/binaries.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/constraints.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/operators.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/polyeval.pyx +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/polynomial.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/quadratic.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/base/results.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/combinatorics/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/combinatorics/setcover.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/combinatorics/setpartition.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/decoding.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/graph/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/graph/base.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/graph/hypergraph.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/graph/maxcut.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/graph/maxkcut.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/graph/partition.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/graph/rcshortestpath.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/graph/shortestpath.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.c +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.h +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/process/base.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/process/mpc.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/sequence/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/sequence/tsp.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/solvers/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/solvers/eqcdirect.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/solvers/mip.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/solvers/qciclient.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/solvers/responselog.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/utilities/__init__.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/utilities/fileio.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/utilities/general.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/utilities/polynomial.py +0 -0
- {eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/utilities/qplib.py +0 -0
- {eqc_models-0.14.3.dist-info → eqc_models-0.14.4.dist-info}/WHEEL +0 -0
- {eqc_models-0.14.3.dist-info → eqc_models-0.14.4.dist-info}/licenses/LICENSE.txt +0 -0
- {eqc_models-0.14.3.dist-info → eqc_models-0.14.4.dist-info}/top_level.txt +0 -0
|
@@ -6,6 +6,7 @@ from sklearn.linear_model import LinearRegression, Ridge
|
|
|
6
6
|
from .reservoir import QciReservoir
|
|
7
7
|
from .forecastbase import BaseForecastModel
|
|
8
8
|
|
|
9
|
+
|
|
9
10
|
class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
10
11
|
"""
|
|
11
12
|
A reservoir based forecast model.
|
|
@@ -24,14 +25,14 @@ class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
|
24
25
|
|
|
25
26
|
reg_coef: L2 regularization coefficient for linear regression;
|
|
26
27
|
default: 0.
|
|
27
|
-
|
|
28
|
+
|
|
28
29
|
device: The QCi reservoir device. Currently only 'EmuCore' is
|
|
29
30
|
supported; default: EmuCore.
|
|
30
31
|
|
|
31
32
|
|
|
32
33
|
Examples
|
|
33
34
|
---------
|
|
34
|
-
|
|
35
|
+
|
|
35
36
|
>>> MAX_TRAIN_DAY = 800
|
|
36
37
|
>>> IP_ADDR = "172.22.19.49"
|
|
37
38
|
>>> FEATURE_SCALING = 0.1
|
|
@@ -60,9 +61,9 @@ class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
|
60
61
|
... y_train_pred = model.predict(train_df, mode="in_sample")
|
|
61
62
|
... y_test_pred = model.predict(test_df, mode="in_sample")
|
|
62
63
|
>>> model.close()
|
|
63
|
-
|
|
64
|
+
|
|
64
65
|
"""
|
|
65
|
-
|
|
66
|
+
|
|
66
67
|
def __init__(
|
|
67
68
|
self,
|
|
68
69
|
ip_addr,
|
|
@@ -75,14 +76,14 @@ class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
|
75
76
|
super(ReservoirForecastModel).__init__()
|
|
76
77
|
BaseForecastModel.__init__(self)
|
|
77
78
|
QciReservoir.__init__(self, ip_addr, num_nodes)
|
|
78
|
-
|
|
79
|
+
|
|
79
80
|
assert device == "EmuCore", "Unknown device!"
|
|
80
81
|
|
|
81
82
|
self.ip_addr = ip_addr
|
|
82
83
|
self.num_nodes = num_nodes
|
|
83
84
|
self.feature_scaling = feature_scaling
|
|
84
85
|
self.num_pads = num_pads
|
|
85
|
-
self.reg_coef = reg_coef
|
|
86
|
+
self.reg_coef = reg_coef
|
|
86
87
|
self.device = device
|
|
87
88
|
|
|
88
89
|
self.lock_id = None
|
|
@@ -92,8 +93,8 @@ class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
|
92
93
|
self.lags = None
|
|
93
94
|
self.horizon_size = None
|
|
94
95
|
self.zero_pad_data = None
|
|
95
|
-
self.train_pad_data = None
|
|
96
|
-
|
|
96
|
+
self.train_pad_data = None
|
|
97
|
+
|
|
97
98
|
self.init_reservoir()
|
|
98
99
|
|
|
99
100
|
def close(self):
|
|
@@ -133,9 +134,9 @@ class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
|
133
134
|
self.zero_pad_data = pd.DataFrame()
|
|
134
135
|
for item in data.columns:
|
|
135
136
|
self.zero_pad_data[item] = np.zeros(shape=(num_pads))
|
|
136
|
-
|
|
137
|
+
|
|
137
138
|
data = pd.concat([self.zero_pad_data, data])
|
|
138
|
-
|
|
139
|
+
|
|
139
140
|
# Prep data
|
|
140
141
|
fea_data = np.array(data[feature_fields])
|
|
141
142
|
targ_data = np.array(data[target_fields])
|
|
@@ -153,15 +154,15 @@ class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
|
153
154
|
self.lags = lags
|
|
154
155
|
self.horizon_size = horizon_size
|
|
155
156
|
|
|
156
|
-
# Push to reservoir
|
|
157
|
+
# Push to reservoir
|
|
157
158
|
X_train_resp = self.push_reservoir(X_train)
|
|
158
159
|
|
|
159
160
|
if num_pads is not None and num_pads > 0:
|
|
160
161
|
X_train_resp = X_train_resp[num_pads:]
|
|
161
162
|
y_train = y_train[num_pads:]
|
|
162
|
-
|
|
163
|
+
|
|
163
164
|
# Build linear model
|
|
164
|
-
#self.lin_model = LinearRegression(fit_intercept=True)
|
|
165
|
+
# self.lin_model = LinearRegression(fit_intercept=True)
|
|
165
166
|
self.lin_model = Ridge(alpha=self.reg_coef, fit_intercept=True)
|
|
166
167
|
self.lin_model.fit(X_train_resp, y_train)
|
|
167
168
|
|
|
@@ -173,7 +174,7 @@ class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
|
173
174
|
|
|
174
175
|
print("Training stats:", train_stats)
|
|
175
176
|
|
|
176
|
-
if num_pads is not None and num_pads > 0:
|
|
177
|
+
if num_pads is not None and num_pads > 0:
|
|
177
178
|
self.train_pad_data = data.tail(num_pads)
|
|
178
179
|
|
|
179
180
|
return
|
|
@@ -193,7 +194,7 @@ class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
|
193
194
|
|
|
194
195
|
pad_mode: Mode of the reservoir input padding, either
|
|
195
196
|
'last_train' or 'zero'; default: 'zero.
|
|
196
|
-
|
|
197
|
+
|
|
197
198
|
mode: A value of 'out_of_sample' predicts the horizon
|
|
198
199
|
following the time series. A value of 'in_sample' predicts in
|
|
199
200
|
sample (used for testing); default: in_sample.
|
|
@@ -216,13 +217,13 @@ class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
|
216
217
|
pad_data = self.train_pad_data
|
|
217
218
|
else:
|
|
218
219
|
pad_data = self.zero_pad_data
|
|
219
|
-
|
|
220
|
+
|
|
220
221
|
data = pd.concat([pad_data, data])
|
|
221
|
-
|
|
222
|
+
|
|
222
223
|
num_records = data.shape[0]
|
|
223
224
|
fea_data = np.array(data[self.feature_fields])
|
|
224
225
|
targ_data = np.array(data[self.target_fields])
|
|
225
|
-
|
|
226
|
+
|
|
226
227
|
if mode == "in_sample":
|
|
227
228
|
X, y, _ = self.prep_fea_targs(
|
|
228
229
|
fea_data=fea_data,
|
|
@@ -238,18 +239,18 @@ class ReservoirForecastModel(BaseForecastModel, QciReservoir):
|
|
|
238
239
|
)
|
|
239
240
|
else:
|
|
240
241
|
assert False, "Unknown mode <%s>!" % mode
|
|
241
|
-
|
|
242
|
+
|
|
242
243
|
X_resp = self.push_reservoir(X)
|
|
243
244
|
|
|
244
245
|
if self.num_pads is not None and self.num_pads > 0:
|
|
245
|
-
X_resp = X_resp[self.num_pads:]
|
|
246
|
-
y = y[self.num_pads:]
|
|
247
|
-
|
|
246
|
+
X_resp = X_resp[self.num_pads :]
|
|
247
|
+
y = y[self.num_pads :]
|
|
248
|
+
|
|
248
249
|
y_pred = self.lin_model.predict(X_resp)
|
|
249
250
|
|
|
250
251
|
# Echo some stats
|
|
251
252
|
if mode == "in_sample":
|
|
252
253
|
stats = self.get_stats(y, y_pred)
|
|
253
254
|
print("In-sample prediction stats:", stats)
|
|
254
|
-
|
|
255
|
+
|
|
255
256
|
return y_pred
|
|
@@ -47,10 +47,14 @@ class LinearRegression(RegressorBase):
|
|
|
47
47
|
|
|
48
48
|
solver_access: Solver access type: cloud or direct; default: cloud.
|
|
49
49
|
|
|
50
|
+
api_url: API URL used when cloud access is used; default: None.
|
|
51
|
+
|
|
52
|
+
api_token: API token used when cloud access is used; default: None.
|
|
53
|
+
|
|
50
54
|
ip_addr: IP address of the device when direct access is used; default: None.
|
|
51
55
|
|
|
52
56
|
port: Port number of the device when direct access is used; default: None.
|
|
53
|
-
|
|
57
|
+
|
|
54
58
|
l2_reg_coef: L2 regularization penalty multiplier; default: 0.
|
|
55
59
|
|
|
56
60
|
alpha: A penalty multiplier to ensure the correct sign of a
|
|
@@ -64,35 +68,39 @@ class LinearRegression(RegressorBase):
|
|
|
64
68
|
>>> X_test = np.array([[6], [7], [8]])
|
|
65
69
|
>>> y_test = np.array([13, 15, 17])
|
|
66
70
|
>>> from eqc_models.ml.regressor import LinearRegression
|
|
67
|
-
>>> from contextlib import redirect_stdout
|
|
71
|
+
>>> from contextlib import redirect_stdout
|
|
68
72
|
>>> import io
|
|
69
73
|
>>> f = io.StringIO()
|
|
70
|
-
>>> with redirect_stdout(f):
|
|
74
|
+
>>> with redirect_stdout(f):
|
|
71
75
|
... model = LinearRegression()
|
|
72
76
|
... model = model.fit(X_train, y_train)
|
|
73
77
|
... y_pred_train = model.predict(X_train)
|
|
74
78
|
... y_pred_test = model.predict(X_test)
|
|
75
79
|
"""
|
|
76
|
-
|
|
80
|
+
|
|
77
81
|
def __init__(
|
|
78
82
|
self,
|
|
79
83
|
relaxation_schedule=2,
|
|
80
84
|
num_samples=1,
|
|
81
85
|
solver_access="cloud",
|
|
86
|
+
api_url=None,
|
|
87
|
+
api_token=None,
|
|
82
88
|
ip_addr=None,
|
|
83
|
-
port=None,
|
|
89
|
+
port=None,
|
|
84
90
|
l2_reg_coef=0,
|
|
85
91
|
alpha=0,
|
|
86
92
|
):
|
|
87
93
|
super(LinearRegression).__init__()
|
|
88
94
|
|
|
89
95
|
assert solver_access in ["cloud", "direct"]
|
|
90
|
-
|
|
96
|
+
|
|
91
97
|
self.relaxation_schedule = relaxation_schedule
|
|
92
98
|
self.num_samples = num_samples
|
|
93
99
|
self.solver_access = solver_access
|
|
100
|
+
self.api_url = api_url
|
|
101
|
+
self.api_token = api_token
|
|
94
102
|
self.ip_addr = ip_addr
|
|
95
|
-
self.port = port
|
|
103
|
+
self.port = port
|
|
96
104
|
self.l2_reg_coef = l2_reg_coef
|
|
97
105
|
self.alpha = alpha
|
|
98
106
|
self.params = None
|
|
@@ -13,25 +13,29 @@ 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
17
|
class RegressorBase(QuadraticModel):
|
|
17
18
|
def __init__(
|
|
18
19
|
self,
|
|
19
20
|
relaxation_schedule=2,
|
|
20
21
|
num_samples=1,
|
|
21
22
|
solver_access="cloud",
|
|
23
|
+
api_url=None,
|
|
24
|
+
api_token=None,
|
|
22
25
|
ip_addr=None,
|
|
23
|
-
port=None,
|
|
26
|
+
port=None,
|
|
24
27
|
):
|
|
25
|
-
|
|
26
28
|
super(self).__init__(None, None, None)
|
|
27
29
|
|
|
28
30
|
assert solver_access in ["cloud", "direct"]
|
|
29
|
-
|
|
31
|
+
|
|
30
32
|
self.relaxation_schedule = relaxation_schedule
|
|
31
33
|
self.num_samples = num_samples
|
|
32
34
|
self.solver_access = solver_access
|
|
35
|
+
self.api_url = api_url
|
|
36
|
+
self.api_token = api_token
|
|
33
37
|
self.ip_addr = ip_addr
|
|
34
|
-
self.port = port
|
|
38
|
+
self.port = port
|
|
35
39
|
self.params = None
|
|
36
40
|
|
|
37
41
|
def predict(self, X: np.array):
|
|
@@ -45,7 +49,6 @@ class RegressorBase(QuadraticModel):
|
|
|
45
49
|
pass
|
|
46
50
|
|
|
47
51
|
def set_model(self, J, C, sum_constraint):
|
|
48
|
-
|
|
49
52
|
# Set hamiltonians
|
|
50
53
|
self._C = C
|
|
51
54
|
self._J = J
|
|
@@ -55,7 +58,7 @@ class RegressorBase(QuadraticModel):
|
|
|
55
58
|
# Set domains
|
|
56
59
|
num_variables = C.shape[0]
|
|
57
60
|
self.domains = sum_constraint * np.ones((num_variables,))
|
|
58
|
-
|
|
61
|
+
|
|
59
62
|
return
|
|
60
63
|
|
|
61
64
|
def solve(self):
|
|
@@ -64,7 +67,8 @@ class RegressorBase(QuadraticModel):
|
|
|
64
67
|
solver.connect(self.ip_addr, self.port)
|
|
65
68
|
else:
|
|
66
69
|
solver = Dirac3CloudSolver()
|
|
67
|
-
|
|
70
|
+
solver.connect(self.api_url, self.api_token)
|
|
71
|
+
|
|
68
72
|
response = solver.solve(
|
|
69
73
|
self,
|
|
70
74
|
sum_constraint=self._sum_constraint,
|
|
@@ -78,12 +82,12 @@ class RegressorBase(QuadraticModel):
|
|
|
78
82
|
elif self.solver_access == "direct":
|
|
79
83
|
energies = response["energy"]
|
|
80
84
|
solutions = response["solution"]
|
|
81
|
-
|
|
85
|
+
|
|
82
86
|
min_id = np.argmin(energies)
|
|
83
87
|
sol = solutions[min_id]
|
|
84
88
|
|
|
85
89
|
print(response)
|
|
86
|
-
|
|
90
|
+
|
|
87
91
|
return sol
|
|
88
92
|
|
|
89
93
|
def convert_sol_to_params(self, sol):
|
|
@@ -91,7 +95,7 @@ class RegressorBase(QuadraticModel):
|
|
|
91
95
|
|
|
92
96
|
def fit(self, X, y):
|
|
93
97
|
return self
|
|
94
|
-
|
|
98
|
+
|
|
95
99
|
def get_dynamic_range(self):
|
|
96
100
|
C = self._C
|
|
97
101
|
J = self._J
|
|
@@ -16,32 +16,34 @@ except ModuleNotFoundError:
|
|
|
16
16
|
"emucore-direct package not available, likely because Python version is 3.11+"
|
|
17
17
|
)
|
|
18
18
|
|
|
19
|
+
|
|
19
20
|
# Parameters
|
|
20
21
|
VBIAS = 0.31
|
|
21
22
|
GAIN = 0.72
|
|
22
23
|
FEATURE_SCALING = 0.1
|
|
23
24
|
DENSITY = 1
|
|
24
25
|
|
|
26
|
+
|
|
25
27
|
class QciReservoir:
|
|
26
28
|
"""
|
|
27
29
|
A class designed as an interface to QCi's reservoir devices.
|
|
28
30
|
|
|
29
31
|
Parameters
|
|
30
32
|
----------
|
|
31
|
-
|
|
33
|
+
|
|
32
34
|
ip_addr: The IP address of the device.
|
|
33
|
-
|
|
35
|
+
|
|
34
36
|
num_nodes: Number of reservoir network nodes.
|
|
35
|
-
|
|
36
|
-
vbias: Bias of the reservoir device; default: 0.31.
|
|
37
|
-
|
|
37
|
+
|
|
38
|
+
vbias: Bias of the reservoir device; default: 0.31.
|
|
39
|
+
|
|
38
40
|
gain: Gain of the reservoir device; default: 0.72.
|
|
39
|
-
|
|
41
|
+
|
|
40
42
|
density: Density used for normalization of the reservoir
|
|
41
43
|
output; default: 1 (no normalization done).
|
|
42
|
-
|
|
44
|
+
|
|
43
45
|
feature_scaling: The factor used to scale the reservoir output; default: 0.1.
|
|
44
|
-
|
|
46
|
+
|
|
45
47
|
device: The QCi reservoir device. Currently only 'EmuCore' is
|
|
46
48
|
supported; default: EmuCore.
|
|
47
49
|
|
|
@@ -68,14 +70,14 @@ class QciReservoir:
|
|
|
68
70
|
self.device = device
|
|
69
71
|
self.client = None
|
|
70
72
|
self.lock_id = None
|
|
71
|
-
|
|
73
|
+
|
|
72
74
|
def init_reservoir(self):
|
|
73
75
|
self.client = EmuCoreClient(ip_addr=self.ip_addr)
|
|
74
|
-
|
|
76
|
+
|
|
75
77
|
self.lock_id, _, _ = self.client.wait_for_lock()
|
|
76
78
|
|
|
77
79
|
self.client.reservoir_reset(lock_id=self.lock_id)
|
|
78
|
-
|
|
80
|
+
|
|
79
81
|
self.client.rc_config(
|
|
80
82
|
lock_id=self.lock_id,
|
|
81
83
|
vbias=self.vbias,
|
|
@@ -86,12 +88,15 @@ class QciReservoir:
|
|
|
86
88
|
|
|
87
89
|
def release_lock(self):
|
|
88
90
|
self.client.release_lock(lock_id=self.lock_id)
|
|
89
|
-
|
|
91
|
+
|
|
90
92
|
def push_reservoir(self, X):
|
|
93
|
+
assert (
|
|
94
|
+
self.client is not None
|
|
95
|
+
), "The reservoir should be initialized!"
|
|
96
|
+
assert (
|
|
97
|
+
self.lock_id is not None
|
|
98
|
+
), "The reservoir should be initialized!"
|
|
91
99
|
|
|
92
|
-
assert self.client is not None, "The reservoir should be initialized!"
|
|
93
|
-
assert self.lock_id is not None, "The reservoir should be initialized!"
|
|
94
|
-
|
|
95
100
|
X_resp, _, _ = self.client.process_all_data(
|
|
96
101
|
input_data=X,
|
|
97
102
|
num_nodes=self.num_nodes,
|
|
@@ -103,19 +108,15 @@ class QciReservoir:
|
|
|
103
108
|
return X_resp
|
|
104
109
|
|
|
105
110
|
def run_reservoir(self, X_train, X_test=None):
|
|
106
|
-
|
|
107
111
|
if X_test is not None:
|
|
108
112
|
assert X_train.shape[1] == X_test.shape[1]
|
|
109
113
|
|
|
110
114
|
num_feas = X_train.shape[1]
|
|
111
115
|
|
|
112
|
-
|
|
113
116
|
X_resp_train = _push_emucore(X_train, lock_id)
|
|
114
117
|
|
|
115
118
|
X_resp_test = None
|
|
116
119
|
if X_test is not None:
|
|
117
120
|
X_resp_test = _push_emucore(X_test, lock_id)
|
|
118
121
|
|
|
119
|
-
|
|
120
|
-
|
|
121
122
|
return X_resp_train, X_resp_test
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eqc-models
|
|
3
|
-
Version: 0.14.
|
|
3
|
+
Version: 0.14.4
|
|
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
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
eqc_models-0.14.4.data/platlib/compile_extensions.py,sha256=ivFZ87WFzBITU7IwK_72C41MDNMortJIF8tKevm2aW4,1946
|
|
2
|
+
eqc_models-0.14.4.data/platlib/eqc_models/__init__.py,sha256=WPUijJz2-4UZU-ZTqBofDc-Yaah24geHdmF16SkwIj4,683
|
|
3
|
+
eqc_models-0.14.4.data/platlib/eqc_models/decoding.py,sha256=G3JgbIFzvZ3DIKW0kZ1JeTMIZmrc8hy9kzdbX2Xv5Og,637
|
|
4
|
+
eqc_models-0.14.4.data/platlib/eqc_models/algorithms/__init__.py,sha256=lzQoMMSs2QTqp5suEYNvcQaSEN16d0LwIsZ1mRstumU,135
|
|
5
|
+
eqc_models-0.14.4.data/platlib/eqc_models/algorithms/base.py,sha256=qfQQTwuVyewn7Qpg1_SVoD_7TsdA8vdwSKGqOeZSmNI,204
|
|
6
|
+
eqc_models-0.14.4.data/platlib/eqc_models/algorithms/penaltymultiplier.py,sha256=8mXF-Gbz9CfLEmZ_jSGVLE8dd0c8ce8fWXfajUllU7I,7844
|
|
7
|
+
eqc_models-0.14.4.data/platlib/eqc_models/allocation/__init__.py,sha256=op_udrapTlWrakTuQId3M0ggo-Y1w4nGJLPcYKOQ-8I,239
|
|
8
|
+
eqc_models-0.14.4.data/platlib/eqc_models/allocation/allocation.py,sha256=PAQn4M75Zegeoy0i6r3hycWs4TKeRglHk05TvwZOoLk,15506
|
|
9
|
+
eqc_models-0.14.4.data/platlib/eqc_models/allocation/portbase.py,sha256=BTnYYduHydPbrE2yQr_Sgv3XJACH_GpIJstuMrfGqCU,3269
|
|
10
|
+
eqc_models-0.14.4.data/platlib/eqc_models/allocation/portmomentum.py,sha256=oMod63rNDC-01dLZjmhUb24SN3_GVgfc6CItgQL_obI,3756
|
|
11
|
+
eqc_models-0.14.4.data/platlib/eqc_models/assignment/__init__.py,sha256=WDlTjWGu75UTxuNUPGNVGoMaYvYILWzZOuS-o72n054,160
|
|
12
|
+
eqc_models-0.14.4.data/platlib/eqc_models/assignment/qap.py,sha256=WMiQQmTORsgi2w7kbmMA1xo-93dESLECWqYTF-zkmTs,2963
|
|
13
|
+
eqc_models-0.14.4.data/platlib/eqc_models/assignment/resource.py,sha256=I0yAKjap2yQNpqDE9k7YoKbzVtsv_PVVpZzkUQuhbAE,6887
|
|
14
|
+
eqc_models-0.14.4.data/platlib/eqc_models/assignment/setpartition.py,sha256=5SQxF_ZlQk4ubWf5_3TgL83k01hAakUP-5AydlD-BvE,161
|
|
15
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/__init__.py,sha256=wKBppDk1lBiDvGOFnNpzu4lh7n4dQiyd_x3lNQJumTw,2952
|
|
16
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/base.py,sha256=3ESnRDa9KrOmyGFtDHP10X-TNBnOaDnBQ549uVcSB34,6721
|
|
17
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/binaries.py,sha256=rS-EUl2vzlDRTvHQ9Qn6SkyXfpyLMik50wh-h_bX5Qs,726
|
|
18
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/constraints.py,sha256=BKTQlkITRE8C-_ix6pVWbIK42RxrLsmzS3e8faD5Y7U,9540
|
|
19
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/operators.py,sha256=9nCeN6fRP-_YBfs-Gm57D-O_376qcOQiqGDuVlSlf00,7392
|
|
20
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/polyeval.c,sha256=Z_8z6pVqFnfA-WT4bs6LWM3zsuopbIkAnhqwOcX2urI,483319
|
|
21
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/polyeval.cpython-310-darwin.so,sha256=U6j9X5hZ0zw6RJBwnBNgxpUy0t3dZMJgP6hA_zbwWAk,109264
|
|
22
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/polyeval.pyx,sha256=76Bf99Jt1_rLh5byrZxAjavE2F4_yCysirViqOBFIXw,2547
|
|
23
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/polynomial.py,sha256=dkRs05mkItOwvWQgZjdAPG93OP3Pkd8jnJ0a2e1t-lU,13846
|
|
24
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/quadratic.py,sha256=IKjd-tL6pQosl217knS_ul2BXpk5a8ZZiSUzvKPg8S8,8082
|
|
25
|
+
eqc_models-0.14.4.data/platlib/eqc_models/base/results.py,sha256=pOX9AuVDRWuinzyw6YMqETmvKlA0-LdYbiEKwX9dYSA,8970
|
|
26
|
+
eqc_models-0.14.4.data/platlib/eqc_models/combinatorics/__init__.py,sha256=BhzcVxwpWu2b4jIe0bmPzD5VmSyzwp0oW2q9iYx2IUs,167
|
|
27
|
+
eqc_models-0.14.4.data/platlib/eqc_models/combinatorics/setcover.py,sha256=T5hXoE9Ecw3mTHPLmifBwTzpF_4MhoCUgo2rkSOWt5s,3396
|
|
28
|
+
eqc_models-0.14.4.data/platlib/eqc_models/combinatorics/setpartition.py,sha256=ZD69kgEYSU3KWnx0b4MVCP8XSxbA_VCXOW22_Yssl_M,6254
|
|
29
|
+
eqc_models-0.14.4.data/platlib/eqc_models/graph/__init__.py,sha256=mpueOOcKklmtw1A3yUsjFNXU5DJ5XnItmGJKapaBLPg,392
|
|
30
|
+
eqc_models-0.14.4.data/platlib/eqc_models/graph/base.py,sha256=K9d7hLgLuBtywEdK9Rz1dUV70Xtf-oVrwqtHyzXK7k4,2117
|
|
31
|
+
eqc_models-0.14.4.data/platlib/eqc_models/graph/hypergraph.py,sha256=ABvutT0NOdIEpUF4TjUzboE4Y_J5iUZyj6-AzKr4R28,13268
|
|
32
|
+
eqc_models-0.14.4.data/platlib/eqc_models/graph/maxcut.py,sha256=o8xVsAwTa9jcpmsIoCQ5z7HSstVdraT8TENomdT519o,4132
|
|
33
|
+
eqc_models-0.14.4.data/platlib/eqc_models/graph/maxkcut.py,sha256=rEDBjto2MbuPh4c0RwTOZoVffKgcriqHNOZAIuBlclQ,4654
|
|
34
|
+
eqc_models-0.14.4.data/platlib/eqc_models/graph/partition.py,sha256=HMpRRipLp14x8pHucY-g6fU7v0PGoy1pf_KpzbanfD0,5800
|
|
35
|
+
eqc_models-0.14.4.data/platlib/eqc_models/graph/rcshortestpath.py,sha256=g5sy8pRk6c5x4nHVrs9vd0DjDxqlaLDkSytsiIp1hRw,3127
|
|
36
|
+
eqc_models-0.14.4.data/platlib/eqc_models/graph/shortestpath.py,sha256=p0NMGQt9pGbRQwu2pSIXXetSJfHB9K7K0rXP5JvDpQE,6443
|
|
37
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/__init__.py,sha256=CLfraacr0FrD5ynxlNB6cyNy0lpbavcQT45TvkDrNvY,369
|
|
38
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/classifierbase.py,sha256=-AWHbSG6taL-qntU1zgOxHaafSoLOJQiMtyLiAyMecw,2962
|
|
39
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/classifierqboost.py,sha256=TXkM34zChHc2YFUnacbizFwIGmuDNjBTVrXjDMxb4Jo,20973
|
|
40
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/classifierqsvm.py,sha256=f-3uR1F9LrWO2eJclFBFpkLExqK5HtlFoqmU_2LlkTg,12532
|
|
41
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/clustering.py,sha256=L9P-j754Zii45REYlWoPr49Ao4jI3pAxtkumsy4pXVM,10883
|
|
42
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/clusteringbase.py,sha256=9tp7rxOeQQLwT_TDXt4AJEIg7P_9QaNBhCE_6ywo06A,3628
|
|
43
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx,sha256=3PMmEJ_xfmmWXGfire0t-WASnmKj6-CblufgQ2NTARo,2111
|
|
44
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.c,sha256=ZoKgm_uGjTewhk4W6s-x8QoFuZO0KVkxILIFh6JKsoI,1851
|
|
45
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.h,sha256=aOImMG5pziUnZxGpDXyWjLrvcY7ZdsczwwSQ2ay4T88,272
|
|
46
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/decomposition.py,sha256=k2KMVK66fYzf1K06QJj7fb1lEKEph-8s_y3dSTq_jKY,11420
|
|
47
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/forecast.py,sha256=PR5oIRXpz-Xfo5rCfPftkMXPiDOXlBJ4XQC8P56soQo,7235
|
|
48
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/forecastbase.py,sha256=zaDAFvTJhViOTG6w01-gImlRadjRmdGGHYTbKWt9xGk,3655
|
|
49
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/regressor.py,sha256=5KhI-V5hqG5zt-jyBN_XyaI5y3GkIB0_JQ-yhcxcq20,6387
|
|
50
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/regressorbase.py,sha256=j803xMwvoBMaq1wUkY8z8r9zGYp-Xmhs5_7PZlHJS5o,2886
|
|
51
|
+
eqc_models-0.14.4.data/platlib/eqc_models/ml/reservoir.py,sha256=vs_YMD_cN52QpCVWXMrLB4sOhHurWBs-F4GsKryAKCc,3319
|
|
52
|
+
eqc_models-0.14.4.data/platlib/eqc_models/process/base.py,sha256=QmwbPRc9w9Yr7cwPvdnV6LBdgajif_8WGYGfwApvO34,443
|
|
53
|
+
eqc_models-0.14.4.data/platlib/eqc_models/process/mpc.py,sha256=V7RlA6t08IayV-VKkpK4mC01Lvk3ZTD-HlFYk60snks,645
|
|
54
|
+
eqc_models-0.14.4.data/platlib/eqc_models/sequence/__init__.py,sha256=VXlYufO3GYFsM00oii9Cite2WsQEF8XTwRcjLPH_Zlg,92
|
|
55
|
+
eqc_models-0.14.4.data/platlib/eqc_models/sequence/tsp.py,sha256=YM641FTyK5NkgRGxHrU1QmMkEU0gf77nEmIElTqa6Qw,7680
|
|
56
|
+
eqc_models-0.14.4.data/platlib/eqc_models/solvers/__init__.py,sha256=uC1fL2y-S_XwxnuN_ln-Tk3UvF4PGUKN_YolqnQZWDs,676
|
|
57
|
+
eqc_models-0.14.4.data/platlib/eqc_models/solvers/eqcdirect.py,sha256=dq0QjJhQcljCZr8FKTfPpheOfsb7ly3E28fXT-KYLE8,2875
|
|
58
|
+
eqc_models-0.14.4.data/platlib/eqc_models/solvers/mip.py,sha256=SvET_HzspqY3JoH_fnZSoU-wtBS0YXE9C9kpvE9TJHs,5358
|
|
59
|
+
eqc_models-0.14.4.data/platlib/eqc_models/solvers/qciclient.py,sha256=ore3YcZ9GAoLfdkYQUgo7XLU1WKvobHzl22DuwINWj8,26677
|
|
60
|
+
eqc_models-0.14.4.data/platlib/eqc_models/solvers/responselog.py,sha256=Vl0ZDYixwH2OnuCECP-TRwJ6PGfvPodWUgpvYOvYzRk,1735
|
|
61
|
+
eqc_models-0.14.4.data/platlib/eqc_models/utilities/__init__.py,sha256=6CpihFOS9_TVoR-9DBARUCb7aCwBTgA7hs3aW38rFkg,404
|
|
62
|
+
eqc_models-0.14.4.data/platlib/eqc_models/utilities/fileio.py,sha256=alWPTfjGFx6Iio9HZAAWtYcLmZsBBifg6S6_YbFMQhk,1088
|
|
63
|
+
eqc_models-0.14.4.data/platlib/eqc_models/utilities/general.py,sha256=mHOG0rSxk8icd4ij5DWKxlZuki4mBggZyEA94P-bSlo,2564
|
|
64
|
+
eqc_models-0.14.4.data/platlib/eqc_models/utilities/polynomial.py,sha256=blXfu7Ehz9lT4nEmIinRzJOL27_qUHSbQ57zxmwDJCA,4735
|
|
65
|
+
eqc_models-0.14.4.data/platlib/eqc_models/utilities/qplib.py,sha256=jZ9Yvw1XBThZKCD-rocrVrDtAafiYMuDv7LAv8Omjyo,15803
|
|
66
|
+
eqc_models-0.14.4.dist-info/licenses/LICENSE.txt,sha256=8eh0oqsNNVR1Jk-13gkqRRSo2axtUU5kp2KzH4f9u3U,11354
|
|
67
|
+
eqc_models-0.14.4.dist-info/METADATA,sha256=2b0A_G7-rbweagRUDhJHsiNHrwyvCDGHeDeTXt--Vm0,7199
|
|
68
|
+
eqc_models-0.14.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
69
|
+
eqc_models-0.14.4.dist-info/top_level.txt,sha256=9ZfFeKNEvkRlKWoUnfcZ9TzmTdgdsuPEnTPy11Hqf4Q,30
|
|
70
|
+
eqc_models-0.14.4.dist-info/RECORD,,
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
eqc_models-0.14.3.data/platlib/compile_extensions.py,sha256=ivFZ87WFzBITU7IwK_72C41MDNMortJIF8tKevm2aW4,1946
|
|
2
|
-
eqc_models-0.14.3.data/platlib/eqc_models/__init__.py,sha256=WPUijJz2-4UZU-ZTqBofDc-Yaah24geHdmF16SkwIj4,683
|
|
3
|
-
eqc_models-0.14.3.data/platlib/eqc_models/decoding.py,sha256=G3JgbIFzvZ3DIKW0kZ1JeTMIZmrc8hy9kzdbX2Xv5Og,637
|
|
4
|
-
eqc_models-0.14.3.data/platlib/eqc_models/algorithms/__init__.py,sha256=lzQoMMSs2QTqp5suEYNvcQaSEN16d0LwIsZ1mRstumU,135
|
|
5
|
-
eqc_models-0.14.3.data/platlib/eqc_models/algorithms/base.py,sha256=qfQQTwuVyewn7Qpg1_SVoD_7TsdA8vdwSKGqOeZSmNI,204
|
|
6
|
-
eqc_models-0.14.3.data/platlib/eqc_models/algorithms/penaltymultiplier.py,sha256=8mXF-Gbz9CfLEmZ_jSGVLE8dd0c8ce8fWXfajUllU7I,7844
|
|
7
|
-
eqc_models-0.14.3.data/platlib/eqc_models/allocation/__init__.py,sha256=op_udrapTlWrakTuQId3M0ggo-Y1w4nGJLPcYKOQ-8I,239
|
|
8
|
-
eqc_models-0.14.3.data/platlib/eqc_models/allocation/allocation.py,sha256=PAQn4M75Zegeoy0i6r3hycWs4TKeRglHk05TvwZOoLk,15506
|
|
9
|
-
eqc_models-0.14.3.data/platlib/eqc_models/allocation/portbase.py,sha256=BTnYYduHydPbrE2yQr_Sgv3XJACH_GpIJstuMrfGqCU,3269
|
|
10
|
-
eqc_models-0.14.3.data/platlib/eqc_models/allocation/portmomentum.py,sha256=oMod63rNDC-01dLZjmhUb24SN3_GVgfc6CItgQL_obI,3756
|
|
11
|
-
eqc_models-0.14.3.data/platlib/eqc_models/assignment/__init__.py,sha256=WDlTjWGu75UTxuNUPGNVGoMaYvYILWzZOuS-o72n054,160
|
|
12
|
-
eqc_models-0.14.3.data/platlib/eqc_models/assignment/qap.py,sha256=WMiQQmTORsgi2w7kbmMA1xo-93dESLECWqYTF-zkmTs,2963
|
|
13
|
-
eqc_models-0.14.3.data/platlib/eqc_models/assignment/resource.py,sha256=I0yAKjap2yQNpqDE9k7YoKbzVtsv_PVVpZzkUQuhbAE,6887
|
|
14
|
-
eqc_models-0.14.3.data/platlib/eqc_models/assignment/setpartition.py,sha256=5SQxF_ZlQk4ubWf5_3TgL83k01hAakUP-5AydlD-BvE,161
|
|
15
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/__init__.py,sha256=wKBppDk1lBiDvGOFnNpzu4lh7n4dQiyd_x3lNQJumTw,2952
|
|
16
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/base.py,sha256=3ESnRDa9KrOmyGFtDHP10X-TNBnOaDnBQ549uVcSB34,6721
|
|
17
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/binaries.py,sha256=rS-EUl2vzlDRTvHQ9Qn6SkyXfpyLMik50wh-h_bX5Qs,726
|
|
18
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/constraints.py,sha256=BKTQlkITRE8C-_ix6pVWbIK42RxrLsmzS3e8faD5Y7U,9540
|
|
19
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/operators.py,sha256=9nCeN6fRP-_YBfs-Gm57D-O_376qcOQiqGDuVlSlf00,7392
|
|
20
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/polyeval.c,sha256=KFlJ_591QXbr5j7fj7ms9bxhfm-3maEQK8ofAAAX7-M,483319
|
|
21
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/polyeval.cpython-310-darwin.so,sha256=he0uBV2PNQ6AoXMizHz7tvXwIWfCbAhRJglB0WNfG-Q,109264
|
|
22
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/polyeval.pyx,sha256=76Bf99Jt1_rLh5byrZxAjavE2F4_yCysirViqOBFIXw,2547
|
|
23
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/polynomial.py,sha256=dkRs05mkItOwvWQgZjdAPG93OP3Pkd8jnJ0a2e1t-lU,13846
|
|
24
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/quadratic.py,sha256=IKjd-tL6pQosl217knS_ul2BXpk5a8ZZiSUzvKPg8S8,8082
|
|
25
|
-
eqc_models-0.14.3.data/platlib/eqc_models/base/results.py,sha256=pOX9AuVDRWuinzyw6YMqETmvKlA0-LdYbiEKwX9dYSA,8970
|
|
26
|
-
eqc_models-0.14.3.data/platlib/eqc_models/combinatorics/__init__.py,sha256=BhzcVxwpWu2b4jIe0bmPzD5VmSyzwp0oW2q9iYx2IUs,167
|
|
27
|
-
eqc_models-0.14.3.data/platlib/eqc_models/combinatorics/setcover.py,sha256=T5hXoE9Ecw3mTHPLmifBwTzpF_4MhoCUgo2rkSOWt5s,3396
|
|
28
|
-
eqc_models-0.14.3.data/platlib/eqc_models/combinatorics/setpartition.py,sha256=ZD69kgEYSU3KWnx0b4MVCP8XSxbA_VCXOW22_Yssl_M,6254
|
|
29
|
-
eqc_models-0.14.3.data/platlib/eqc_models/graph/__init__.py,sha256=mpueOOcKklmtw1A3yUsjFNXU5DJ5XnItmGJKapaBLPg,392
|
|
30
|
-
eqc_models-0.14.3.data/platlib/eqc_models/graph/base.py,sha256=K9d7hLgLuBtywEdK9Rz1dUV70Xtf-oVrwqtHyzXK7k4,2117
|
|
31
|
-
eqc_models-0.14.3.data/platlib/eqc_models/graph/hypergraph.py,sha256=ABvutT0NOdIEpUF4TjUzboE4Y_J5iUZyj6-AzKr4R28,13268
|
|
32
|
-
eqc_models-0.14.3.data/platlib/eqc_models/graph/maxcut.py,sha256=o8xVsAwTa9jcpmsIoCQ5z7HSstVdraT8TENomdT519o,4132
|
|
33
|
-
eqc_models-0.14.3.data/platlib/eqc_models/graph/maxkcut.py,sha256=rEDBjto2MbuPh4c0RwTOZoVffKgcriqHNOZAIuBlclQ,4654
|
|
34
|
-
eqc_models-0.14.3.data/platlib/eqc_models/graph/partition.py,sha256=HMpRRipLp14x8pHucY-g6fU7v0PGoy1pf_KpzbanfD0,5800
|
|
35
|
-
eqc_models-0.14.3.data/platlib/eqc_models/graph/rcshortestpath.py,sha256=g5sy8pRk6c5x4nHVrs9vd0DjDxqlaLDkSytsiIp1hRw,3127
|
|
36
|
-
eqc_models-0.14.3.data/platlib/eqc_models/graph/shortestpath.py,sha256=p0NMGQt9pGbRQwu2pSIXXetSJfHB9K7K0rXP5JvDpQE,6443
|
|
37
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/__init__.py,sha256=CLfraacr0FrD5ynxlNB6cyNy0lpbavcQT45TvkDrNvY,369
|
|
38
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/classifierbase.py,sha256=IJxHMVnF7L2ClYI5b-gshs1q1t0apz5yWQtmEFSbR8E,2856
|
|
39
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/classifierqboost.py,sha256=WUwfd5BAnJ6p6DTnNI7NjLjuT5xLlkRGeGxz5ZrqzFM,20753
|
|
40
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/classifierqsvm.py,sha256=ELKAdOMExeNjJIJCHd28bf7xQYBI2TpQDGkifldThkU,12120
|
|
41
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/clustering.py,sha256=wdzJVZwXKoK1L2QHhF0WiAjGDzDNfuoqcmNd46x7qqY,10503
|
|
42
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/clusteringbase.py,sha256=BbhyJfUpe5EgcCquz64qahK3HISsaQcEI2N6G64FJQU,3514
|
|
43
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx,sha256=3PMmEJ_xfmmWXGfire0t-WASnmKj6-CblufgQ2NTARo,2111
|
|
44
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.c,sha256=ZoKgm_uGjTewhk4W6s-x8QoFuZO0KVkxILIFh6JKsoI,1851
|
|
45
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.h,sha256=aOImMG5pziUnZxGpDXyWjLrvcY7ZdsczwwSQ2ay4T88,272
|
|
46
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/decomposition.py,sha256=sDvJmHMqHbdRKnfIN1DV3h9qmiH38NMAdJW3SZP7xEg,10992
|
|
47
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/forecast.py,sha256=fFcBxQK9ZryfEuyvlr9HXicHoZRzLFybimYYttzhI9E,7403
|
|
48
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/forecastbase.py,sha256=s-6nUMvtYqG07r7MmmkFVj8_QqgeGkD-HVoEEDTE2bk,3654
|
|
49
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/regressor.py,sha256=cF9L5MjoFKkdcKs3bCm6qaSzvSDiSIi1JtJeZE974hw,6174
|
|
50
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/regressorbase.py,sha256=a5PMOEOxIOkpYwvrkReh_edgAcjBm6e3lR6petNkqTg,2798
|
|
51
|
-
eqc_models-0.14.3.data/platlib/eqc_models/ml/reservoir.py,sha256=HDY-diloMevbtNDjKPoDJmx37NGxwBOI7d8Y-8KeGfA,3375
|
|
52
|
-
eqc_models-0.14.3.data/platlib/eqc_models/process/base.py,sha256=QmwbPRc9w9Yr7cwPvdnV6LBdgajif_8WGYGfwApvO34,443
|
|
53
|
-
eqc_models-0.14.3.data/platlib/eqc_models/process/mpc.py,sha256=V7RlA6t08IayV-VKkpK4mC01Lvk3ZTD-HlFYk60snks,645
|
|
54
|
-
eqc_models-0.14.3.data/platlib/eqc_models/sequence/__init__.py,sha256=VXlYufO3GYFsM00oii9Cite2WsQEF8XTwRcjLPH_Zlg,92
|
|
55
|
-
eqc_models-0.14.3.data/platlib/eqc_models/sequence/tsp.py,sha256=YM641FTyK5NkgRGxHrU1QmMkEU0gf77nEmIElTqa6Qw,7680
|
|
56
|
-
eqc_models-0.14.3.data/platlib/eqc_models/solvers/__init__.py,sha256=uC1fL2y-S_XwxnuN_ln-Tk3UvF4PGUKN_YolqnQZWDs,676
|
|
57
|
-
eqc_models-0.14.3.data/platlib/eqc_models/solvers/eqcdirect.py,sha256=dq0QjJhQcljCZr8FKTfPpheOfsb7ly3E28fXT-KYLE8,2875
|
|
58
|
-
eqc_models-0.14.3.data/platlib/eqc_models/solvers/mip.py,sha256=SvET_HzspqY3JoH_fnZSoU-wtBS0YXE9C9kpvE9TJHs,5358
|
|
59
|
-
eqc_models-0.14.3.data/platlib/eqc_models/solvers/qciclient.py,sha256=ore3YcZ9GAoLfdkYQUgo7XLU1WKvobHzl22DuwINWj8,26677
|
|
60
|
-
eqc_models-0.14.3.data/platlib/eqc_models/solvers/responselog.py,sha256=Vl0ZDYixwH2OnuCECP-TRwJ6PGfvPodWUgpvYOvYzRk,1735
|
|
61
|
-
eqc_models-0.14.3.data/platlib/eqc_models/utilities/__init__.py,sha256=6CpihFOS9_TVoR-9DBARUCb7aCwBTgA7hs3aW38rFkg,404
|
|
62
|
-
eqc_models-0.14.3.data/platlib/eqc_models/utilities/fileio.py,sha256=alWPTfjGFx6Iio9HZAAWtYcLmZsBBifg6S6_YbFMQhk,1088
|
|
63
|
-
eqc_models-0.14.3.data/platlib/eqc_models/utilities/general.py,sha256=mHOG0rSxk8icd4ij5DWKxlZuki4mBggZyEA94P-bSlo,2564
|
|
64
|
-
eqc_models-0.14.3.data/platlib/eqc_models/utilities/polynomial.py,sha256=blXfu7Ehz9lT4nEmIinRzJOL27_qUHSbQ57zxmwDJCA,4735
|
|
65
|
-
eqc_models-0.14.3.data/platlib/eqc_models/utilities/qplib.py,sha256=jZ9Yvw1XBThZKCD-rocrVrDtAafiYMuDv7LAv8Omjyo,15803
|
|
66
|
-
eqc_models-0.14.3.dist-info/licenses/LICENSE.txt,sha256=8eh0oqsNNVR1Jk-13gkqRRSo2axtUU5kp2KzH4f9u3U,11354
|
|
67
|
-
eqc_models-0.14.3.dist-info/METADATA,sha256=iclS-ivsPrJlZ9LkbDgjLIIIEWzDN5lbNI0d2C-0B94,7199
|
|
68
|
-
eqc_models-0.14.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
69
|
-
eqc_models-0.14.3.dist-info/top_level.txt,sha256=9ZfFeKNEvkRlKWoUnfcZ9TzmTdgdsuPEnTPy11Hqf4Q,30
|
|
70
|
-
eqc_models-0.14.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/algorithms/penaltymultiplier.py
RENAMED
|
File without changes
|
|
File without changes
|
{eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/allocation/allocation.py
RENAMED
|
File without changes
|
|
File without changes
|
{eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/allocation/portmomentum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eqc_models-0.14.3.data → eqc_models-0.14.4.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
|
|
File without changes
|
{eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/combinatorics/__init__.py
RENAMED
|
File without changes
|
{eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/combinatorics/setcover.py
RENAMED
|
File without changes
|
{eqc_models-0.14.3.data → eqc_models-0.14.4.data}/platlib/eqc_models/combinatorics/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
|